diff --git a/docker-compose.yaml b/docker-compose.yaml index 04f93c2..2b0d177 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -19,4 +19,4 @@ services: --python_out=../python/naas_models \ --go_out=../go \ --validate_out="lang=go:../go" \ - space.proto registry.proto iam.proto aimodel.proto chat.proto credit.proto secret.proto storage.proto workspace.proto asset.proto errors.proto validate.proto ontology.proto common.proto \ No newline at end of file + space.proto registry.proto iam.proto aimodel.proto chat.proto credit.proto secret.proto storage.proto workspace.proto asset.proto errors.proto validate.proto ontology.proto common.proto p2p_validate.proto \ No newline at end of file diff --git a/go/github.com/jupyter-naas/naas-models/go/ontology/ontology.pb.go b/go/github.com/jupyter-naas/naas-models/go/ontology/ontology.pb.go index e59bc55..73e511b 100644 --- a/go/github.com/jupyter-naas/naas-models/go/ontology/ontology.pb.go +++ b/go/github.com/jupyter-naas/naas-models/go/ontology/ontology.pb.go @@ -10,6 +10,7 @@ import ( _ "github.com/envoyproxy/protoc-gen-validate/validate" common "github.com/jupyter-naas/naas-models/go/common" errors "github.com/jupyter-naas/naas-models/go/errors" + _ "github.com/jupyter-naas/naas-models/go/p2p_validate" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -28,7 +29,7 @@ type Ontology struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` WorkspaceId *string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"` Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` Source *string `protobuf:"bytes,4,opt,name=source,proto3,oneof" json:"source,omitempty"` @@ -66,8 +67,8 @@ func (*Ontology) Descriptor() ([]byte, []int) { } func (x *Ontology) GetId() string { - if x != nil && x.Id != nil { - return *x.Id + if x != nil { + return x.Id } return "" } @@ -105,7 +106,7 @@ type OntologySummary struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` WorkspaceId *string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"` Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` DownloadUrl *string `protobuf:"bytes,4,opt,name=download_url,json=downloadUrl,proto3,oneof" json:"download_url,omitempty"` @@ -142,8 +143,8 @@ func (*OntologySummary) Descriptor() ([]byte, []int) { } func (x *OntologySummary) GetId() string { - if x != nil && x.Id != nil { - return *x.Id + if x != nil { + return x.Id } return "" } @@ -174,9 +175,9 @@ type OntologyCreation struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WorkspaceId *string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"` - Label *string `protobuf:"bytes,2,opt,name=label,proto3,oneof" json:"label,omitempty"` - Source *string `protobuf:"bytes,3,opt,name=source,proto3,oneof" json:"source,omitempty"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` DownloadUrl *string `protobuf:"bytes,4,opt,name=download_url,json=downloadUrl,proto3,oneof" json:"download_url,omitempty"` } @@ -211,22 +212,22 @@ func (*OntologyCreation) Descriptor() ([]byte, []int) { } func (x *OntologyCreation) GetWorkspaceId() string { - if x != nil && x.WorkspaceId != nil { - return *x.WorkspaceId + if x != nil { + return x.WorkspaceId } return "" } func (x *OntologyCreation) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label + if x != nil { + return x.Label } return "" } func (x *OntologyCreation) GetSource() string { - if x != nil && x.Source != nil { - return *x.Source + if x != nil { + return x.Source } return "" } @@ -243,12 +244,12 @@ type OntologyUpdate struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` WorkspaceId *string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"` Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` Source *string `protobuf:"bytes,4,opt,name=source,proto3,oneof" json:"source,omitempty"` DownloadUrl *string `protobuf:"bytes,5,opt,name=download_url,json=downloadUrl,proto3,oneof" json:"download_url,omitempty"` - FieldMask *common.FieldMask `protobuf:"bytes,100,opt,name=field_mask,json=fieldMask,proto3,oneof" json:"field_mask,omitempty"` + FieldMask *common.FieldMask `protobuf:"bytes,100,opt,name=field_mask,json=fieldMask,proto3" json:"field_mask,omitempty"` } func (x *OntologyUpdate) Reset() { @@ -282,8 +283,8 @@ func (*OntologyUpdate) Descriptor() ([]byte, []int) { } func (x *OntologyUpdate) GetId() string { - if x != nil && x.Id != nil { - return *x.Id + if x != nil { + return x.Id } return "" } @@ -328,9 +329,9 @@ type OntologyListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WorkspaceId *string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"` - PageSize *int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3,oneof" json:"page_size,omitempty"` - PageNumber *int32 `protobuf:"varint,3,opt,name=page_number,json=pageNumber,proto3,oneof" json:"page_number,omitempty"` + WorkspaceId string `protobuf:"bytes,1,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageNumber int32 `protobuf:"varint,3,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"` } func (x *OntologyListRequest) Reset() { @@ -364,22 +365,22 @@ func (*OntologyListRequest) Descriptor() ([]byte, []int) { } func (x *OntologyListRequest) GetWorkspaceId() string { - if x != nil && x.WorkspaceId != nil { - return *x.WorkspaceId + if x != nil { + return x.WorkspaceId } return "" } func (x *OntologyListRequest) GetPageSize() int32 { - if x != nil && x.PageSize != nil { - return *x.PageSize + if x != nil { + return x.PageSize } return 0 } func (x *OntologyListRequest) GetPageNumber() int32 { - if x != nil && x.PageNumber != nil { - return *x.PageNumber + if x != nil { + return x.PageNumber } return 0 } @@ -442,7 +443,7 @@ type OntologyGetRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` WorkspaceId *string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"` } @@ -477,8 +478,8 @@ func (*OntologyGetRequest) Descriptor() ([]byte, []int) { } func (x *OntologyGetRequest) GetId() string { - if x != nil && x.Id != nil { - return *x.Id + if x != nil { + return x.Id } return "" } @@ -646,7 +647,7 @@ type OntologyUpdateRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ontology *OntologyUpdate `protobuf:"bytes,1,opt,name=ontology,proto3,oneof" json:"ontology,omitempty"` + Ontology *OntologyUpdate `protobuf:"bytes,1,opt,name=ontology,proto3" json:"ontology,omitempty"` } func (x *OntologyUpdateRequest) Reset() { @@ -744,8 +745,8 @@ type OntologyDeletionRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` - WorkspaceId *string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + WorkspaceId string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` } func (x *OntologyDeletionRequest) Reset() { @@ -779,15 +780,15 @@ func (*OntologyDeletionRequest) Descriptor() ([]byte, []int) { } func (x *OntologyDeletionRequest) GetId() string { - if x != nil && x.Id != nil { - return *x.Id + if x != nil { + return x.Id } return "" } func (x *OntologyDeletionRequest) GetWorkspaceId() string { - if x != nil && x.WorkspaceId != nil { - return *x.WorkspaceId + if x != nil { + return x.WorkspaceId } return "" } @@ -842,186 +843,177 @@ var File_ontology_proto protoreflect.FileDescriptor var file_ontology_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x1a, 0x0e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x01, 0x0a, 0x08, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, - 0x6f, 0x67, 0x79, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x48, 0x01, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, - 0x6c, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, - 0x72, 0x6c, 0x22, 0xd8, 0x01, 0x0a, 0x0f, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x01, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, - 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, - 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xf0, 0x01, - 0x0a, 0x10, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xff, 0x01, 0x48, - 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x48, 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, - 0x22, 0xc5, 0x02, 0x0a, 0x0e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x48, 0x01, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x05, 0x52, 0x09, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xbe, 0x01, 0x0a, 0x13, 0x4f, 0x6e, 0x74, - 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x48, 0x00, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8d, 0x01, 0x0a, 0x14, 0x4f, 0x6e, - 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0a, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x69, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, - 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x52, 0x0a, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x7d, 0x0a, 0x12, 0x4f, 0x6e, 0x74, - 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x30, - 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x01, - 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x13, 0x4f, 0x6e, 0x74, - 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x30, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x33, 0x0a, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, - 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x48, 0x01, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, - 0x6c, 0x6f, 0x67, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x51, - 0x0a, 0x17, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x6f, 0x6e, 0x74, - 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x6e, - 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, - 0x79, 0x22, 0x98, 0x01, 0x0a, 0x18, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x33, 0x0a, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, - 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x48, 0x01, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, - 0x67, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x5f, 0x0a, 0x15, - 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, - 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x88, 0x01, 0x01, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x96, 0x01, - 0x0a, 0x16, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x08, 0x6f, 0x6e, - 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, - 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, - 0x48, 0x01, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x88, 0x01, 0x01, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x6e, - 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x82, 0x01, 0x0a, 0x17, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, - 0x6f, 0x67, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x70, 0x32, 0x70, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x01, 0x0a, 0x08, 0x4f, + 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x48, 0x01, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x22, 0x56, 0x0a, 0x18, 0x4f, - 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x01, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, + 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x4f, + 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x18, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, + 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xd3, 0x01, 0x0a, 0x10, 0x4f, 0x6e, + 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, + 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x8a, 0x43, + 0x05, 0x72, 0x03, 0x98, 0x02, 0x01, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x12, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xff, 0x01, 0x8a, 0x43, + 0x05, 0x72, 0x03, 0x98, 0x02, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x27, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x8a, 0x43, 0x05, 0x72, 0x03, 0x98, 0x02, 0x01, 0x52, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x22, + 0xad, 0x02, 0x0a, 0x0e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x12, 0x20, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, + 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x8a, 0x43, 0x05, 0x72, 0x03, 0x98, 0x02, 0x01, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, + 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, + 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x09, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x22, + 0xac, 0x01, 0x0a, 0x13, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xfa, + 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x8a, 0x43, 0x05, 0x72, 0x03, 0x98, 0x02, 0x01, 0x52, + 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x11, 0xfa, 0x42, 0x06, 0x1a, 0x04, 0x18, 0x64, 0x28, 0x01, 0x8a, 0x43, 0x05, 0x1a, 0x03, 0xa8, + 0x01, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x30, 0x0a, 0x0b, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x42, 0x0f, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x00, 0x8a, 0x43, 0x05, 0x1a, 0x03, 0xa8, + 0x01, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8d, + 0x01, 0x0a, 0x14, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x32, 0x95, 0x03, 0x0a, 0x0f, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x1d, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, - 0x6f, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, - 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, - 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x44, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, - 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, - 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x12, 0x21, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, - 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0a, 0x6f, 0x6e, 0x74, + 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, + 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0a, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, + 0x67, 0x69, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x71, + 0x0a, 0x12, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, + 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, + 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x22, 0x93, 0x01, 0x0a, 0x13, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, + 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x08, 0x6f, + 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, + 0x79, 0x48, 0x01, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x88, 0x01, 0x01, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, + 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x51, 0x0a, 0x17, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, + 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, + 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x98, 0x01, 0x0a, 0x18, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x06, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, - 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, - 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, - 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, - 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x31, 0x5a, 0x2f, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x75, 0x70, 0x79, 0x74, 0x65, - 0x72, 0x2d, 0x6e, 0x61, 0x61, 0x73, 0x2f, 0x6e, 0x61, 0x61, 0x73, 0x2d, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x08, 0x6f, 0x6e, 0x74, + 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x6e, + 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x48, + 0x01, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x6e, 0x74, + 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x4d, 0x0a, 0x15, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, + 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, + 0x0a, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, + 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, + 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, + 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x33, 0x0a, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, + 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x48, 0x01, 0x52, 0x08, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, + 0x6f, 0x67, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x22, 0x60, 0x0a, + 0x17, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0xb0, + 0x01, 0x01, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, + 0x56, 0x0a, 0x18, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x32, 0x95, 0x03, 0x0a, 0x0f, 0x4f, 0x6e, 0x74, 0x6f, + 0x6c, 0x6f, 0x67, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, + 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, + 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x6e, + 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, + 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x06, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, + 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, + 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, + 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, + 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, + 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, + 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6f, 0x6e, 0x74, 0x6f, + 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x4f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, + 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x75, + 0x70, 0x79, 0x74, 0x65, 0x72, 0x2d, 0x6e, 0x61, 0x61, 0x73, 0x2f, 0x6e, 0x61, 0x61, 0x73, 0x2d, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x6f, 0x6e, 0x74, 0x6f, 0x6c, 0x6f, + 0x67, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1094,14 +1086,11 @@ func file_ontology_proto_init() { file_ontology_proto_msgTypes[1].OneofWrappers = []any{} file_ontology_proto_msgTypes[2].OneofWrappers = []any{} file_ontology_proto_msgTypes[3].OneofWrappers = []any{} - file_ontology_proto_msgTypes[4].OneofWrappers = []any{} file_ontology_proto_msgTypes[5].OneofWrappers = []any{} file_ontology_proto_msgTypes[6].OneofWrappers = []any{} file_ontology_proto_msgTypes[7].OneofWrappers = []any{} file_ontology_proto_msgTypes[9].OneofWrappers = []any{} - file_ontology_proto_msgTypes[10].OneofWrappers = []any{} file_ontology_proto_msgTypes[11].OneofWrappers = []any{} - file_ontology_proto_msgTypes[12].OneofWrappers = []any{} file_ontology_proto_msgTypes[13].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ diff --git a/go/github.com/jupyter-naas/naas-models/go/ontology/ontology.pb.validate.go b/go/github.com/jupyter-naas/naas-models/go/ontology/ontology.pb.validate.go index c72c8f1..4dcbe38 100644 --- a/go/github.com/jupyter-naas/naas-models/go/ontology/ontology.pb.validate.go +++ b/go/github.com/jupyter-naas/naas-models/go/ontology/ontology.pb.validate.go @@ -60,20 +60,16 @@ func (m *Ontology) validate(all bool) error { var errors []error - if m.Id != nil { - - if err := m._validateUuid(m.GetId()); err != nil { - err = OntologyValidationError{ - field: "Id", - reason: "value must be a valid UUID", - cause: err, - } - if !all { - return err - } - errors = append(errors, err) + if err := m._validateUuid(m.GetId()); err != nil { + err = OntologyValidationError{ + field: "Id", + reason: "value must be a valid UUID", + cause: err, } - + if !all { + return err + } + errors = append(errors, err) } if m.WorkspaceId != nil { @@ -211,20 +207,16 @@ func (m *OntologySummary) validate(all bool) error { var errors []error - if m.Id != nil { - - if err := m._validateUuid(m.GetId()); err != nil { - err = OntologySummaryValidationError{ - field: "Id", - reason: "value must be a valid UUID", - cause: err, - } - if !all { - return err - } - errors = append(errors, err) + if err := m._validateUuid(m.GetId()); err != nil { + err = OntologySummaryValidationError{ + field: "Id", + reason: "value must be a valid UUID", + cause: err, } - + if !all { + return err + } + errors = append(errors, err) } if m.WorkspaceId != nil { @@ -359,50 +351,38 @@ func (m *OntologyCreation) validate(all bool) error { var errors []error - if m.WorkspaceId != nil { - - if err := m._validateUuid(m.GetWorkspaceId()); err != nil { - err = OntologyCreationValidationError{ - field: "WorkspaceId", - reason: "value must be a valid UUID", - cause: err, - } - if !all { - return err - } - errors = append(errors, err) + if err := m._validateUuid(m.GetWorkspaceId()); err != nil { + err = OntologyCreationValidationError{ + field: "WorkspaceId", + reason: "value must be a valid UUID", + cause: err, } - + if !all { + return err + } + errors = append(errors, err) } - if m.Label != nil { - - if l := utf8.RuneCountInString(m.GetLabel()); l < 1 || l > 255 { - err := OntologyCreationValidationError{ - field: "Label", - reason: "value length must be between 1 and 255 runes, inclusive", - } - if !all { - return err - } - errors = append(errors, err) + if l := utf8.RuneCountInString(m.GetLabel()); l < 1 || l > 255 { + err := OntologyCreationValidationError{ + field: "Label", + reason: "value length must be between 1 and 255 runes, inclusive", } - + if !all { + return err + } + errors = append(errors, err) } - if m.Source != nil { - - if utf8.RuneCountInString(m.GetSource()) < 1 { - err := OntologyCreationValidationError{ - field: "Source", - reason: "value length must be at least 1 runes", - } - if !all { - return err - } - errors = append(errors, err) + if utf8.RuneCountInString(m.GetSource()) < 1 { + err := OntologyCreationValidationError{ + field: "Source", + reason: "value length must be at least 1 runes", } - + if !all { + return err + } + errors = append(errors, err) } if m.DownloadUrl != nil { @@ -517,20 +497,45 @@ func (m *OntologyUpdate) validate(all bool) error { var errors []error - if m.Id != nil { + if err := m._validateUuid(m.GetId()); err != nil { + err = OntologyUpdateValidationError{ + field: "Id", + reason: "value must be a valid UUID", + cause: err, + } + if !all { + return err + } + errors = append(errors, err) + } - if err := m._validateUuid(m.GetId()); err != nil { - err = OntologyUpdateValidationError{ - field: "Id", - reason: "value must be a valid UUID", - cause: err, + if all { + switch v := interface{}(m.GetFieldMask()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, OntologyUpdateValidationError{ + field: "FieldMask", + reason: "embedded message failed validation", + cause: err, + }) } - if !all { - return err + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, OntologyUpdateValidationError{ + field: "FieldMask", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFieldMask()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OntologyUpdateValidationError{ + field: "FieldMask", + reason: "embedded message failed validation", + cause: err, } - errors = append(errors, err) } - } if m.WorkspaceId != nil { @@ -561,39 +566,6 @@ func (m *OntologyUpdate) validate(all bool) error { // no validation rules for DownloadUrl } - if m.FieldMask != nil { - - if all { - switch v := interface{}(m.GetFieldMask()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, OntologyUpdateValidationError{ - field: "FieldMask", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, OntologyUpdateValidationError{ - field: "FieldMask", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetFieldMask()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return OntologyUpdateValidationError{ - field: "FieldMask", - reason: "embedded message failed validation", - cause: err, - } - } - } - - } - if len(errors) > 0 { return OntologyUpdateMultiError(errors) } @@ -702,28 +674,38 @@ func (m *OntologyListRequest) validate(all bool) error { var errors []error - if m.WorkspaceId != nil { - - if err := m._validateUuid(m.GetWorkspaceId()); err != nil { - err = OntologyListRequestValidationError{ - field: "WorkspaceId", - reason: "value must be a valid UUID", - cause: err, - } - if !all { - return err - } - errors = append(errors, err) + if err := m._validateUuid(m.GetWorkspaceId()); err != nil { + err = OntologyListRequestValidationError{ + field: "WorkspaceId", + reason: "value must be a valid UUID", + cause: err, } - + if !all { + return err + } + errors = append(errors, err) } - if m.PageSize != nil { - // no validation rules for PageSize + if val := m.GetPageSize(); val < 1 || val > 100 { + err := OntologyListRequestValidationError{ + field: "PageSize", + reason: "value must be inside range [1, 100]", + } + if !all { + return err + } + errors = append(errors, err) } - if m.PageNumber != nil { - // no validation rules for PageNumber + if m.GetPageNumber() < 0 { + err := OntologyListRequestValidationError{ + field: "PageNumber", + reason: "value must be greater than or equal to 0", + } + if !all { + return err + } + errors = append(errors, err) } if len(errors) > 0 { @@ -1005,20 +987,16 @@ func (m *OntologyGetRequest) validate(all bool) error { var errors []error - if m.Id != nil { - - if err := m._validateUuid(m.GetId()); err != nil { - err = OntologyGetRequestValidationError{ - field: "Id", - reason: "value must be a valid UUID", - cause: err, - } - if !all { - return err - } - errors = append(errors, err) + if err := m._validateUuid(m.GetId()); err != nil { + err = OntologyGetRequestValidationError{ + field: "Id", + reason: "value must be a valid UUID", + cause: err, } - + if !all { + return err + } + errors = append(errors, err) } if m.WorkspaceId != nil { @@ -1614,37 +1592,33 @@ func (m *OntologyUpdateRequest) validate(all bool) error { var errors []error - if m.Ontology != nil { - - if all { - switch v := interface{}(m.GetOntology()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, OntologyUpdateRequestValidationError{ - field: "Ontology", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, OntologyUpdateRequestValidationError{ - field: "Ontology", - reason: "embedded message failed validation", - cause: err, - }) - } + if all { + switch v := interface{}(m.GetOntology()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, OntologyUpdateRequestValidationError{ + field: "Ontology", + reason: "embedded message failed validation", + cause: err, + }) } - } else if v, ok := interface{}(m.GetOntology()).(interface{ Validate() error }); ok { + case interface{ Validate() error }: if err := v.Validate(); err != nil { - return OntologyUpdateRequestValidationError{ + errors = append(errors, OntologyUpdateRequestValidationError{ field: "Ontology", reason: "embedded message failed validation", cause: err, - } + }) + } + } + } else if v, ok := interface{}(m.GetOntology()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return OntologyUpdateRequestValidationError{ + field: "Ontology", + reason: "embedded message failed validation", + cause: err, } } - } if len(errors) > 0 { @@ -1917,36 +1891,28 @@ func (m *OntologyDeletionRequest) validate(all bool) error { var errors []error - if m.Id != nil { - - if err := m._validateUuid(m.GetId()); err != nil { - err = OntologyDeletionRequestValidationError{ - field: "Id", - reason: "value must be a valid UUID", - cause: err, - } - if !all { - return err - } - errors = append(errors, err) + if err := m._validateUuid(m.GetId()); err != nil { + err = OntologyDeletionRequestValidationError{ + field: "Id", + reason: "value must be a valid UUID", + cause: err, } - + if !all { + return err + } + errors = append(errors, err) } - if m.WorkspaceId != nil { - - if err := m._validateUuid(m.GetWorkspaceId()); err != nil { - err = OntologyDeletionRequestValidationError{ - field: "WorkspaceId", - reason: "value must be a valid UUID", - cause: err, - } - if !all { - return err - } - errors = append(errors, err) + if err := m._validateUuid(m.GetWorkspaceId()); err != nil { + err = OntologyDeletionRequestValidationError{ + field: "WorkspaceId", + reason: "value must be a valid UUID", + cause: err, } - + if !all { + return err + } + errors = append(errors, err) } if len(errors) > 0 { diff --git a/go/github.com/jupyter-naas/naas-models/go/p2p_validate/p2p_validate.pb.go b/go/github.com/jupyter-naas/naas-models/go/p2p_validate/p2p_validate.pb.go new file mode 100644 index 0000000..1e50d94 --- /dev/null +++ b/go/github.com/jupyter-naas/naas-models/go/p2p_validate/p2p_validate.pb.go @@ -0,0 +1,8862 @@ +// fork from https://github.com/envoyproxy/protoc-gen-validate/blob/main/validate/validate.proto + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.1 +// protoc v5.26.1 +// source: p2p_validate.proto + +package p2p_validate + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type OneofRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Define whether the field of oneof is optional + Optional []string `protobuf:"bytes,1,rep,name=optional,proto3" json:"optional,omitempty"` +} + +func (x *OneofRules) Reset() { + *x = OneofRules{} + mi := &file_p2p_validate_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OneofRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OneofRules) ProtoMessage() {} + +func (x *OneofRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OneofRules.ProtoReflect.Descriptor instead. +func (*OneofRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{0} +} + +func (x *OneofRules) GetOptional() []string { + if x != nil { + return x.Optional + } + return nil +} + +// FieldRules encapsulates the rules for each type of field. Depending on the +// field, the correct set should be used to ensure proper validations. +type FieldRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message *MessageRules `protobuf:"bytes,17,opt,name=message,proto3,oneof" json:"message,omitempty"` + // Types that are assignable to Type: + // + // *FieldRules_Float + // *FieldRules_Double + // *FieldRules_Int32 + // *FieldRules_Int64 + // *FieldRules_Uint32 + // *FieldRules_Uint64 + // *FieldRules_Sint32 + // *FieldRules_Sint64 + // *FieldRules_Fixed32 + // *FieldRules_Fixed64 + // *FieldRules_Sfixed32 + // *FieldRules_Sfixed64 + // *FieldRules_Bool + // *FieldRules_String_ + // *FieldRules_Bytes + // *FieldRules_Enum + // *FieldRules_Repeated + // *FieldRules_Map + // *FieldRules_Any + // *FieldRules_Duration + // *FieldRules_Timestamp + Type isFieldRules_Type `protobuf_oneof:"type"` +} + +func (x *FieldRules) Reset() { + *x = FieldRules{} + mi := &file_p2p_validate_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FieldRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FieldRules) ProtoMessage() {} + +func (x *FieldRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FieldRules.ProtoReflect.Descriptor instead. +func (*FieldRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{1} +} + +func (x *FieldRules) GetMessage() *MessageRules { + if x != nil { + return x.Message + } + return nil +} + +func (m *FieldRules) GetType() isFieldRules_Type { + if m != nil { + return m.Type + } + return nil +} + +func (x *FieldRules) GetFloat() *FloatRules { + if x, ok := x.GetType().(*FieldRules_Float); ok { + return x.Float + } + return nil +} + +func (x *FieldRules) GetDouble() *DoubleRules { + if x, ok := x.GetType().(*FieldRules_Double); ok { + return x.Double + } + return nil +} + +func (x *FieldRules) GetInt32() *Int32Rules { + if x, ok := x.GetType().(*FieldRules_Int32); ok { + return x.Int32 + } + return nil +} + +func (x *FieldRules) GetInt64() *Int64Rules { + if x, ok := x.GetType().(*FieldRules_Int64); ok { + return x.Int64 + } + return nil +} + +func (x *FieldRules) GetUint32() *UInt32Rules { + if x, ok := x.GetType().(*FieldRules_Uint32); ok { + return x.Uint32 + } + return nil +} + +func (x *FieldRules) GetUint64() *UInt64Rules { + if x, ok := x.GetType().(*FieldRules_Uint64); ok { + return x.Uint64 + } + return nil +} + +func (x *FieldRules) GetSint32() *SInt32Rules { + if x, ok := x.GetType().(*FieldRules_Sint32); ok { + return x.Sint32 + } + return nil +} + +func (x *FieldRules) GetSint64() *SInt64Rules { + if x, ok := x.GetType().(*FieldRules_Sint64); ok { + return x.Sint64 + } + return nil +} + +func (x *FieldRules) GetFixed32() *Fixed32Rules { + if x, ok := x.GetType().(*FieldRules_Fixed32); ok { + return x.Fixed32 + } + return nil +} + +func (x *FieldRules) GetFixed64() *Fixed64Rules { + if x, ok := x.GetType().(*FieldRules_Fixed64); ok { + return x.Fixed64 + } + return nil +} + +func (x *FieldRules) GetSfixed32() *SFixed32Rules { + if x, ok := x.GetType().(*FieldRules_Sfixed32); ok { + return x.Sfixed32 + } + return nil +} + +func (x *FieldRules) GetSfixed64() *SFixed64Rules { + if x, ok := x.GetType().(*FieldRules_Sfixed64); ok { + return x.Sfixed64 + } + return nil +} + +func (x *FieldRules) GetBool() *BoolRules { + if x, ok := x.GetType().(*FieldRules_Bool); ok { + return x.Bool + } + return nil +} + +func (x *FieldRules) GetString_() *StringRules { + if x, ok := x.GetType().(*FieldRules_String_); ok { + return x.String_ + } + return nil +} + +func (x *FieldRules) GetBytes() *BytesRules { + if x, ok := x.GetType().(*FieldRules_Bytes); ok { + return x.Bytes + } + return nil +} + +func (x *FieldRules) GetEnum() *EnumRules { + if x, ok := x.GetType().(*FieldRules_Enum); ok { + return x.Enum + } + return nil +} + +func (x *FieldRules) GetRepeated() *RepeatedRules { + if x, ok := x.GetType().(*FieldRules_Repeated); ok { + return x.Repeated + } + return nil +} + +func (x *FieldRules) GetMap() *MapRules { + if x, ok := x.GetType().(*FieldRules_Map); ok { + return x.Map + } + return nil +} + +func (x *FieldRules) GetAny() *AnyRules { + if x, ok := x.GetType().(*FieldRules_Any); ok { + return x.Any + } + return nil +} + +func (x *FieldRules) GetDuration() *DurationRules { + if x, ok := x.GetType().(*FieldRules_Duration); ok { + return x.Duration + } + return nil +} + +func (x *FieldRules) GetTimestamp() *TimestampRules { + if x, ok := x.GetType().(*FieldRules_Timestamp); ok { + return x.Timestamp + } + return nil +} + +type isFieldRules_Type interface { + isFieldRules_Type() +} + +type FieldRules_Float struct { + // Scalar Field Types + Float *FloatRules `protobuf:"bytes,1,opt,name=float,proto3,oneof"` +} + +type FieldRules_Double struct { + Double *DoubleRules `protobuf:"bytes,2,opt,name=double,proto3,oneof"` +} + +type FieldRules_Int32 struct { + Int32 *Int32Rules `protobuf:"bytes,3,opt,name=int32,proto3,oneof"` +} + +type FieldRules_Int64 struct { + Int64 *Int64Rules `protobuf:"bytes,4,opt,name=int64,proto3,oneof"` +} + +type FieldRules_Uint32 struct { + Uint32 *UInt32Rules `protobuf:"bytes,5,opt,name=uint32,proto3,oneof"` +} + +type FieldRules_Uint64 struct { + Uint64 *UInt64Rules `protobuf:"bytes,6,opt,name=uint64,proto3,oneof"` +} + +type FieldRules_Sint32 struct { + Sint32 *SInt32Rules `protobuf:"bytes,7,opt,name=sint32,proto3,oneof"` +} + +type FieldRules_Sint64 struct { + Sint64 *SInt64Rules `protobuf:"bytes,8,opt,name=sint64,proto3,oneof"` +} + +type FieldRules_Fixed32 struct { + Fixed32 *Fixed32Rules `protobuf:"bytes,9,opt,name=fixed32,proto3,oneof"` +} + +type FieldRules_Fixed64 struct { + Fixed64 *Fixed64Rules `protobuf:"bytes,10,opt,name=fixed64,proto3,oneof"` +} + +type FieldRules_Sfixed32 struct { + Sfixed32 *SFixed32Rules `protobuf:"bytes,11,opt,name=sfixed32,proto3,oneof"` +} + +type FieldRules_Sfixed64 struct { + Sfixed64 *SFixed64Rules `protobuf:"bytes,12,opt,name=sfixed64,proto3,oneof"` +} + +type FieldRules_Bool struct { + Bool *BoolRules `protobuf:"bytes,13,opt,name=bool,proto3,oneof"` +} + +type FieldRules_String_ struct { + String_ *StringRules `protobuf:"bytes,14,opt,name=string,proto3,oneof"` +} + +type FieldRules_Bytes struct { + Bytes *BytesRules `protobuf:"bytes,15,opt,name=bytes,proto3,oneof"` +} + +type FieldRules_Enum struct { + // Complex Field Types + Enum *EnumRules `protobuf:"bytes,16,opt,name=enum,proto3,oneof"` +} + +type FieldRules_Repeated struct { + Repeated *RepeatedRules `protobuf:"bytes,18,opt,name=repeated,proto3,oneof"` +} + +type FieldRules_Map struct { + Map *MapRules `protobuf:"bytes,19,opt,name=map,proto3,oneof"` +} + +type FieldRules_Any struct { + // Well-Known Field Types + Any *AnyRules `protobuf:"bytes,20,opt,name=any,proto3,oneof"` +} + +type FieldRules_Duration struct { + Duration *DurationRules `protobuf:"bytes,21,opt,name=duration,proto3,oneof"` +} + +type FieldRules_Timestamp struct { + Timestamp *TimestampRules `protobuf:"bytes,22,opt,name=timestamp,proto3,oneof"` +} + +func (*FieldRules_Float) isFieldRules_Type() {} + +func (*FieldRules_Double) isFieldRules_Type() {} + +func (*FieldRules_Int32) isFieldRules_Type() {} + +func (*FieldRules_Int64) isFieldRules_Type() {} + +func (*FieldRules_Uint32) isFieldRules_Type() {} + +func (*FieldRules_Uint64) isFieldRules_Type() {} + +func (*FieldRules_Sint32) isFieldRules_Type() {} + +func (*FieldRules_Sint64) isFieldRules_Type() {} + +func (*FieldRules_Fixed32) isFieldRules_Type() {} + +func (*FieldRules_Fixed64) isFieldRules_Type() {} + +func (*FieldRules_Sfixed32) isFieldRules_Type() {} + +func (*FieldRules_Sfixed64) isFieldRules_Type() {} + +func (*FieldRules_Bool) isFieldRules_Type() {} + +func (*FieldRules_String_) isFieldRules_Type() {} + +func (*FieldRules_Bytes) isFieldRules_Type() {} + +func (*FieldRules_Enum) isFieldRules_Type() {} + +func (*FieldRules_Repeated) isFieldRules_Type() {} + +func (*FieldRules_Map) isFieldRules_Type() {} + +func (*FieldRules_Any) isFieldRules_Type() {} + +func (*FieldRules_Duration) isFieldRules_Type() {} + +func (*FieldRules_Timestamp) isFieldRules_Type() {} + +// FloatRules describes the constraints applied to `float` values +type FloatRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *float32 `protobuf:"fixed32,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *float32 `protobuf:"fixed32,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *float32 `protobuf:"fixed32,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *float32 `protobuf:"fixed32,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *float32 `protobuf:"fixed32,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []float32 `protobuf:"fixed32,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []float32 `protobuf:"fixed32,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *FloatRules_Default + // *FloatRules_DefaultFactory + // *FloatRules_MissDefault + // *FloatRules_Required + // *FloatRules_DefaultTemplate + DefaultConfig isFloatRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *FloatRules_Example + // *FloatRules_ExampleFactory + ExampleConfig isFloatRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *FloatRules) Reset() { + *x = FloatRules{} + mi := &file_p2p_validate_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FloatRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FloatRules) ProtoMessage() {} + +func (x *FloatRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FloatRules.ProtoReflect.Descriptor instead. +func (*FloatRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{2} +} + +func (x *FloatRules) GetConst() float32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *FloatRules) GetLt() float32 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *FloatRules) GetLe() float32 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *FloatRules) GetGt() float32 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *FloatRules) GetGe() float32 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *FloatRules) GetIn() []float32 { + if x != nil { + return x.In + } + return nil +} + +func (x *FloatRules) GetNotIn() []float32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *FloatRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *FloatRules) GetDefaultConfig() isFloatRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *FloatRules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*FloatRules_Default); ok { + return x.Default + } + return 0 +} + +func (x *FloatRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*FloatRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *FloatRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*FloatRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *FloatRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*FloatRules_Required); ok { + return x.Required + } + return false +} + +func (x *FloatRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*FloatRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *FloatRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *FloatRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *FloatRules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *FloatRules) GetExampleConfig() isFloatRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *FloatRules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*FloatRules_Example); ok { + return x.Example + } + return 0 +} + +func (x *FloatRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*FloatRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *FloatRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *FloatRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *FloatRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *FloatRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isFloatRules_DefaultConfig interface { + isFloatRules_DefaultConfig() +} + +type FloatRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type FloatRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type FloatRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type FloatRules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type FloatRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*FloatRules_Default) isFloatRules_DefaultConfig() {} + +func (*FloatRules_DefaultFactory) isFloatRules_DefaultConfig() {} + +func (*FloatRules_MissDefault) isFloatRules_DefaultConfig() {} + +func (*FloatRules_Required) isFloatRules_DefaultConfig() {} + +func (*FloatRules_DefaultTemplate) isFloatRules_DefaultConfig() {} + +type isFloatRules_ExampleConfig interface { + isFloatRules_ExampleConfig() +} + +type FloatRules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type FloatRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*FloatRules_Example) isFloatRules_ExampleConfig() {} + +func (*FloatRules_ExampleFactory) isFloatRules_ExampleConfig() {} + +// DoubleRules describes the constraints applied to `double` values +type DoubleRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *float64 `protobuf:"fixed64,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *float64 `protobuf:"fixed64,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *float64 `protobuf:"fixed64,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *float64 `protobuf:"fixed64,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *float64 `protobuf:"fixed64,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []float64 `protobuf:"fixed64,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []float64 `protobuf:"fixed64,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *DoubleRules_Default + // *DoubleRules_DefaultFactory + // *DoubleRules_MissDefault + // *DoubleRules_Required + // *DoubleRules_DefaultTemplate + DefaultConfig isDoubleRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *DoubleRules_Example + // *DoubleRules_ExampleFactory + ExampleConfig isDoubleRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *DoubleRules) Reset() { + *x = DoubleRules{} + mi := &file_p2p_validate_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DoubleRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DoubleRules) ProtoMessage() {} + +func (x *DoubleRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DoubleRules.ProtoReflect.Descriptor instead. +func (*DoubleRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{3} +} + +func (x *DoubleRules) GetConst() float64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *DoubleRules) GetLt() float64 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *DoubleRules) GetLe() float64 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *DoubleRules) GetGt() float64 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *DoubleRules) GetGe() float64 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *DoubleRules) GetIn() []float64 { + if x != nil { + return x.In + } + return nil +} + +func (x *DoubleRules) GetNotIn() []float64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *DoubleRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *DoubleRules) GetDefaultConfig() isDoubleRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *DoubleRules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*DoubleRules_Default); ok { + return x.Default + } + return 0 +} + +func (x *DoubleRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*DoubleRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *DoubleRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*DoubleRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *DoubleRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*DoubleRules_Required); ok { + return x.Required + } + return false +} + +func (x *DoubleRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*DoubleRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *DoubleRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *DoubleRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *DoubleRules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *DoubleRules) GetExampleConfig() isDoubleRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *DoubleRules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*DoubleRules_Example); ok { + return x.Example + } + return 0 +} + +func (x *DoubleRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*DoubleRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *DoubleRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *DoubleRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *DoubleRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *DoubleRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isDoubleRules_DefaultConfig interface { + isDoubleRules_DefaultConfig() +} + +type DoubleRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type DoubleRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type DoubleRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type DoubleRules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type DoubleRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*DoubleRules_Default) isDoubleRules_DefaultConfig() {} + +func (*DoubleRules_DefaultFactory) isDoubleRules_DefaultConfig() {} + +func (*DoubleRules_MissDefault) isDoubleRules_DefaultConfig() {} + +func (*DoubleRules_Required) isDoubleRules_DefaultConfig() {} + +func (*DoubleRules_DefaultTemplate) isDoubleRules_DefaultConfig() {} + +type isDoubleRules_ExampleConfig interface { + isDoubleRules_ExampleConfig() +} + +type DoubleRules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type DoubleRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*DoubleRules_Example) isDoubleRules_ExampleConfig() {} + +func (*DoubleRules_ExampleFactory) isDoubleRules_ExampleConfig() {} + +// Int32Rules describes the constraints applied to `int32` values +type Int32Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *int32 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *int32 `protobuf:"varint,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *int32 `protobuf:"varint,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *int32 `protobuf:"varint,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *int32 `protobuf:"varint,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []int32 `protobuf:"varint,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int32 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *Int32Rules_Default + // *Int32Rules_DefaultFactory + // *Int32Rules_MissDefault + // *Int32Rules_Required + // *Int32Rules_DefaultTemplate + DefaultConfig isInt32Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *Int32Rules_Example + // *Int32Rules_ExampleFactory + ExampleConfig isInt32Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *Int32Rules) Reset() { + *x = Int32Rules{} + mi := &file_p2p_validate_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int32Rules) ProtoMessage() {} + +func (x *Int32Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Int32Rules.ProtoReflect.Descriptor instead. +func (*Int32Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{4} +} + +func (x *Int32Rules) GetConst() int32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *Int32Rules) GetLt() int32 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *Int32Rules) GetLe() int32 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *Int32Rules) GetGt() int32 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *Int32Rules) GetGe() int32 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *Int32Rules) GetIn() []int32 { + if x != nil { + return x.In + } + return nil +} + +func (x *Int32Rules) GetNotIn() []int32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *Int32Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *Int32Rules) GetDefaultConfig() isInt32Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *Int32Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*Int32Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *Int32Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*Int32Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *Int32Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*Int32Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *Int32Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*Int32Rules_Required); ok { + return x.Required + } + return false +} + +func (x *Int32Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*Int32Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *Int32Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *Int32Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *Int32Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *Int32Rules) GetExampleConfig() isInt32Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *Int32Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*Int32Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *Int32Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*Int32Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *Int32Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *Int32Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *Int32Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *Int32Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isInt32Rules_DefaultConfig interface { + isInt32Rules_DefaultConfig() +} + +type Int32Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type Int32Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type Int32Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type Int32Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type Int32Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*Int32Rules_Default) isInt32Rules_DefaultConfig() {} + +func (*Int32Rules_DefaultFactory) isInt32Rules_DefaultConfig() {} + +func (*Int32Rules_MissDefault) isInt32Rules_DefaultConfig() {} + +func (*Int32Rules_Required) isInt32Rules_DefaultConfig() {} + +func (*Int32Rules_DefaultTemplate) isInt32Rules_DefaultConfig() {} + +type isInt32Rules_ExampleConfig interface { + isInt32Rules_ExampleConfig() +} + +type Int32Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type Int32Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*Int32Rules_Example) isInt32Rules_ExampleConfig() {} + +func (*Int32Rules_ExampleFactory) isInt32Rules_ExampleConfig() {} + +// Int64Rules describes the constraints applied to `int64` values +type Int64Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *int64 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *int64 `protobuf:"varint,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *int64 `protobuf:"varint,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *int64 `protobuf:"varint,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *int64 `protobuf:"varint,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []int64 `protobuf:"varint,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int64 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *Int64Rules_Default + // *Int64Rules_DefaultFactory + // *Int64Rules_MissDefault + // *Int64Rules_Required + // *Int64Rules_DefaultTemplate + DefaultConfig isInt64Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *Int64Rules_Example + // *Int64Rules_ExampleFactory + ExampleConfig isInt64Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *Int64Rules) Reset() { + *x = Int64Rules{} + mi := &file_p2p_validate_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Int64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Int64Rules) ProtoMessage() {} + +func (x *Int64Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Int64Rules.ProtoReflect.Descriptor instead. +func (*Int64Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{5} +} + +func (x *Int64Rules) GetConst() int64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *Int64Rules) GetLt() int64 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *Int64Rules) GetLe() int64 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *Int64Rules) GetGt() int64 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *Int64Rules) GetGe() int64 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *Int64Rules) GetIn() []int64 { + if x != nil { + return x.In + } + return nil +} + +func (x *Int64Rules) GetNotIn() []int64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *Int64Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *Int64Rules) GetDefaultConfig() isInt64Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *Int64Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*Int64Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *Int64Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*Int64Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *Int64Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*Int64Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *Int64Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*Int64Rules_Required); ok { + return x.Required + } + return false +} + +func (x *Int64Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*Int64Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *Int64Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *Int64Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *Int64Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *Int64Rules) GetExampleConfig() isInt64Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *Int64Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*Int64Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *Int64Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*Int64Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *Int64Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *Int64Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *Int64Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *Int64Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isInt64Rules_DefaultConfig interface { + isInt64Rules_DefaultConfig() +} + +type Int64Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type Int64Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type Int64Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type Int64Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type Int64Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*Int64Rules_Default) isInt64Rules_DefaultConfig() {} + +func (*Int64Rules_DefaultFactory) isInt64Rules_DefaultConfig() {} + +func (*Int64Rules_MissDefault) isInt64Rules_DefaultConfig() {} + +func (*Int64Rules_Required) isInt64Rules_DefaultConfig() {} + +func (*Int64Rules_DefaultTemplate) isInt64Rules_DefaultConfig() {} + +type isInt64Rules_ExampleConfig interface { + isInt64Rules_ExampleConfig() +} + +type Int64Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type Int64Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*Int64Rules_Example) isInt64Rules_ExampleConfig() {} + +func (*Int64Rules_ExampleFactory) isInt64Rules_ExampleConfig() {} + +// UInt32Rules describes the constraints applied to `uint32` values +type UInt32Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *uint32 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *uint32 `protobuf:"varint,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *uint32 `protobuf:"varint,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *uint32 `protobuf:"varint,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *uint32 `protobuf:"varint,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []uint32 `protobuf:"varint,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []uint32 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *UInt32Rules_Default + // *UInt32Rules_DefaultFactory + // *UInt32Rules_MissDefault + // *UInt32Rules_Required + // *UInt32Rules_DefaultTemplate + DefaultConfig isUInt32Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *UInt32Rules_Example + // *UInt32Rules_ExampleFactory + ExampleConfig isUInt32Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *UInt32Rules) Reset() { + *x = UInt32Rules{} + mi := &file_p2p_validate_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UInt32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt32Rules) ProtoMessage() {} + +func (x *UInt32Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UInt32Rules.ProtoReflect.Descriptor instead. +func (*UInt32Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{6} +} + +func (x *UInt32Rules) GetConst() uint32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *UInt32Rules) GetLt() uint32 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *UInt32Rules) GetLe() uint32 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *UInt32Rules) GetGt() uint32 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *UInt32Rules) GetGe() uint32 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *UInt32Rules) GetIn() []uint32 { + if x != nil { + return x.In + } + return nil +} + +func (x *UInt32Rules) GetNotIn() []uint32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *UInt32Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *UInt32Rules) GetDefaultConfig() isUInt32Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *UInt32Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*UInt32Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *UInt32Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*UInt32Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *UInt32Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*UInt32Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *UInt32Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*UInt32Rules_Required); ok { + return x.Required + } + return false +} + +func (x *UInt32Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*UInt32Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *UInt32Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *UInt32Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *UInt32Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *UInt32Rules) GetExampleConfig() isUInt32Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *UInt32Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*UInt32Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *UInt32Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*UInt32Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *UInt32Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *UInt32Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *UInt32Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *UInt32Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isUInt32Rules_DefaultConfig interface { + isUInt32Rules_DefaultConfig() +} + +type UInt32Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type UInt32Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type UInt32Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type UInt32Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type UInt32Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*UInt32Rules_Default) isUInt32Rules_DefaultConfig() {} + +func (*UInt32Rules_DefaultFactory) isUInt32Rules_DefaultConfig() {} + +func (*UInt32Rules_MissDefault) isUInt32Rules_DefaultConfig() {} + +func (*UInt32Rules_Required) isUInt32Rules_DefaultConfig() {} + +func (*UInt32Rules_DefaultTemplate) isUInt32Rules_DefaultConfig() {} + +type isUInt32Rules_ExampleConfig interface { + isUInt32Rules_ExampleConfig() +} + +type UInt32Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type UInt32Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*UInt32Rules_Example) isUInt32Rules_ExampleConfig() {} + +func (*UInt32Rules_ExampleFactory) isUInt32Rules_ExampleConfig() {} + +// UInt64Rules describes the constraints applied to `uint64` values +type UInt64Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *uint64 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *uint64 `protobuf:"varint,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *uint64 `protobuf:"varint,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *uint64 `protobuf:"varint,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *uint64 `protobuf:"varint,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []uint64 `protobuf:"varint,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []uint64 `protobuf:"varint,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *UInt64Rules_Default + // *UInt64Rules_DefaultFactory + // *UInt64Rules_MissDefault + // *UInt64Rules_Required + // *UInt64Rules_DefaultTemplate + DefaultConfig isUInt64Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *UInt64Rules_Example + // *UInt64Rules_ExampleFactory + ExampleConfig isUInt64Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *UInt64Rules) Reset() { + *x = UInt64Rules{} + mi := &file_p2p_validate_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UInt64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt64Rules) ProtoMessage() {} + +func (x *UInt64Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UInt64Rules.ProtoReflect.Descriptor instead. +func (*UInt64Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{7} +} + +func (x *UInt64Rules) GetConst() uint64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *UInt64Rules) GetLt() uint64 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *UInt64Rules) GetLe() uint64 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *UInt64Rules) GetGt() uint64 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *UInt64Rules) GetGe() uint64 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *UInt64Rules) GetIn() []uint64 { + if x != nil { + return x.In + } + return nil +} + +func (x *UInt64Rules) GetNotIn() []uint64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *UInt64Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *UInt64Rules) GetDefaultConfig() isUInt64Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *UInt64Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*UInt64Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *UInt64Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*UInt64Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *UInt64Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*UInt64Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *UInt64Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*UInt64Rules_Required); ok { + return x.Required + } + return false +} + +func (x *UInt64Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*UInt64Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *UInt64Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *UInt64Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *UInt64Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *UInt64Rules) GetExampleConfig() isUInt64Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *UInt64Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*UInt64Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *UInt64Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*UInt64Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *UInt64Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *UInt64Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *UInt64Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *UInt64Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isUInt64Rules_DefaultConfig interface { + isUInt64Rules_DefaultConfig() +} + +type UInt64Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type UInt64Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type UInt64Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type UInt64Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type UInt64Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*UInt64Rules_Default) isUInt64Rules_DefaultConfig() {} + +func (*UInt64Rules_DefaultFactory) isUInt64Rules_DefaultConfig() {} + +func (*UInt64Rules_MissDefault) isUInt64Rules_DefaultConfig() {} + +func (*UInt64Rules_Required) isUInt64Rules_DefaultConfig() {} + +func (*UInt64Rules_DefaultTemplate) isUInt64Rules_DefaultConfig() {} + +type isUInt64Rules_ExampleConfig interface { + isUInt64Rules_ExampleConfig() +} + +type UInt64Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type UInt64Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*UInt64Rules_Example) isUInt64Rules_ExampleConfig() {} + +func (*UInt64Rules_ExampleFactory) isUInt64Rules_ExampleConfig() {} + +// SInt32Rules describes the constraints applied to `sint32` values +type SInt32Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *int32 `protobuf:"zigzag32,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *int32 `protobuf:"zigzag32,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *int32 `protobuf:"zigzag32,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *int32 `protobuf:"zigzag32,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *int32 `protobuf:"zigzag32,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []int32 `protobuf:"zigzag32,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int32 `protobuf:"zigzag32,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *SInt32Rules_Default + // *SInt32Rules_DefaultFactory + // *SInt32Rules_MissDefault + // *SInt32Rules_Required + // *SInt32Rules_DefaultTemplate + DefaultConfig isSInt32Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *SInt32Rules_Example + // *SInt32Rules_ExampleFactory + ExampleConfig isSInt32Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *SInt32Rules) Reset() { + *x = SInt32Rules{} + mi := &file_p2p_validate_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SInt32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SInt32Rules) ProtoMessage() {} + +func (x *SInt32Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SInt32Rules.ProtoReflect.Descriptor instead. +func (*SInt32Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{8} +} + +func (x *SInt32Rules) GetConst() int32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *SInt32Rules) GetLt() int32 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *SInt32Rules) GetLe() int32 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *SInt32Rules) GetGt() int32 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *SInt32Rules) GetGe() int32 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *SInt32Rules) GetIn() []int32 { + if x != nil { + return x.In + } + return nil +} + +func (x *SInt32Rules) GetNotIn() []int32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *SInt32Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *SInt32Rules) GetDefaultConfig() isSInt32Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *SInt32Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*SInt32Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *SInt32Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*SInt32Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *SInt32Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*SInt32Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *SInt32Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*SInt32Rules_Required); ok { + return x.Required + } + return false +} + +func (x *SInt32Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*SInt32Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *SInt32Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *SInt32Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *SInt32Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *SInt32Rules) GetExampleConfig() isSInt32Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *SInt32Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*SInt32Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *SInt32Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*SInt32Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *SInt32Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *SInt32Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *SInt32Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *SInt32Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isSInt32Rules_DefaultConfig interface { + isSInt32Rules_DefaultConfig() +} + +type SInt32Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type SInt32Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type SInt32Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type SInt32Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type SInt32Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*SInt32Rules_Default) isSInt32Rules_DefaultConfig() {} + +func (*SInt32Rules_DefaultFactory) isSInt32Rules_DefaultConfig() {} + +func (*SInt32Rules_MissDefault) isSInt32Rules_DefaultConfig() {} + +func (*SInt32Rules_Required) isSInt32Rules_DefaultConfig() {} + +func (*SInt32Rules_DefaultTemplate) isSInt32Rules_DefaultConfig() {} + +type isSInt32Rules_ExampleConfig interface { + isSInt32Rules_ExampleConfig() +} + +type SInt32Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type SInt32Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*SInt32Rules_Example) isSInt32Rules_ExampleConfig() {} + +func (*SInt32Rules_ExampleFactory) isSInt32Rules_ExampleConfig() {} + +// SInt64Rules describes the constraints applied to `sint64` values +type SInt64Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *int64 `protobuf:"zigzag64,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *int64 `protobuf:"zigzag64,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *int64 `protobuf:"zigzag64,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *int64 `protobuf:"zigzag64,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *int64 `protobuf:"zigzag64,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []int64 `protobuf:"zigzag64,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int64 `protobuf:"zigzag64,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *SInt64Rules_Default + // *SInt64Rules_DefaultFactory + // *SInt64Rules_MissDefault + // *SInt64Rules_Required + // *SInt64Rules_DefaultTemplate + DefaultConfig isSInt64Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *SInt64Rules_Example + // *SInt64Rules_ExampleFactory + ExampleConfig isSInt64Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *SInt64Rules) Reset() { + *x = SInt64Rules{} + mi := &file_p2p_validate_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SInt64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SInt64Rules) ProtoMessage() {} + +func (x *SInt64Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SInt64Rules.ProtoReflect.Descriptor instead. +func (*SInt64Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{9} +} + +func (x *SInt64Rules) GetConst() int64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *SInt64Rules) GetLt() int64 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *SInt64Rules) GetLe() int64 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *SInt64Rules) GetGt() int64 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *SInt64Rules) GetGe() int64 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *SInt64Rules) GetIn() []int64 { + if x != nil { + return x.In + } + return nil +} + +func (x *SInt64Rules) GetNotIn() []int64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *SInt64Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *SInt64Rules) GetDefaultConfig() isSInt64Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *SInt64Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*SInt64Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *SInt64Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*SInt64Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *SInt64Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*SInt64Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *SInt64Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*SInt64Rules_Required); ok { + return x.Required + } + return false +} + +func (x *SInt64Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*SInt64Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *SInt64Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *SInt64Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *SInt64Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *SInt64Rules) GetExampleConfig() isSInt64Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *SInt64Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*SInt64Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *SInt64Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*SInt64Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *SInt64Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *SInt64Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *SInt64Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *SInt64Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isSInt64Rules_DefaultConfig interface { + isSInt64Rules_DefaultConfig() +} + +type SInt64Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type SInt64Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type SInt64Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type SInt64Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type SInt64Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*SInt64Rules_Default) isSInt64Rules_DefaultConfig() {} + +func (*SInt64Rules_DefaultFactory) isSInt64Rules_DefaultConfig() {} + +func (*SInt64Rules_MissDefault) isSInt64Rules_DefaultConfig() {} + +func (*SInt64Rules_Required) isSInt64Rules_DefaultConfig() {} + +func (*SInt64Rules_DefaultTemplate) isSInt64Rules_DefaultConfig() {} + +type isSInt64Rules_ExampleConfig interface { + isSInt64Rules_ExampleConfig() +} + +type SInt64Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type SInt64Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*SInt64Rules_Example) isSInt64Rules_ExampleConfig() {} + +func (*SInt64Rules_ExampleFactory) isSInt64Rules_ExampleConfig() {} + +// Fixed32Rules describes the constraints applied to `fixed32` values +type Fixed32Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *uint32 `protobuf:"fixed32,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *uint32 `protobuf:"fixed32,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *uint32 `protobuf:"fixed32,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *uint32 `protobuf:"fixed32,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *uint32 `protobuf:"fixed32,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []uint32 `protobuf:"fixed32,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []uint32 `protobuf:"fixed32,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *Fixed32Rules_Default + // *Fixed32Rules_DefaultFactory + // *Fixed32Rules_MissDefault + // *Fixed32Rules_Required + // *Fixed32Rules_DefaultTemplate + DefaultConfig isFixed32Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *Fixed32Rules_Example + // *Fixed32Rules_ExampleFactory + ExampleConfig isFixed32Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *Fixed32Rules) Reset() { + *x = Fixed32Rules{} + mi := &file_p2p_validate_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Fixed32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fixed32Rules) ProtoMessage() {} + +func (x *Fixed32Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Fixed32Rules.ProtoReflect.Descriptor instead. +func (*Fixed32Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{10} +} + +func (x *Fixed32Rules) GetConst() uint32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *Fixed32Rules) GetLt() uint32 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *Fixed32Rules) GetLe() uint32 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *Fixed32Rules) GetGt() uint32 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *Fixed32Rules) GetGe() uint32 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *Fixed32Rules) GetIn() []uint32 { + if x != nil { + return x.In + } + return nil +} + +func (x *Fixed32Rules) GetNotIn() []uint32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *Fixed32Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *Fixed32Rules) GetDefaultConfig() isFixed32Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *Fixed32Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*Fixed32Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *Fixed32Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*Fixed32Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *Fixed32Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*Fixed32Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *Fixed32Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*Fixed32Rules_Required); ok { + return x.Required + } + return false +} + +func (x *Fixed32Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*Fixed32Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *Fixed32Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *Fixed32Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *Fixed32Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *Fixed32Rules) GetExampleConfig() isFixed32Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *Fixed32Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*Fixed32Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *Fixed32Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*Fixed32Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *Fixed32Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *Fixed32Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *Fixed32Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *Fixed32Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isFixed32Rules_DefaultConfig interface { + isFixed32Rules_DefaultConfig() +} + +type Fixed32Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type Fixed32Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type Fixed32Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type Fixed32Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type Fixed32Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*Fixed32Rules_Default) isFixed32Rules_DefaultConfig() {} + +func (*Fixed32Rules_DefaultFactory) isFixed32Rules_DefaultConfig() {} + +func (*Fixed32Rules_MissDefault) isFixed32Rules_DefaultConfig() {} + +func (*Fixed32Rules_Required) isFixed32Rules_DefaultConfig() {} + +func (*Fixed32Rules_DefaultTemplate) isFixed32Rules_DefaultConfig() {} + +type isFixed32Rules_ExampleConfig interface { + isFixed32Rules_ExampleConfig() +} + +type Fixed32Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type Fixed32Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*Fixed32Rules_Example) isFixed32Rules_ExampleConfig() {} + +func (*Fixed32Rules_ExampleFactory) isFixed32Rules_ExampleConfig() {} + +// Fixed64Rules describes the constraints applied to `fixed64` values +type Fixed64Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *uint64 `protobuf:"fixed64,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *uint64 `protobuf:"fixed64,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *uint64 `protobuf:"fixed64,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *uint64 `protobuf:"fixed64,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *uint64 `protobuf:"fixed64,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []uint64 `protobuf:"fixed64,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []uint64 `protobuf:"fixed64,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *Fixed64Rules_Default + // *Fixed64Rules_DefaultFactory + // *Fixed64Rules_MissDefault + // *Fixed64Rules_Required + // *Fixed64Rules_DefaultTemplate + DefaultConfig isFixed64Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *Fixed64Rules_Example + // *Fixed64Rules_ExampleFactory + ExampleConfig isFixed64Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *Fixed64Rules) Reset() { + *x = Fixed64Rules{} + mi := &file_p2p_validate_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Fixed64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fixed64Rules) ProtoMessage() {} + +func (x *Fixed64Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Fixed64Rules.ProtoReflect.Descriptor instead. +func (*Fixed64Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{11} +} + +func (x *Fixed64Rules) GetConst() uint64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *Fixed64Rules) GetLt() uint64 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *Fixed64Rules) GetLe() uint64 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *Fixed64Rules) GetGt() uint64 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *Fixed64Rules) GetGe() uint64 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *Fixed64Rules) GetIn() []uint64 { + if x != nil { + return x.In + } + return nil +} + +func (x *Fixed64Rules) GetNotIn() []uint64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *Fixed64Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *Fixed64Rules) GetDefaultConfig() isFixed64Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *Fixed64Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*Fixed64Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *Fixed64Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*Fixed64Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *Fixed64Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*Fixed64Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *Fixed64Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*Fixed64Rules_Required); ok { + return x.Required + } + return false +} + +func (x *Fixed64Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*Fixed64Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *Fixed64Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *Fixed64Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *Fixed64Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *Fixed64Rules) GetExampleConfig() isFixed64Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *Fixed64Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*Fixed64Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *Fixed64Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*Fixed64Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *Fixed64Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *Fixed64Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *Fixed64Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *Fixed64Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isFixed64Rules_DefaultConfig interface { + isFixed64Rules_DefaultConfig() +} + +type Fixed64Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type Fixed64Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type Fixed64Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type Fixed64Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type Fixed64Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*Fixed64Rules_Default) isFixed64Rules_DefaultConfig() {} + +func (*Fixed64Rules_DefaultFactory) isFixed64Rules_DefaultConfig() {} + +func (*Fixed64Rules_MissDefault) isFixed64Rules_DefaultConfig() {} + +func (*Fixed64Rules_Required) isFixed64Rules_DefaultConfig() {} + +func (*Fixed64Rules_DefaultTemplate) isFixed64Rules_DefaultConfig() {} + +type isFixed64Rules_ExampleConfig interface { + isFixed64Rules_ExampleConfig() +} + +type Fixed64Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type Fixed64Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*Fixed64Rules_Example) isFixed64Rules_ExampleConfig() {} + +func (*Fixed64Rules_ExampleFactory) isFixed64Rules_ExampleConfig() {} + +// SFixed32Rules describes the constraints applied to `sfixed32` values +type SFixed32Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *int32 `protobuf:"fixed32,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *int32 `protobuf:"fixed32,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *int32 `protobuf:"fixed32,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *int32 `protobuf:"fixed32,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *int32 `protobuf:"fixed32,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []int32 `protobuf:"fixed32,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int32 `protobuf:"fixed32,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *SFixed32Rules_Default + // *SFixed32Rules_DefaultFactory + // *SFixed32Rules_MissDefault + // *SFixed32Rules_Required + // *SFixed32Rules_DefaultTemplate + DefaultConfig isSFixed32Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *SFixed32Rules_Example + // *SFixed32Rules_ExampleFactory + ExampleConfig isSFixed32Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *SFixed32Rules) Reset() { + *x = SFixed32Rules{} + mi := &file_p2p_validate_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SFixed32Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SFixed32Rules) ProtoMessage() {} + +func (x *SFixed32Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SFixed32Rules.ProtoReflect.Descriptor instead. +func (*SFixed32Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{12} +} + +func (x *SFixed32Rules) GetConst() int32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *SFixed32Rules) GetLt() int32 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *SFixed32Rules) GetLe() int32 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *SFixed32Rules) GetGt() int32 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *SFixed32Rules) GetGe() int32 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *SFixed32Rules) GetIn() []int32 { + if x != nil { + return x.In + } + return nil +} + +func (x *SFixed32Rules) GetNotIn() []int32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *SFixed32Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *SFixed32Rules) GetDefaultConfig() isSFixed32Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *SFixed32Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*SFixed32Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *SFixed32Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*SFixed32Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *SFixed32Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*SFixed32Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *SFixed32Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*SFixed32Rules_Required); ok { + return x.Required + } + return false +} + +func (x *SFixed32Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*SFixed32Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *SFixed32Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *SFixed32Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *SFixed32Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *SFixed32Rules) GetExampleConfig() isSFixed32Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *SFixed32Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*SFixed32Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *SFixed32Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*SFixed32Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *SFixed32Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *SFixed32Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *SFixed32Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *SFixed32Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isSFixed32Rules_DefaultConfig interface { + isSFixed32Rules_DefaultConfig() +} + +type SFixed32Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type SFixed32Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type SFixed32Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type SFixed32Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type SFixed32Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*SFixed32Rules_Default) isSFixed32Rules_DefaultConfig() {} + +func (*SFixed32Rules_DefaultFactory) isSFixed32Rules_DefaultConfig() {} + +func (*SFixed32Rules_MissDefault) isSFixed32Rules_DefaultConfig() {} + +func (*SFixed32Rules_Required) isSFixed32Rules_DefaultConfig() {} + +func (*SFixed32Rules_DefaultTemplate) isSFixed32Rules_DefaultConfig() {} + +type isSFixed32Rules_ExampleConfig interface { + isSFixed32Rules_ExampleConfig() +} + +type SFixed32Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type SFixed32Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*SFixed32Rules_Example) isSFixed32Rules_ExampleConfig() {} + +func (*SFixed32Rules_ExampleFactory) isSFixed32Rules_ExampleConfig() {} + +// SFixed64Rules describes the constraints applied to `sfixed64` values +type SFixed64Rules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *int64 `protobuf:"fixed64,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *int64 `protobuf:"fixed64,2,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + Le *int64 `protobuf:"fixed64,3,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + Gt *int64 `protobuf:"fixed64,4,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + Ge *int64 `protobuf:"fixed64,5,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []int64 `protobuf:"fixed64,6,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int64 `protobuf:"fixed64,7,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *SFixed64Rules_Default + // *SFixed64Rules_DefaultFactory + // *SFixed64Rules_MissDefault + // *SFixed64Rules_Required + // *SFixed64Rules_DefaultTemplate + DefaultConfig isSFixed64Rules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,14,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *SFixed64Rules_Example + // *SFixed64Rules_ExampleFactory + ExampleConfig isSFixed64Rules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *SFixed64Rules) Reset() { + *x = SFixed64Rules{} + mi := &file_p2p_validate_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SFixed64Rules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SFixed64Rules) ProtoMessage() {} + +func (x *SFixed64Rules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SFixed64Rules.ProtoReflect.Descriptor instead. +func (*SFixed64Rules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{13} +} + +func (x *SFixed64Rules) GetConst() int64 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *SFixed64Rules) GetLt() int64 { + if x != nil && x.Lt != nil { + return *x.Lt + } + return 0 +} + +func (x *SFixed64Rules) GetLe() int64 { + if x != nil && x.Le != nil { + return *x.Le + } + return 0 +} + +func (x *SFixed64Rules) GetGt() int64 { + if x != nil && x.Gt != nil { + return *x.Gt + } + return 0 +} + +func (x *SFixed64Rules) GetGe() int64 { + if x != nil && x.Ge != nil { + return *x.Ge + } + return 0 +} + +func (x *SFixed64Rules) GetIn() []int64 { + if x != nil { + return x.In + } + return nil +} + +func (x *SFixed64Rules) GetNotIn() []int64 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *SFixed64Rules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *SFixed64Rules) GetDefaultConfig() isSFixed64Rules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *SFixed64Rules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*SFixed64Rules_Default); ok { + return x.Default + } + return 0 +} + +func (x *SFixed64Rules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*SFixed64Rules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *SFixed64Rules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*SFixed64Rules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *SFixed64Rules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*SFixed64Rules_Required); ok { + return x.Required + } + return false +} + +func (x *SFixed64Rules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*SFixed64Rules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *SFixed64Rules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *SFixed64Rules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *SFixed64Rules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *SFixed64Rules) GetExampleConfig() isSFixed64Rules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *SFixed64Rules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*SFixed64Rules_Example); ok { + return x.Example + } + return 0 +} + +func (x *SFixed64Rules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*SFixed64Rules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *SFixed64Rules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *SFixed64Rules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *SFixed64Rules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *SFixed64Rules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isSFixed64Rules_DefaultConfig interface { + isSFixed64Rules_DefaultConfig() +} + +type SFixed64Rules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type SFixed64Rules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type SFixed64Rules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type SFixed64Rules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type SFixed64Rules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*SFixed64Rules_Default) isSFixed64Rules_DefaultConfig() {} + +func (*SFixed64Rules_DefaultFactory) isSFixed64Rules_DefaultConfig() {} + +func (*SFixed64Rules_MissDefault) isSFixed64Rules_DefaultConfig() {} + +func (*SFixed64Rules_Required) isSFixed64Rules_DefaultConfig() {} + +func (*SFixed64Rules_DefaultTemplate) isSFixed64Rules_DefaultConfig() {} + +type isSFixed64Rules_ExampleConfig interface { + isSFixed64Rules_ExampleConfig() +} + +type SFixed64Rules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type SFixed64Rules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*SFixed64Rules_Example) isSFixed64Rules_ExampleConfig() {} + +func (*SFixed64Rules_ExampleFactory) isSFixed64Rules_ExampleConfig() {} + +// BoolRules describes the constraints applied to `bool` values +type BoolRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *bool `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,2,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *BoolRules_Default + // *BoolRules_MissDefault + // *BoolRules_Required + // *BoolRules_DefaultTemplate + DefaultConfig isBoolRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,5,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,6,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Set the corresponding sample value + Example *bool `protobuf:"varint,7,opt,name=example,proto3,oneof" json:"example,omitempty"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,8,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,9,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *BoolRules) Reset() { + *x = BoolRules{} + mi := &file_p2p_validate_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BoolRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolRules) ProtoMessage() {} + +func (x *BoolRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoolRules.ProtoReflect.Descriptor instead. +func (*BoolRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{14} +} + +func (x *BoolRules) GetConst() bool { + if x != nil && x.Const != nil { + return *x.Const + } + return false +} + +func (x *BoolRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *BoolRules) GetDefaultConfig() isBoolRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *BoolRules) GetDefault() bool { + if x, ok := x.GetDefaultConfig().(*BoolRules_Default); ok { + return x.Default + } + return false +} + +func (x *BoolRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*BoolRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *BoolRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*BoolRules_Required); ok { + return x.Required + } + return false +} + +func (x *BoolRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*BoolRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *BoolRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *BoolRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *BoolRules) GetExample() bool { + if x != nil && x.Example != nil { + return *x.Example + } + return false +} + +func (x *BoolRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *BoolRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *BoolRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *BoolRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isBoolRules_DefaultConfig interface { + isBoolRules_DefaultConfig() +} + +type BoolRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default bool `protobuf:"varint,3,opt,name=default,proto3,oneof"` +} + +type BoolRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type BoolRules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type BoolRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*BoolRules_Default) isBoolRules_DefaultConfig() {} + +func (*BoolRules_MissDefault) isBoolRules_DefaultConfig() {} + +func (*BoolRules_Required) isBoolRules_DefaultConfig() {} + +func (*BoolRules_DefaultTemplate) isBoolRules_DefaultConfig() {} + +// StringRules describe the constraints applied to `string` values +type StringRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *string `protobuf:"bytes,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Len specifies that this field must be the specified number of + // characters (Unicode code points). Note that the number of + // characters may differ from the number of bytes in the string. + Len *uint64 `protobuf:"varint,2,opt,name=len,proto3,oneof" json:"len,omitempty"` + // MinLen specifies that this field must be the specified number of + // characters (Unicode code points) at a minimum. Note that the number of + // characters may differ from the number of bytes in the string. + MinLength *uint64 `protobuf:"varint,3,opt,name=min_length,json=minLength,proto3,oneof" json:"min_length,omitempty"` + // MaxLen specifies that this field must be the specified number of + // characters (Unicode code points) at a maximum. Note that the number of + // characters may differ from the number of bytes in the string. + MaxLength *uint64 `protobuf:"varint,4,opt,name=max_length,json=maxLength,proto3,oneof" json:"max_length,omitempty"` + // Pattern specifes that this field must match against the specified + // regular expression (RE2 syntax). The included expression should elide + // any delimiters. + Pattern *string `protobuf:"bytes,5,opt,name=pattern,proto3,oneof" json:"pattern,omitempty"` + // Prefix specifies that this field must have the specified substring at + // the beginning of the string. + Prefix *string `protobuf:"bytes,6,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"` + // Suffix specifies that this field must have the specified substring at + // the end of the string. + Suffix *string `protobuf:"bytes,7,opt,name=suffix,proto3,oneof" json:"suffix,omitempty"` + // Contains specifies that this field must have the specified substring + // anywhere in the string. + Contains *string `protobuf:"bytes,8,opt,name=contains,proto3,oneof" json:"contains,omitempty"` + // NotContains specifies that this field cannot have the specified substring + // anywhere in the string. + NotContains *string `protobuf:"bytes,9,opt,name=not_contains,json=notContains,proto3,oneof" json:"not_contains,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []string `protobuf:"bytes,10,rep,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []string `protobuf:"bytes,11,rep,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // WellKnown rules provide advanced constraints against common string + // patterns + // + // Types that are assignable to WellKnown: + // + // *StringRules_Email + // *StringRules_Hostname + // *StringRules_Ip + // *StringRules_Ipv4 + // *StringRules_Ipv6 + // *StringRules_Uri + // *StringRules_UriRef + // *StringRules_Address + // *StringRules_Uuid + // *StringRules_PydanticType + WellKnown isStringRules_WellKnown `protobuf_oneof:"well_known"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,23,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *StringRules_Default + // *StringRules_DefaultFactory + // *StringRules_MissDefault + // *StringRules_Required + // *StringRules_DefaultTemplate + DefaultConfig isStringRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,27,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,28,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *StringRules_Example + // *StringRules_ExampleFactory + ExampleConfig isStringRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,32,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,33,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,34,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *StringRules) Reset() { + *x = StringRules{} + mi := &file_p2p_validate_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StringRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringRules) ProtoMessage() {} + +func (x *StringRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StringRules.ProtoReflect.Descriptor instead. +func (*StringRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{15} +} + +func (x *StringRules) GetConst() string { + if x != nil && x.Const != nil { + return *x.Const + } + return "" +} + +func (x *StringRules) GetLen() uint64 { + if x != nil && x.Len != nil { + return *x.Len + } + return 0 +} + +func (x *StringRules) GetMinLength() uint64 { + if x != nil && x.MinLength != nil { + return *x.MinLength + } + return 0 +} + +func (x *StringRules) GetMaxLength() uint64 { + if x != nil && x.MaxLength != nil { + return *x.MaxLength + } + return 0 +} + +func (x *StringRules) GetPattern() string { + if x != nil && x.Pattern != nil { + return *x.Pattern + } + return "" +} + +func (x *StringRules) GetPrefix() string { + if x != nil && x.Prefix != nil { + return *x.Prefix + } + return "" +} + +func (x *StringRules) GetSuffix() string { + if x != nil && x.Suffix != nil { + return *x.Suffix + } + return "" +} + +func (x *StringRules) GetContains() string { + if x != nil && x.Contains != nil { + return *x.Contains + } + return "" +} + +func (x *StringRules) GetNotContains() string { + if x != nil && x.NotContains != nil { + return *x.NotContains + } + return "" +} + +func (x *StringRules) GetIn() []string { + if x != nil { + return x.In + } + return nil +} + +func (x *StringRules) GetNotIn() []string { + if x != nil { + return x.NotIn + } + return nil +} + +func (m *StringRules) GetWellKnown() isStringRules_WellKnown { + if m != nil { + return m.WellKnown + } + return nil +} + +func (x *StringRules) GetEmail() bool { + if x, ok := x.GetWellKnown().(*StringRules_Email); ok { + return x.Email + } + return false +} + +func (x *StringRules) GetHostname() bool { + if x, ok := x.GetWellKnown().(*StringRules_Hostname); ok { + return x.Hostname + } + return false +} + +func (x *StringRules) GetIp() bool { + if x, ok := x.GetWellKnown().(*StringRules_Ip); ok { + return x.Ip + } + return false +} + +func (x *StringRules) GetIpv4() bool { + if x, ok := x.GetWellKnown().(*StringRules_Ipv4); ok { + return x.Ipv4 + } + return false +} + +func (x *StringRules) GetIpv6() bool { + if x, ok := x.GetWellKnown().(*StringRules_Ipv6); ok { + return x.Ipv6 + } + return false +} + +func (x *StringRules) GetUri() bool { + if x, ok := x.GetWellKnown().(*StringRules_Uri); ok { + return x.Uri + } + return false +} + +func (x *StringRules) GetUriRef() bool { + if x, ok := x.GetWellKnown().(*StringRules_UriRef); ok { + return x.UriRef + } + return false +} + +func (x *StringRules) GetAddress() bool { + if x, ok := x.GetWellKnown().(*StringRules_Address); ok { + return x.Address + } + return false +} + +func (x *StringRules) GetUuid() bool { + if x, ok := x.GetWellKnown().(*StringRules_Uuid); ok { + return x.Uuid + } + return false +} + +func (x *StringRules) GetPydanticType() string { + if x, ok := x.GetWellKnown().(*StringRules_PydanticType); ok { + return x.PydanticType + } + return "" +} + +func (x *StringRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *StringRules) GetDefaultConfig() isStringRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *StringRules) GetDefault() string { + if x, ok := x.GetDefaultConfig().(*StringRules_Default); ok { + return x.Default + } + return "" +} + +func (x *StringRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*StringRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *StringRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*StringRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *StringRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*StringRules_Required); ok { + return x.Required + } + return false +} + +func (x *StringRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*StringRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *StringRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *StringRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (m *StringRules) GetExampleConfig() isStringRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *StringRules) GetExample() string { + if x, ok := x.GetExampleConfig().(*StringRules_Example); ok { + return x.Example + } + return "" +} + +func (x *StringRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*StringRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *StringRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *StringRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *StringRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *StringRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isStringRules_WellKnown interface { + isStringRules_WellKnown() +} + +type StringRules_Email struct { + // Email specifies that the field must be a valid email address as + // defined by RFC 5322 + Email bool `protobuf:"varint,12,opt,name=email,proto3,oneof"` +} + +type StringRules_Hostname struct { + // Hostname specifies that the field must be a valid hostname as + // defined by RFC 1034. This constraint does not support + // internationalized domain names (IDNs). + Hostname bool `protobuf:"varint,13,opt,name=hostname,proto3,oneof"` +} + +type StringRules_Ip struct { + // Ip specifies that the field must be a valid IP (v4 or v6) address. + // Valid IPv6 addresses should not include surrounding square brackets. + Ip bool `protobuf:"varint,14,opt,name=ip,proto3,oneof"` +} + +type StringRules_Ipv4 struct { + // Ipv4 specifies that the field must be a valid IPv4 address. + Ipv4 bool `protobuf:"varint,15,opt,name=ipv4,proto3,oneof"` +} + +type StringRules_Ipv6 struct { + // Ipv6 specifies that the field must be a valid IPv6 address. Valid + // IPv6 addresses should not include surrounding square brackets. + Ipv6 bool `protobuf:"varint,16,opt,name=ipv6,proto3,oneof"` +} + +type StringRules_Uri struct { + // Uri specifies that the field must be a valid, absolute URI as defined + // by RFC 3986 + Uri bool `protobuf:"varint,17,opt,name=uri,proto3,oneof"` +} + +type StringRules_UriRef struct { + // UriRef specifies that the field must be a valid URI as defined by RFC + // 3986 and may be relative or absolute. + UriRef bool `protobuf:"varint,18,opt,name=uri_ref,json=uriRef,proto3,oneof"` +} + +type StringRules_Address struct { + // Address specifies that the field must be either a valid hostname as + // defined by RFC 1034 (which does not support internationalized domain + // names or IDNs), or it can be a valid IP (v4 or v6). + Address bool `protobuf:"varint,21,opt,name=address,proto3,oneof"` +} + +type StringRules_Uuid struct { + // Uuid specifies that the field must be a valid UUID as defined by + // RFC 4122 + Uuid bool `protobuf:"varint,22,opt,name=uuid,proto3,oneof"` +} + +type StringRules_PydanticType struct { + // If you want to use the property of pydantic.type, you can directly + // set the value to the string of the corresponding property, + // and then the program will automatically introduce the type of the corresponding string + PydanticType string `protobuf:"bytes,99,opt,name=pydantic_type,json=pydanticType,proto3,oneof"` +} + +func (*StringRules_Email) isStringRules_WellKnown() {} + +func (*StringRules_Hostname) isStringRules_WellKnown() {} + +func (*StringRules_Ip) isStringRules_WellKnown() {} + +func (*StringRules_Ipv4) isStringRules_WellKnown() {} + +func (*StringRules_Ipv6) isStringRules_WellKnown() {} + +func (*StringRules_Uri) isStringRules_WellKnown() {} + +func (*StringRules_UriRef) isStringRules_WellKnown() {} + +func (*StringRules_Address) isStringRules_WellKnown() {} + +func (*StringRules_Uuid) isStringRules_WellKnown() {} + +func (*StringRules_PydanticType) isStringRules_WellKnown() {} + +type isStringRules_DefaultConfig interface { + isStringRules_DefaultConfig() +} + +type StringRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default string `protobuf:"bytes,24,opt,name=default,proto3,oneof"` +} + +type StringRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,25,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type StringRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,26,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type StringRules_Required struct { + // Set field required + Required bool `protobuf:"varint,35,opt,name=required,proto3,oneof"` +} + +type StringRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,36,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*StringRules_Default) isStringRules_DefaultConfig() {} + +func (*StringRules_DefaultFactory) isStringRules_DefaultConfig() {} + +func (*StringRules_MissDefault) isStringRules_DefaultConfig() {} + +func (*StringRules_Required) isStringRules_DefaultConfig() {} + +func (*StringRules_DefaultTemplate) isStringRules_DefaultConfig() {} + +type isStringRules_ExampleConfig interface { + isStringRules_ExampleConfig() +} + +type StringRules_Example struct { + // Set the corresponding sample value + Example string `protobuf:"bytes,30,opt,name=example,proto3,oneof"` +} + +type StringRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,31,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*StringRules_Example) isStringRules_ExampleConfig() {} + +func (*StringRules_ExampleFactory) isStringRules_ExampleConfig() {} + +// BytesRules describe the constraints applied to `bytes` values +type BytesRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const []byte `protobuf:"bytes,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // MinLen specifies that this field must be the specified number of bytes + // at a minimum + MinLength *uint64 `protobuf:"varint,2,opt,name=min_length,json=minLength,proto3,oneof" json:"min_length,omitempty"` + // MaxLen specifies that this field must be the specified number of bytes + // at a maximum + MaxLength *uint64 `protobuf:"varint,3,opt,name=max_length,json=maxLength,proto3,oneof" json:"max_length,omitempty"` + // Prefix specifies that this field must have the specified bytes at the + // beginning of the string. + Prefix []byte `protobuf:"bytes,5,opt,name=prefix,proto3,oneof" json:"prefix,omitempty"` + // Suffix specifies that this field must have the specified bytes at the + // end of the string. + Suffix []byte `protobuf:"bytes,6,opt,name=suffix,proto3,oneof" json:"suffix,omitempty"` + // Contains specifies that this field must have the specified bytes + // anywhere in the string. + Contains []byte `protobuf:"bytes,7,opt,name=contains,proto3,oneof" json:"contains,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In [][]byte `protobuf:"bytes,8,rep,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn [][]byte `protobuf:"bytes,9,rep,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,10,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *BytesRules_Default + // *BytesRules_DefaultFactory + // *BytesRules_MissDefault + // *BytesRules_Required + // *BytesRules_DefaultTemplate + DefaultConfig isBytesRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,14,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,15,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Corresponding multiple validation of the set value + MultipleOf *float32 `protobuf:"fixed32,16,opt,name=multiple_of,json=multipleOf,proto3,oneof" json:"multiple_of,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *BytesRules_Example + // *BytesRules_ExampleFactory + ExampleConfig isBytesRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,19,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,20,opt,name=type,proto3,oneof" json:"type,omitempty"` + // WellKnown rules provide advanced constraints against common byte + // patterns + // + // Types that are assignable to WellKnown: + // + // *BytesRules_Ip + // *BytesRules_Ipv4 + // *BytesRules_Ipv6 + WellKnown isBytesRules_WellKnown `protobuf_oneof:"well_known"` + // The title corresponding to the field + Title *string `protobuf:"bytes,24,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,25,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *BytesRules) Reset() { + *x = BytesRules{} + mi := &file_p2p_validate_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BytesRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BytesRules) ProtoMessage() {} + +func (x *BytesRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BytesRules.ProtoReflect.Descriptor instead. +func (*BytesRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{16} +} + +func (x *BytesRules) GetConst() []byte { + if x != nil { + return x.Const + } + return nil +} + +func (x *BytesRules) GetMinLength() uint64 { + if x != nil && x.MinLength != nil { + return *x.MinLength + } + return 0 +} + +func (x *BytesRules) GetMaxLength() uint64 { + if x != nil && x.MaxLength != nil { + return *x.MaxLength + } + return 0 +} + +func (x *BytesRules) GetPrefix() []byte { + if x != nil { + return x.Prefix + } + return nil +} + +func (x *BytesRules) GetSuffix() []byte { + if x != nil { + return x.Suffix + } + return nil +} + +func (x *BytesRules) GetContains() []byte { + if x != nil { + return x.Contains + } + return nil +} + +func (x *BytesRules) GetIn() [][]byte { + if x != nil { + return x.In + } + return nil +} + +func (x *BytesRules) GetNotIn() [][]byte { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *BytesRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *BytesRules) GetDefaultConfig() isBytesRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *BytesRules) GetDefault() []byte { + if x, ok := x.GetDefaultConfig().(*BytesRules_Default); ok { + return x.Default + } + return nil +} + +func (x *BytesRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*BytesRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *BytesRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*BytesRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *BytesRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*BytesRules_Required); ok { + return x.Required + } + return false +} + +func (x *BytesRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*BytesRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *BytesRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *BytesRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *BytesRules) GetMultipleOf() float32 { + if x != nil && x.MultipleOf != nil { + return *x.MultipleOf + } + return 0 +} + +func (m *BytesRules) GetExampleConfig() isBytesRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *BytesRules) GetExample() []byte { + if x, ok := x.GetExampleConfig().(*BytesRules_Example); ok { + return x.Example + } + return nil +} + +func (x *BytesRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*BytesRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *BytesRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *BytesRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (m *BytesRules) GetWellKnown() isBytesRules_WellKnown { + if m != nil { + return m.WellKnown + } + return nil +} + +func (x *BytesRules) GetIp() bool { + if x, ok := x.GetWellKnown().(*BytesRules_Ip); ok { + return x.Ip + } + return false +} + +func (x *BytesRules) GetIpv4() bool { + if x, ok := x.GetWellKnown().(*BytesRules_Ipv4); ok { + return x.Ipv4 + } + return false +} + +func (x *BytesRules) GetIpv6() bool { + if x, ok := x.GetWellKnown().(*BytesRules_Ipv6); ok { + return x.Ipv6 + } + return false +} + +func (x *BytesRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *BytesRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isBytesRules_DefaultConfig interface { + isBytesRules_DefaultConfig() +} + +type BytesRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default []byte `protobuf:"bytes,11,opt,name=default,proto3,oneof"` +} + +type BytesRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,12,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type BytesRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,13,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type BytesRules_Required struct { + // Set field required + Required bool `protobuf:"varint,26,opt,name=required,proto3,oneof"` +} + +type BytesRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,36,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*BytesRules_Default) isBytesRules_DefaultConfig() {} + +func (*BytesRules_DefaultFactory) isBytesRules_DefaultConfig() {} + +func (*BytesRules_MissDefault) isBytesRules_DefaultConfig() {} + +func (*BytesRules_Required) isBytesRules_DefaultConfig() {} + +func (*BytesRules_DefaultTemplate) isBytesRules_DefaultConfig() {} + +type isBytesRules_ExampleConfig interface { + isBytesRules_ExampleConfig() +} + +type BytesRules_Example struct { + // Set the corresponding sample value + Example []byte `protobuf:"bytes,17,opt,name=example,proto3,oneof"` +} + +type BytesRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,18,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*BytesRules_Example) isBytesRules_ExampleConfig() {} + +func (*BytesRules_ExampleFactory) isBytesRules_ExampleConfig() {} + +type isBytesRules_WellKnown interface { + isBytesRules_WellKnown() +} + +type BytesRules_Ip struct { + // Ip specifies that the field must be a valid IP (v4 or v6) address in + // byte format + Ip bool `protobuf:"varint,21,opt,name=ip,proto3,oneof"` +} + +type BytesRules_Ipv4 struct { + // Ipv4 specifies that the field must be a valid IPv4 address in byte + // format + Ipv4 bool `protobuf:"varint,22,opt,name=ipv4,proto3,oneof"` +} + +type BytesRules_Ipv6 struct { + // Ipv6 specifies that the field must be a valid IPv6 address in byte + // format + Ipv6 bool `protobuf:"varint,23,opt,name=ipv6,proto3,oneof"` +} + +func (*BytesRules_Ip) isBytesRules_WellKnown() {} + +func (*BytesRules_Ipv4) isBytesRules_WellKnown() {} + +func (*BytesRules_Ipv6) isBytesRules_WellKnown() {} + +// EnumRules describe the constraints applied to enum values +type EnumRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *int32 `protobuf:"varint,1,opt,name=const,proto3,oneof" json:"const,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []int32 `protobuf:"varint,3,rep,packed,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []int32 `protobuf:"varint,4,rep,packed,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *EnumRules_Default + // *EnumRules_DefaultFactory + // *EnumRules_MissDefault + // *EnumRules_Required + // *EnumRules_DefaultTemplate + DefaultConfig isEnumRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *EnumRules_Example + // *EnumRules_ExampleFactory + ExampleConfig isEnumRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,18,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *EnumRules) Reset() { + *x = EnumRules{} + mi := &file_p2p_validate_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnumRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnumRules) ProtoMessage() {} + +func (x *EnumRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnumRules.ProtoReflect.Descriptor instead. +func (*EnumRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{17} +} + +func (x *EnumRules) GetConst() int32 { + if x != nil && x.Const != nil { + return *x.Const + } + return 0 +} + +func (x *EnumRules) GetIn() []int32 { + if x != nil { + return x.In + } + return nil +} + +func (x *EnumRules) GetNotIn() []int32 { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *EnumRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *EnumRules) GetDefaultConfig() isEnumRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *EnumRules) GetDefault() int32 { + if x, ok := x.GetDefaultConfig().(*EnumRules_Default); ok { + return x.Default + } + return 0 +} + +func (x *EnumRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*EnumRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *EnumRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*EnumRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *EnumRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*EnumRules_Required); ok { + return x.Required + } + return false +} + +func (x *EnumRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*EnumRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *EnumRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *EnumRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (m *EnumRules) GetExampleConfig() isEnumRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *EnumRules) GetExample() int32 { + if x, ok := x.GetExampleConfig().(*EnumRules_Example); ok { + return x.Example + } + return 0 +} + +func (x *EnumRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*EnumRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *EnumRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *EnumRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *EnumRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isEnumRules_DefaultConfig interface { + isEnumRules_DefaultConfig() +} + +type EnumRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default int32 `protobuf:"varint,9,opt,name=default,proto3,oneof"` +} + +type EnumRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type EnumRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type EnumRules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type EnumRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*EnumRules_Default) isEnumRules_DefaultConfig() {} + +func (*EnumRules_DefaultFactory) isEnumRules_DefaultConfig() {} + +func (*EnumRules_MissDefault) isEnumRules_DefaultConfig() {} + +func (*EnumRules_Required) isEnumRules_DefaultConfig() {} + +func (*EnumRules_DefaultTemplate) isEnumRules_DefaultConfig() {} + +type isEnumRules_ExampleConfig interface { + isEnumRules_ExampleConfig() +} + +type EnumRules_Example struct { + // Set the corresponding sample value + Example int32 `protobuf:"varint,15,opt,name=example,proto3,oneof"` +} + +type EnumRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*EnumRules_Example) isEnumRules_ExampleConfig() {} + +func (*EnumRules_ExampleFactory) isEnumRules_ExampleConfig() {} + +// MessageRules describe the constraints applied to embedded message values. +// For message-type fields, validation is performed recursively. +type MessageRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Skip specifies that the validation rules of this field should not be + // evaluated + Skip *bool `protobuf:"varint,1,opt,name=skip,proto3,oneof" json:"skip,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *MessageRules_Default + // *MessageRules_DefaultFactory + // *MessageRules_MissDefault + // *MessageRules_Required + // *MessageRules_DefaultTemplate + DefaultConfig isMessageRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *MessageRules_Example + // *MessageRules_ExampleFactory + ExampleConfig isMessageRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *MessageRules) Reset() { + *x = MessageRules{} + mi := &file_p2p_validate_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MessageRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageRules) ProtoMessage() {} + +func (x *MessageRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MessageRules.ProtoReflect.Descriptor instead. +func (*MessageRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{18} +} + +func (x *MessageRules) GetSkip() bool { + if x != nil && x.Skip != nil { + return *x.Skip + } + return false +} + +func (x *MessageRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *MessageRules) GetDefaultConfig() isMessageRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *MessageRules) GetDefault() float32 { + if x, ok := x.GetDefaultConfig().(*MessageRules_Default); ok { + return x.Default + } + return 0 +} + +func (x *MessageRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*MessageRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *MessageRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*MessageRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *MessageRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*MessageRules_Required); ok { + return x.Required + } + return false +} + +func (x *MessageRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*MessageRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *MessageRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *MessageRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (m *MessageRules) GetExampleConfig() isMessageRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *MessageRules) GetExample() float32 { + if x, ok := x.GetExampleConfig().(*MessageRules_Example); ok { + return x.Example + } + return 0 +} + +func (x *MessageRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*MessageRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *MessageRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *MessageRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *MessageRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *MessageRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isMessageRules_DefaultConfig interface { + isMessageRules_DefaultConfig() +} + +type MessageRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default float32 `protobuf:"fixed32,9,opt,name=default,proto3,oneof"` +} + +type MessageRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type MessageRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type MessageRules_Required struct { + // Set field required + Required bool `protobuf:"varint,2,opt,name=required,proto3,oneof"` +} + +type MessageRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*MessageRules_Default) isMessageRules_DefaultConfig() {} + +func (*MessageRules_DefaultFactory) isMessageRules_DefaultConfig() {} + +func (*MessageRules_MissDefault) isMessageRules_DefaultConfig() {} + +func (*MessageRules_Required) isMessageRules_DefaultConfig() {} + +func (*MessageRules_DefaultTemplate) isMessageRules_DefaultConfig() {} + +type isMessageRules_ExampleConfig interface { + isMessageRules_ExampleConfig() +} + +type MessageRules_Example struct { + // Set the corresponding sample value + Example float32 `protobuf:"fixed32,15,opt,name=example,proto3,oneof"` +} + +type MessageRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*MessageRules_Example) isMessageRules_ExampleConfig() {} + +func (*MessageRules_ExampleFactory) isMessageRules_ExampleConfig() {} + +// RepeatedRules describe the constraints applied to `repeated` values +type RepeatedRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // MinItems specifies that this field must have the specified number of + // items at a minimum + MinItems *uint64 `protobuf:"varint,1,opt,name=min_items,json=minItems,proto3,oneof" json:"min_items,omitempty"` + // MaxItems specifies that this field must have the specified number of + // items at a maximum + MaxItems *uint64 `protobuf:"varint,2,opt,name=max_items,json=maxItems,proto3,oneof" json:"max_items,omitempty"` + // Unique specifies that all elements in this field must be unique. This + // contraint is only applicable to scalar and enum types (messages are not + // supported). + Unique *bool `protobuf:"varint,3,opt,name=unique,proto3,oneof" json:"unique,omitempty"` + // Items specifies the contraints to be applied to each item in the field. + // Repeated message fields will still execute validation against each item + // unless skip is specified here. + Items *FieldRules `protobuf:"bytes,4,opt,name=items,proto3,oneof" json:"items,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *RepeatedRules_DefaultFactory + // *RepeatedRules_MissDefault + // *RepeatedRules_Required + // *RepeatedRules_DefaultTemplate + DefaultConfig isRepeatedRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *RepeatedRules_ExampleFactory + ExampleConfig isRepeatedRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *RepeatedRules) Reset() { + *x = RepeatedRules{} + mi := &file_p2p_validate_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepeatedRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepeatedRules) ProtoMessage() {} + +func (x *RepeatedRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepeatedRules.ProtoReflect.Descriptor instead. +func (*RepeatedRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{19} +} + +func (x *RepeatedRules) GetMinItems() uint64 { + if x != nil && x.MinItems != nil { + return *x.MinItems + } + return 0 +} + +func (x *RepeatedRules) GetMaxItems() uint64 { + if x != nil && x.MaxItems != nil { + return *x.MaxItems + } + return 0 +} + +func (x *RepeatedRules) GetUnique() bool { + if x != nil && x.Unique != nil { + return *x.Unique + } + return false +} + +func (x *RepeatedRules) GetItems() *FieldRules { + if x != nil { + return x.Items + } + return nil +} + +func (x *RepeatedRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *RepeatedRules) GetDefaultConfig() isRepeatedRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *RepeatedRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*RepeatedRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *RepeatedRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*RepeatedRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *RepeatedRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*RepeatedRules_Required); ok { + return x.Required + } + return false +} + +func (x *RepeatedRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*RepeatedRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *RepeatedRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *RepeatedRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (m *RepeatedRules) GetExampleConfig() isRepeatedRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *RepeatedRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*RepeatedRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *RepeatedRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *RepeatedRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *RepeatedRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *RepeatedRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isRepeatedRules_DefaultConfig interface { + isRepeatedRules_DefaultConfig() +} + +type RepeatedRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type RepeatedRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type RepeatedRules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type RepeatedRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*RepeatedRules_DefaultFactory) isRepeatedRules_DefaultConfig() {} + +func (*RepeatedRules_MissDefault) isRepeatedRules_DefaultConfig() {} + +func (*RepeatedRules_Required) isRepeatedRules_DefaultConfig() {} + +func (*RepeatedRules_DefaultTemplate) isRepeatedRules_DefaultConfig() {} + +type isRepeatedRules_ExampleConfig interface { + isRepeatedRules_ExampleConfig() +} + +type RepeatedRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*RepeatedRules_ExampleFactory) isRepeatedRules_ExampleConfig() {} + +// MapRules describe the constraints applied to `map` values +type MapRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // MinPairs specifies that this field must have the specified number of + // KVs at a minimum + MinPairs *uint64 `protobuf:"varint,1,opt,name=min_pairs,json=minPairs,proto3,oneof" json:"min_pairs,omitempty"` + // MaxPairs specifies that this field must have the specified number of + // KVs at a maximum + MaxPairs *uint64 `protobuf:"varint,2,opt,name=max_pairs,json=maxPairs,proto3,oneof" json:"max_pairs,omitempty"` + // Keys specifies the constraints to be applied to each key in the field. + Keys *FieldRules `protobuf:"bytes,4,opt,name=keys,proto3,oneof" json:"keys,omitempty"` + // Values specifies the constraints to be applied to the value of each key + // in the field. Message values will still have their validations evaluated + // unless skip is specified here. + Values *FieldRules `protobuf:"bytes,5,opt,name=values,proto3,oneof" json:"values,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *MapRules_DefaultFactory + // *MapRules_MissDefault + // *MapRules_Required + // *MapRules_DefaultTemplate + DefaultConfig isMapRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *MapRules_ExampleFactory + ExampleConfig isMapRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *MapRules) Reset() { + *x = MapRules{} + mi := &file_p2p_validate_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MapRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapRules) ProtoMessage() {} + +func (x *MapRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MapRules.ProtoReflect.Descriptor instead. +func (*MapRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{20} +} + +func (x *MapRules) GetMinPairs() uint64 { + if x != nil && x.MinPairs != nil { + return *x.MinPairs + } + return 0 +} + +func (x *MapRules) GetMaxPairs() uint64 { + if x != nil && x.MaxPairs != nil { + return *x.MaxPairs + } + return 0 +} + +func (x *MapRules) GetKeys() *FieldRules { + if x != nil { + return x.Keys + } + return nil +} + +func (x *MapRules) GetValues() *FieldRules { + if x != nil { + return x.Values + } + return nil +} + +func (x *MapRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *MapRules) GetDefaultConfig() isMapRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *MapRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*MapRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *MapRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*MapRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *MapRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*MapRules_Required); ok { + return x.Required + } + return false +} + +func (x *MapRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*MapRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *MapRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *MapRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (m *MapRules) GetExampleConfig() isMapRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *MapRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*MapRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *MapRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *MapRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *MapRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *MapRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isMapRules_DefaultConfig interface { + isMapRules_DefaultConfig() +} + +type MapRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type MapRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type MapRules_Required struct { + // Set field required + Required bool `protobuf:"varint,21,opt,name=required,proto3,oneof"` +} + +type MapRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*MapRules_DefaultFactory) isMapRules_DefaultConfig() {} + +func (*MapRules_MissDefault) isMapRules_DefaultConfig() {} + +func (*MapRules_Required) isMapRules_DefaultConfig() {} + +func (*MapRules_DefaultTemplate) isMapRules_DefaultConfig() {} + +type isMapRules_ExampleConfig interface { + isMapRules_ExampleConfig() +} + +type MapRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*MapRules_ExampleFactory) isMapRules_ExampleConfig() {} + +// AnyRules describe constraints applied exclusively to the +// `google.protobuf.Any` well-known type +type AnyRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // In specifies that this field's `type_url` must be equal to one of the + // specified values. + In []string `protobuf:"bytes,2,rep,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field's `type_url` must not be equal to any of + // the specified values. + NotIn []string `protobuf:"bytes,3,rep,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,8,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *AnyRules_Default + // *AnyRules_DefaultFactory + // *AnyRules_MissDefault + // *AnyRules_Required + // *AnyRules_DefaultTemplate + DefaultConfig isAnyRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *AnyRules_Example + // *AnyRules_ExampleFactory + ExampleConfig isAnyRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,16,opt,name=field,proto3,oneof" json:"field,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,17,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *AnyRules) Reset() { + *x = AnyRules{} + mi := &file_p2p_validate_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AnyRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnyRules) ProtoMessage() {} + +func (x *AnyRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnyRules.ProtoReflect.Descriptor instead. +func (*AnyRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{21} +} + +func (x *AnyRules) GetIn() []string { + if x != nil { + return x.In + } + return nil +} + +func (x *AnyRules) GetNotIn() []string { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *AnyRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *AnyRules) GetDefaultConfig() isAnyRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *AnyRules) GetDefault() string { + if x, ok := x.GetDefaultConfig().(*AnyRules_Default); ok { + return x.Default + } + return "" +} + +func (x *AnyRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*AnyRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *AnyRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*AnyRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *AnyRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*AnyRules_Required); ok { + return x.Required + } + return false +} + +func (x *AnyRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*AnyRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *AnyRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *AnyRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (m *AnyRules) GetExampleConfig() isAnyRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *AnyRules) GetExample() string { + if x, ok := x.GetExampleConfig().(*AnyRules_Example); ok { + return x.Example + } + return "" +} + +func (x *AnyRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*AnyRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *AnyRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *AnyRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *AnyRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isAnyRules_DefaultConfig interface { + isAnyRules_DefaultConfig() +} + +type AnyRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default string `protobuf:"bytes,9,opt,name=default,proto3,oneof"` +} + +type AnyRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type AnyRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type AnyRules_Required struct { + // Set field required + Required bool `protobuf:"varint,1,opt,name=required,proto3,oneof"` +} + +type AnyRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*AnyRules_Default) isAnyRules_DefaultConfig() {} + +func (*AnyRules_DefaultFactory) isAnyRules_DefaultConfig() {} + +func (*AnyRules_MissDefault) isAnyRules_DefaultConfig() {} + +func (*AnyRules_Required) isAnyRules_DefaultConfig() {} + +func (*AnyRules_DefaultTemplate) isAnyRules_DefaultConfig() {} + +type isAnyRules_ExampleConfig interface { + isAnyRules_ExampleConfig() +} + +type AnyRules_Example struct { + // Set the corresponding sample value + Example string `protobuf:"bytes,14,opt,name=example,proto3,oneof"` +} + +type AnyRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,15,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*AnyRules_Example) isAnyRules_ExampleConfig() {} + +func (*AnyRules_ExampleFactory) isAnyRules_ExampleConfig() {} + +// DurationRules describe the constraints applied exclusively to the +// `google.protobuf.Duration` well-known type +type DurationRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *durationpb.Duration `protobuf:"bytes,2,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *durationpb.Duration `protobuf:"bytes,3,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lt specifies that this field must be less than the specified value, + // inclusive + Le *durationpb.Duration `protobuf:"bytes,4,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive + Gt *durationpb.Duration `protobuf:"bytes,5,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than the specified value, + // inclusive + Ge *durationpb.Duration `protobuf:"bytes,6,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // In specifies that this field must be equal to one of the specified + // values + In []*durationpb.Duration `protobuf:"bytes,7,rep,name=in,proto3" json:"in,omitempty"` + // NotIn specifies that this field cannot be equal to one of the specified + // values + NotIn []*durationpb.Duration `protobuf:"bytes,8,rep,name=not_in,json=notIn,proto3" json:"not_in,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,14,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *DurationRules_Default + // *DurationRules_DefaultFactory + // *DurationRules_MissDefault + // *DurationRules_Required + // *DurationRules_DefaultTemplate + DefaultConfig isDurationRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,12,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *DurationRules_Example + // *DurationRules_ExampleFactory + ExampleConfig isDurationRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,17,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,18,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,19,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,20,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *DurationRules) Reset() { + *x = DurationRules{} + mi := &file_p2p_validate_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DurationRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DurationRules) ProtoMessage() {} + +func (x *DurationRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DurationRules.ProtoReflect.Descriptor instead. +func (*DurationRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{22} +} + +func (x *DurationRules) GetConst() *durationpb.Duration { + if x != nil { + return x.Const + } + return nil +} + +func (x *DurationRules) GetLt() *durationpb.Duration { + if x != nil { + return x.Lt + } + return nil +} + +func (x *DurationRules) GetLe() *durationpb.Duration { + if x != nil { + return x.Le + } + return nil +} + +func (x *DurationRules) GetGt() *durationpb.Duration { + if x != nil { + return x.Gt + } + return nil +} + +func (x *DurationRules) GetGe() *durationpb.Duration { + if x != nil { + return x.Ge + } + return nil +} + +func (x *DurationRules) GetIn() []*durationpb.Duration { + if x != nil { + return x.In + } + return nil +} + +func (x *DurationRules) GetNotIn() []*durationpb.Duration { + if x != nil { + return x.NotIn + } + return nil +} + +func (x *DurationRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *DurationRules) GetDefaultConfig() isDurationRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *DurationRules) GetDefault() *durationpb.Duration { + if x, ok := x.GetDefaultConfig().(*DurationRules_Default); ok { + return x.Default + } + return nil +} + +func (x *DurationRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*DurationRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *DurationRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*DurationRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *DurationRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*DurationRules_Required); ok { + return x.Required + } + return false +} + +func (x *DurationRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*DurationRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *DurationRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *DurationRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (m *DurationRules) GetExampleConfig() isDurationRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *DurationRules) GetExample() *durationpb.Duration { + if x, ok := x.GetExampleConfig().(*DurationRules_Example); ok { + return x.Example + } + return nil +} + +func (x *DurationRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*DurationRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *DurationRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *DurationRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *DurationRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *DurationRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isDurationRules_DefaultConfig interface { + isDurationRules_DefaultConfig() +} + +type DurationRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default *durationpb.Duration `protobuf:"bytes,9,opt,name=default,proto3,oneof"` +} + +type DurationRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,10,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type DurationRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,11,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type DurationRules_Required struct { + // Set field required + Required bool `protobuf:"varint,1,opt,name=required,proto3,oneof"` +} + +type DurationRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*DurationRules_Default) isDurationRules_DefaultConfig() {} + +func (*DurationRules_DefaultFactory) isDurationRules_DefaultConfig() {} + +func (*DurationRules_MissDefault) isDurationRules_DefaultConfig() {} + +func (*DurationRules_Required) isDurationRules_DefaultConfig() {} + +func (*DurationRules_DefaultTemplate) isDurationRules_DefaultConfig() {} + +type isDurationRules_ExampleConfig interface { + isDurationRules_ExampleConfig() +} + +type DurationRules_Example struct { + // Set the corresponding sample value + Example *durationpb.Duration `protobuf:"bytes,15,opt,name=example,proto3,oneof"` +} + +type DurationRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,16,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*DurationRules_Example) isDurationRules_ExampleConfig() {} + +func (*DurationRules_ExampleFactory) isDurationRules_ExampleConfig() {} + +// TimestampRules describe the constraints applied exclusively to the +// `google.protobuf.Timestamp` well-known type +type TimestampRules struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Const specifies that this field must be exactly the specified value + Const *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=const,proto3,oneof" json:"const,omitempty"` + // Lt specifies that this field must be less than the specified value, + // exclusive + Lt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lt,proto3,oneof" json:"lt,omitempty"` + // Lte specifies that this field must be less than the specified value, + // inclusive + Le *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=le,proto3,oneof" json:"le,omitempty"` + // Gt specifies that this field must be greater than the specified value, + // exclusive + Gt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=gt,proto3,oneof" json:"gt,omitempty"` + // Gte specifies that this field must be greater than the specified value, + // inclusive + Ge *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=ge,proto3,oneof" json:"ge,omitempty"` + // LtNow specifies that this must be less than the current time. LtNow + // can only be used with the Within rule. + LtNow *bool `protobuf:"varint,7,opt,name=lt_now,json=ltNow,proto3,oneof" json:"lt_now,omitempty"` + // GtNow specifies that this must be greater than the current time. GtNow + // can only be used with the Within rule. + GtNow *bool `protobuf:"varint,8,opt,name=gt_now,json=gtNow,proto3,oneof" json:"gt_now,omitempty"` + // Within specifies that this field must be within this duration of the + // current time. This constraint can be used alone or with the LtNow and + // GtNow rules. + Within *durationpb.Duration `protobuf:"bytes,9,opt,name=within,proto3,oneof" json:"within,omitempty"` + // Whether to enable this field, if not, the generated Model will not carry this field + Enable *bool `protobuf:"varint,10,opt,name=enable,proto3,oneof" json:"enable,omitempty"` + // Types that are assignable to DefaultConfig: + // + // *TimestampRules_Default + // *TimestampRules_DefaultFactory + // *TimestampRules_MissDefault + // *TimestampRules_Required + // *TimestampRules_DefaultTemplate + DefaultConfig isTimestampRules_DefaultConfig `protobuf_oneof:"default_config"` + // Set the alias of the field in the pydantic.Base Model + Alias *string `protobuf:"bytes,14,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + // Set the description of the field + Description *string `protobuf:"bytes,15,opt,name=description,proto3,oneof" json:"description,omitempty"` + // Types that are assignable to ExampleConfig: + // + // *TimestampRules_Example + // *TimestampRules_ExampleFactory + ExampleConfig isTimestampRules_ExampleConfig `protobuf_oneof:"example_config"` + // Set the Field object corresponding to the field, support template variables + Field *string `protobuf:"bytes,18,opt,name=field,proto3,oneof" json:"field,omitempty"` + // Set the type object corresponding to the field, support template variables + Type *string `protobuf:"bytes,19,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The title corresponding to the field + Title *string `protobuf:"bytes,20,opt,name=title,proto3,oneof" json:"title,omitempty"` + // Field's custom extension parameter in the format Json + Extra *string `protobuf:"bytes,21,opt,name=extra,proto3,oneof" json:"extra,omitempty"` +} + +func (x *TimestampRules) Reset() { + *x = TimestampRules{} + mi := &file_p2p_validate_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimestampRules) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimestampRules) ProtoMessage() {} + +func (x *TimestampRules) ProtoReflect() protoreflect.Message { + mi := &file_p2p_validate_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimestampRules.ProtoReflect.Descriptor instead. +func (*TimestampRules) Descriptor() ([]byte, []int) { + return file_p2p_validate_proto_rawDescGZIP(), []int{23} +} + +func (x *TimestampRules) GetConst() *timestamppb.Timestamp { + if x != nil { + return x.Const + } + return nil +} + +func (x *TimestampRules) GetLt() *timestamppb.Timestamp { + if x != nil { + return x.Lt + } + return nil +} + +func (x *TimestampRules) GetLe() *timestamppb.Timestamp { + if x != nil { + return x.Le + } + return nil +} + +func (x *TimestampRules) GetGt() *timestamppb.Timestamp { + if x != nil { + return x.Gt + } + return nil +} + +func (x *TimestampRules) GetGe() *timestamppb.Timestamp { + if x != nil { + return x.Ge + } + return nil +} + +func (x *TimestampRules) GetLtNow() bool { + if x != nil && x.LtNow != nil { + return *x.LtNow + } + return false +} + +func (x *TimestampRules) GetGtNow() bool { + if x != nil && x.GtNow != nil { + return *x.GtNow + } + return false +} + +func (x *TimestampRules) GetWithin() *durationpb.Duration { + if x != nil { + return x.Within + } + return nil +} + +func (x *TimestampRules) GetEnable() bool { + if x != nil && x.Enable != nil { + return *x.Enable + } + return false +} + +func (m *TimestampRules) GetDefaultConfig() isTimestampRules_DefaultConfig { + if m != nil { + return m.DefaultConfig + } + return nil +} + +func (x *TimestampRules) GetDefault() *timestamppb.Timestamp { + if x, ok := x.GetDefaultConfig().(*TimestampRules_Default); ok { + return x.Default + } + return nil +} + +func (x *TimestampRules) GetDefaultFactory() string { + if x, ok := x.GetDefaultConfig().(*TimestampRules_DefaultFactory); ok { + return x.DefaultFactory + } + return "" +} + +func (x *TimestampRules) GetMissDefault() bool { + if x, ok := x.GetDefaultConfig().(*TimestampRules_MissDefault); ok { + return x.MissDefault + } + return false +} + +func (x *TimestampRules) GetRequired() bool { + if x, ok := x.GetDefaultConfig().(*TimestampRules_Required); ok { + return x.Required + } + return false +} + +func (x *TimestampRules) GetDefaultTemplate() string { + if x, ok := x.GetDefaultConfig().(*TimestampRules_DefaultTemplate); ok { + return x.DefaultTemplate + } + return "" +} + +func (x *TimestampRules) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *TimestampRules) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (m *TimestampRules) GetExampleConfig() isTimestampRules_ExampleConfig { + if m != nil { + return m.ExampleConfig + } + return nil +} + +func (x *TimestampRules) GetExample() *timestamppb.Timestamp { + if x, ok := x.GetExampleConfig().(*TimestampRules_Example); ok { + return x.Example + } + return nil +} + +func (x *TimestampRules) GetExampleFactory() string { + if x, ok := x.GetExampleConfig().(*TimestampRules_ExampleFactory); ok { + return x.ExampleFactory + } + return "" +} + +func (x *TimestampRules) GetField() string { + if x != nil && x.Field != nil { + return *x.Field + } + return "" +} + +func (x *TimestampRules) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *TimestampRules) GetTitle() string { + if x != nil && x.Title != nil { + return *x.Title + } + return "" +} + +func (x *TimestampRules) GetExtra() string { + if x != nil && x.Extra != nil { + return *x.Extra + } + return "" +} + +type isTimestampRules_DefaultConfig interface { + isTimestampRules_DefaultConfig() +} + +type TimestampRules_Default struct { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + Default *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=default,proto3,oneof"` +} + +type TimestampRules_DefaultFactory struct { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + DefaultFactory string `protobuf:"bytes,12,opt,name=default_factory,json=defaultFactory,proto3,oneof"` +} + +type TimestampRules_MissDefault struct { + // Set field required[Will be deprecated after version 1.0.0] + MissDefault bool `protobuf:"varint,13,opt,name=miss_default,json=missDefault,proto3,oneof"` +} + +type TimestampRules_Required struct { + // Set field required + Required bool `protobuf:"varint,1,opt,name=required,proto3,oneof"` +} + +type TimestampRules_DefaultTemplate struct { + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + DefaultTemplate string `protobuf:"bytes,22,opt,name=default_template,json=defaultTemplate,proto3,oneof"` +} + +func (*TimestampRules_Default) isTimestampRules_DefaultConfig() {} + +func (*TimestampRules_DefaultFactory) isTimestampRules_DefaultConfig() {} + +func (*TimestampRules_MissDefault) isTimestampRules_DefaultConfig() {} + +func (*TimestampRules_Required) isTimestampRules_DefaultConfig() {} + +func (*TimestampRules_DefaultTemplate) isTimestampRules_DefaultConfig() {} + +type isTimestampRules_ExampleConfig interface { + isTimestampRules_ExampleConfig() +} + +type TimestampRules_Example struct { + // Set the corresponding sample value + Example *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=example,proto3,oneof"` +} + +type TimestampRules_ExampleFactory struct { + // Set the corresponding sample value factory function, support template variables + ExampleFactory string `protobuf:"bytes,17,opt,name=example_factory,json=exampleFactory,proto3,oneof"` +} + +func (*TimestampRules_Example) isTimestampRules_ExampleConfig() {} + +func (*TimestampRules_ExampleFactory) isTimestampRules_ExampleConfig() {} + +var file_p2p_validate_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.MessageOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 1073, + Name: "p2p_validate.ignored", + Tag: "varint,1073,opt,name=ignored", + Filename: "p2p_validate.proto", + }, + { + ExtendedType: (*descriptorpb.OneofOptions)(nil), + ExtensionType: (*bool)(nil), + Field: 1073, + Name: "p2p_validate.required", + Tag: "varint,1073,opt,name=required", + Filename: "p2p_validate.proto", + }, + { + ExtendedType: (*descriptorpb.OneofOptions)(nil), + ExtensionType: (*OneofRules)(nil), + Field: 1074, + Name: "p2p_validate.oneof_extend", + Tag: "bytes,1074,opt,name=oneof_extend", + Filename: "p2p_validate.proto", + }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*FieldRules)(nil), + Field: 1073, + Name: "p2p_validate.rules", + Tag: "bytes,1073,opt,name=rules", + Filename: "p2p_validate.proto", + }, +} + +// Extension fields to descriptorpb.MessageOptions. +var ( + // Ignore skips generation of validation methods for this message. + // + // optional bool ignored = 1073; + E_Ignored = &file_p2p_validate_proto_extTypes[0] +) + +// Extension fields to descriptorpb.OneofOptions. +var ( + // Required ensures that exactly one the field options in a oneof is set; + // validation fails if no fields in the oneof are set. + // + // optional bool required = 1073; + E_Required = &file_p2p_validate_proto_extTypes[1] + // optional p2p_validate.OneofRules oneof_extend = 1074; + E_OneofExtend = &file_p2p_validate_proto_extTypes[2] +) + +// Extension fields to descriptorpb.FieldOptions. +var ( + // Rules specify the validations to be performed on this field. By default, + // no validation is performed against a field. + // + // optional p2p_validate.FieldRules rules = 1073; + E_Rules = &file_p2p_validate_proto_extTypes[3] +) + +var File_p2p_validate_proto protoreflect.FileDescriptor + +var file_p2p_validate_proto_rawDesc = []byte{ + 0x0a, 0x12, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x28, 0x0a, 0x0a, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, + 0xb1, 0x09, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x39, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x01, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x05, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x32, + 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x12, 0x30, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x12, 0x33, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, + 0x00, 0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x33, 0x0a, 0x06, 0x75, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x32, 0x70, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x33, + 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, + 0x52, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x36, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x32, 0x70, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x12, 0x36, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, + 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x32, 0x70, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x12, 0x39, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2d, + 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, + 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x33, 0x0a, + 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x04, 0x65, + 0x6e, 0x75, 0x6d, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2a, + 0x0a, 0x03, 0x6d, 0x61, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x32, + 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x03, 0x61, 0x6e, + 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, + 0x00, 0x52, 0x03, 0x61, 0x6e, 0x79, 0x12, 0x39, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x22, 0xb5, 0x06, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x02, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, + 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x04, + 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x02, 0x69, + 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x02, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, + 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, + 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, + 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb6, 0x06, 0x0a, 0x0b, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x01, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x02, + 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x01, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x01, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, + 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, + 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, + 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, + 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, + 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, + 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, + 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x22, 0xb5, 0x06, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, + 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, + 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, + 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb5, 0x06, 0x0a, + 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x02, + 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, + 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, + 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, + 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, + 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, + 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, + 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, + 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x22, 0xb6, 0x06, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x13, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x02, 0x6c, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, + 0x0a, 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, + 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, + 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, + 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb6, 0x06, + 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, + 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x05, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, + 0x02, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, + 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, + 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, + 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, + 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, + 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, + 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb6, 0x06, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x11, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x48, 0x03, 0x52, + 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x11, 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x11, 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x13, 0x0a, 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x48, 0x06, 0x52, 0x02, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x11, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x11, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, + 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, + 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, + 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, + 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, + 0xb6, 0x06, 0x0a, 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x48, 0x02, + 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x13, 0x0a, 0x02, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x48, 0x04, 0x52, 0x02, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, + 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x12, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x12, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, + 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x12, 0x52, 0x05, + 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, + 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, + 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, + 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, + 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, + 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, + 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, + 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb7, 0x06, 0x0a, 0x0c, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, + 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x07, 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, + 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x48, + 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x07, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, + 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x07, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, + 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, + 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, + 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x07, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, + 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, + 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x22, 0xb7, 0x06, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x06, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, + 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x06, 0x48, + 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x06, 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, + 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x06, 0x52, 0x02, + 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x06, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, + 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb8, 0x06, 0x0a, + 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, + 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x48, 0x02, 0x52, + 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0f, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, + 0x0a, 0x02, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0f, 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0f, 0x48, + 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0f, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, + 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x05, 0x6e, + 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, + 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, + 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x48, + 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x02, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x74, 0x69, + 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, + 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb8, 0x06, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x10, + 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x10, 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x13, + 0x0a, 0x02, 0x67, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x10, 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x10, 0x48, + 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x10, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, + 0x69, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x10, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, + 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, + 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, + 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x07, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0b, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0e, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, + 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, + 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x22, 0x8e, 0x04, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, + 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, + 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x22, 0x81, 0x0a, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x15, + 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x03, 0x6c, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x09, 0x6d, 0x69, 0x6e, + 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, + 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, + 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, + 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x75, 0x66, + 0x66, 0x69, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x06, 0x73, 0x75, 0x66, + 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, + 0x0b, 0x6e, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, + 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1c, + 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x02, + 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, + 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, + 0x69, 0x70, 0x76, 0x34, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x12, 0x12, 0x0a, 0x03, 0x75, 0x72, + 0x69, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x19, + 0x0a, 0x07, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x06, 0x75, 0x72, 0x69, 0x52, 0x65, 0x66, 0x12, 0x1a, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x70, + 0x79, 0x64, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x63, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x79, 0x64, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x0c, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, + 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x23, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x24, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, + 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x22, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x11, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, + 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, + 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, 0x6c, + 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xf5, 0x07, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x09, 0x6d, 0x61, 0x78, + 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x06, 0x52, 0x06, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x07, 0x52, 0x06, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, + 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, + 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, + 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0b, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0c, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x4f, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, + 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, + 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, + 0x52, 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x02, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x70, + 0x76, 0x36, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, + 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0f, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x77, 0x65, + 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, + 0xec, 0x04, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, + 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x05, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, + 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, + 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x03, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, + 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, + 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x05, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x08, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, + 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xe7, + 0x04, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x17, 0x0a, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, + 0x04, 0x73, 0x6b, 0x69, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, + 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48, + 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, + 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xd5, 0x05, 0x0a, 0x0d, 0x52, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, + 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, + 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, + 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, + 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x32, 0x70, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x48, 0x05, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x06, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, + 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, + 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, + 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x22, 0xe7, 0x05, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x20, 0x0a, + 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x69, 0x72, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x65, 0x79, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x05, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, + 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x07, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x19, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, + 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x65, 0x79, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xc6, 0x04, 0x0a, 0x08, 0x41, + 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, + 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, + 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, + 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x05, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x07, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, + 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x22, 0xf5, 0x07, 0x0a, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x02, 0x6c, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x02, 0x6c, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x04, 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x02, 0x67, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x02, 0x67, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x02, 0x69, + 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, 0x0a, 0x0f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x5f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x05, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, + 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, + 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x65, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0xb1, 0x08, 0x0a, 0x0e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x35, + 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x02, 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, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x02, 0x6c, 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, 0x48, 0x03, 0x52, + 0x02, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x02, 0x6c, 0x65, 0x18, 0x04, 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, 0x48, 0x04, + 0x52, 0x02, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x02, 0x67, 0x74, 0x18, 0x05, 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, 0x48, + 0x05, 0x52, 0x02, 0x67, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x02, 0x67, 0x65, 0x18, 0x06, + 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, + 0x48, 0x06, 0x52, 0x02, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, 0x6c, 0x74, 0x5f, + 0x6e, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x05, 0x6c, 0x74, 0x4e, + 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, 0x67, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x08, 0x52, 0x05, 0x67, 0x74, 0x4e, 0x6f, 0x77, 0x88, 0x01, + 0x01, 0x12, 0x36, 0x0a, 0x06, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x09, 0x52, 0x06, + 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x18, 0x0b, 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, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x29, + 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x6d, 0x69, 0x73, + 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1c, + 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x10, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x07, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x10, 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, 0x48, 0x01, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x66, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x19, + 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, + 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0f, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, + 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x05, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x65, 0x78, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6c, 0x74, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x6c, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x67, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x67, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, 0x69, 0x74, + 0x68, 0x69, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x3a, + 0x3d, 0x0a, 0x07, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb1, 0x08, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x3a, 0x3d, + 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4f, 0x6e, 0x65, + 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb1, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x3a, 0x5e, 0x0a, + 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb2, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0b, 0x6f, + 0x6e, 0x65, 0x6f, 0x66, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x3a, 0x51, 0x0a, + 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb1, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, + 0x32, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x88, 0x01, 0x01, + 0x42, 0x35, 0x5a, 0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, + 0x75, 0x70, 0x79, 0x74, 0x65, 0x72, 0x2d, 0x6e, 0x61, 0x61, 0x73, 0x2f, 0x6e, 0x61, 0x61, 0x73, + 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x70, 0x32, 0x70, 0x5f, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_p2p_validate_proto_rawDescOnce sync.Once + file_p2p_validate_proto_rawDescData = file_p2p_validate_proto_rawDesc +) + +func file_p2p_validate_proto_rawDescGZIP() []byte { + file_p2p_validate_proto_rawDescOnce.Do(func() { + file_p2p_validate_proto_rawDescData = protoimpl.X.CompressGZIP(file_p2p_validate_proto_rawDescData) + }) + return file_p2p_validate_proto_rawDescData +} + +var file_p2p_validate_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_p2p_validate_proto_goTypes = []any{ + (*OneofRules)(nil), // 0: p2p_validate.OneofRules + (*FieldRules)(nil), // 1: p2p_validate.FieldRules + (*FloatRules)(nil), // 2: p2p_validate.FloatRules + (*DoubleRules)(nil), // 3: p2p_validate.DoubleRules + (*Int32Rules)(nil), // 4: p2p_validate.Int32Rules + (*Int64Rules)(nil), // 5: p2p_validate.Int64Rules + (*UInt32Rules)(nil), // 6: p2p_validate.UInt32Rules + (*UInt64Rules)(nil), // 7: p2p_validate.UInt64Rules + (*SInt32Rules)(nil), // 8: p2p_validate.SInt32Rules + (*SInt64Rules)(nil), // 9: p2p_validate.SInt64Rules + (*Fixed32Rules)(nil), // 10: p2p_validate.Fixed32Rules + (*Fixed64Rules)(nil), // 11: p2p_validate.Fixed64Rules + (*SFixed32Rules)(nil), // 12: p2p_validate.SFixed32Rules + (*SFixed64Rules)(nil), // 13: p2p_validate.SFixed64Rules + (*BoolRules)(nil), // 14: p2p_validate.BoolRules + (*StringRules)(nil), // 15: p2p_validate.StringRules + (*BytesRules)(nil), // 16: p2p_validate.BytesRules + (*EnumRules)(nil), // 17: p2p_validate.EnumRules + (*MessageRules)(nil), // 18: p2p_validate.MessageRules + (*RepeatedRules)(nil), // 19: p2p_validate.RepeatedRules + (*MapRules)(nil), // 20: p2p_validate.MapRules + (*AnyRules)(nil), // 21: p2p_validate.AnyRules + (*DurationRules)(nil), // 22: p2p_validate.DurationRules + (*TimestampRules)(nil), // 23: p2p_validate.TimestampRules + (*durationpb.Duration)(nil), // 24: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp + (*descriptorpb.MessageOptions)(nil), // 26: google.protobuf.MessageOptions + (*descriptorpb.OneofOptions)(nil), // 27: google.protobuf.OneofOptions + (*descriptorpb.FieldOptions)(nil), // 28: google.protobuf.FieldOptions +} +var file_p2p_validate_proto_depIdxs = []int32{ + 18, // 0: p2p_validate.FieldRules.message:type_name -> p2p_validate.MessageRules + 2, // 1: p2p_validate.FieldRules.float:type_name -> p2p_validate.FloatRules + 3, // 2: p2p_validate.FieldRules.double:type_name -> p2p_validate.DoubleRules + 4, // 3: p2p_validate.FieldRules.int32:type_name -> p2p_validate.Int32Rules + 5, // 4: p2p_validate.FieldRules.int64:type_name -> p2p_validate.Int64Rules + 6, // 5: p2p_validate.FieldRules.uint32:type_name -> p2p_validate.UInt32Rules + 7, // 6: p2p_validate.FieldRules.uint64:type_name -> p2p_validate.UInt64Rules + 8, // 7: p2p_validate.FieldRules.sint32:type_name -> p2p_validate.SInt32Rules + 9, // 8: p2p_validate.FieldRules.sint64:type_name -> p2p_validate.SInt64Rules + 10, // 9: p2p_validate.FieldRules.fixed32:type_name -> p2p_validate.Fixed32Rules + 11, // 10: p2p_validate.FieldRules.fixed64:type_name -> p2p_validate.Fixed64Rules + 12, // 11: p2p_validate.FieldRules.sfixed32:type_name -> p2p_validate.SFixed32Rules + 13, // 12: p2p_validate.FieldRules.sfixed64:type_name -> p2p_validate.SFixed64Rules + 14, // 13: p2p_validate.FieldRules.bool:type_name -> p2p_validate.BoolRules + 15, // 14: p2p_validate.FieldRules.string:type_name -> p2p_validate.StringRules + 16, // 15: p2p_validate.FieldRules.bytes:type_name -> p2p_validate.BytesRules + 17, // 16: p2p_validate.FieldRules.enum:type_name -> p2p_validate.EnumRules + 19, // 17: p2p_validate.FieldRules.repeated:type_name -> p2p_validate.RepeatedRules + 20, // 18: p2p_validate.FieldRules.map:type_name -> p2p_validate.MapRules + 21, // 19: p2p_validate.FieldRules.any:type_name -> p2p_validate.AnyRules + 22, // 20: p2p_validate.FieldRules.duration:type_name -> p2p_validate.DurationRules + 23, // 21: p2p_validate.FieldRules.timestamp:type_name -> p2p_validate.TimestampRules + 1, // 22: p2p_validate.RepeatedRules.items:type_name -> p2p_validate.FieldRules + 1, // 23: p2p_validate.MapRules.keys:type_name -> p2p_validate.FieldRules + 1, // 24: p2p_validate.MapRules.values:type_name -> p2p_validate.FieldRules + 24, // 25: p2p_validate.DurationRules.const:type_name -> google.protobuf.Duration + 24, // 26: p2p_validate.DurationRules.lt:type_name -> google.protobuf.Duration + 24, // 27: p2p_validate.DurationRules.le:type_name -> google.protobuf.Duration + 24, // 28: p2p_validate.DurationRules.gt:type_name -> google.protobuf.Duration + 24, // 29: p2p_validate.DurationRules.ge:type_name -> google.protobuf.Duration + 24, // 30: p2p_validate.DurationRules.in:type_name -> google.protobuf.Duration + 24, // 31: p2p_validate.DurationRules.not_in:type_name -> google.protobuf.Duration + 24, // 32: p2p_validate.DurationRules.default:type_name -> google.protobuf.Duration + 24, // 33: p2p_validate.DurationRules.example:type_name -> google.protobuf.Duration + 25, // 34: p2p_validate.TimestampRules.const:type_name -> google.protobuf.Timestamp + 25, // 35: p2p_validate.TimestampRules.lt:type_name -> google.protobuf.Timestamp + 25, // 36: p2p_validate.TimestampRules.le:type_name -> google.protobuf.Timestamp + 25, // 37: p2p_validate.TimestampRules.gt:type_name -> google.protobuf.Timestamp + 25, // 38: p2p_validate.TimestampRules.ge:type_name -> google.protobuf.Timestamp + 24, // 39: p2p_validate.TimestampRules.within:type_name -> google.protobuf.Duration + 25, // 40: p2p_validate.TimestampRules.default:type_name -> google.protobuf.Timestamp + 25, // 41: p2p_validate.TimestampRules.example:type_name -> google.protobuf.Timestamp + 26, // 42: p2p_validate.ignored:extendee -> google.protobuf.MessageOptions + 27, // 43: p2p_validate.required:extendee -> google.protobuf.OneofOptions + 27, // 44: p2p_validate.oneof_extend:extendee -> google.protobuf.OneofOptions + 28, // 45: p2p_validate.rules:extendee -> google.protobuf.FieldOptions + 0, // 46: p2p_validate.oneof_extend:type_name -> p2p_validate.OneofRules + 1, // 47: p2p_validate.rules:type_name -> p2p_validate.FieldRules + 48, // [48:48] is the sub-list for method output_type + 48, // [48:48] is the sub-list for method input_type + 46, // [46:48] is the sub-list for extension type_name + 42, // [42:46] is the sub-list for extension extendee + 0, // [0:42] is the sub-list for field type_name +} + +func init() { file_p2p_validate_proto_init() } +func file_p2p_validate_proto_init() { + if File_p2p_validate_proto != nil { + return + } + file_p2p_validate_proto_msgTypes[1].OneofWrappers = []any{ + (*FieldRules_Float)(nil), + (*FieldRules_Double)(nil), + (*FieldRules_Int32)(nil), + (*FieldRules_Int64)(nil), + (*FieldRules_Uint32)(nil), + (*FieldRules_Uint64)(nil), + (*FieldRules_Sint32)(nil), + (*FieldRules_Sint64)(nil), + (*FieldRules_Fixed32)(nil), + (*FieldRules_Fixed64)(nil), + (*FieldRules_Sfixed32)(nil), + (*FieldRules_Sfixed64)(nil), + (*FieldRules_Bool)(nil), + (*FieldRules_String_)(nil), + (*FieldRules_Bytes)(nil), + (*FieldRules_Enum)(nil), + (*FieldRules_Repeated)(nil), + (*FieldRules_Map)(nil), + (*FieldRules_Any)(nil), + (*FieldRules_Duration)(nil), + (*FieldRules_Timestamp)(nil), + } + file_p2p_validate_proto_msgTypes[2].OneofWrappers = []any{ + (*FloatRules_Default)(nil), + (*FloatRules_DefaultFactory)(nil), + (*FloatRules_MissDefault)(nil), + (*FloatRules_Required)(nil), + (*FloatRules_DefaultTemplate)(nil), + (*FloatRules_Example)(nil), + (*FloatRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[3].OneofWrappers = []any{ + (*DoubleRules_Default)(nil), + (*DoubleRules_DefaultFactory)(nil), + (*DoubleRules_MissDefault)(nil), + (*DoubleRules_Required)(nil), + (*DoubleRules_DefaultTemplate)(nil), + (*DoubleRules_Example)(nil), + (*DoubleRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[4].OneofWrappers = []any{ + (*Int32Rules_Default)(nil), + (*Int32Rules_DefaultFactory)(nil), + (*Int32Rules_MissDefault)(nil), + (*Int32Rules_Required)(nil), + (*Int32Rules_DefaultTemplate)(nil), + (*Int32Rules_Example)(nil), + (*Int32Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[5].OneofWrappers = []any{ + (*Int64Rules_Default)(nil), + (*Int64Rules_DefaultFactory)(nil), + (*Int64Rules_MissDefault)(nil), + (*Int64Rules_Required)(nil), + (*Int64Rules_DefaultTemplate)(nil), + (*Int64Rules_Example)(nil), + (*Int64Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[6].OneofWrappers = []any{ + (*UInt32Rules_Default)(nil), + (*UInt32Rules_DefaultFactory)(nil), + (*UInt32Rules_MissDefault)(nil), + (*UInt32Rules_Required)(nil), + (*UInt32Rules_DefaultTemplate)(nil), + (*UInt32Rules_Example)(nil), + (*UInt32Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[7].OneofWrappers = []any{ + (*UInt64Rules_Default)(nil), + (*UInt64Rules_DefaultFactory)(nil), + (*UInt64Rules_MissDefault)(nil), + (*UInt64Rules_Required)(nil), + (*UInt64Rules_DefaultTemplate)(nil), + (*UInt64Rules_Example)(nil), + (*UInt64Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[8].OneofWrappers = []any{ + (*SInt32Rules_Default)(nil), + (*SInt32Rules_DefaultFactory)(nil), + (*SInt32Rules_MissDefault)(nil), + (*SInt32Rules_Required)(nil), + (*SInt32Rules_DefaultTemplate)(nil), + (*SInt32Rules_Example)(nil), + (*SInt32Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[9].OneofWrappers = []any{ + (*SInt64Rules_Default)(nil), + (*SInt64Rules_DefaultFactory)(nil), + (*SInt64Rules_MissDefault)(nil), + (*SInt64Rules_Required)(nil), + (*SInt64Rules_DefaultTemplate)(nil), + (*SInt64Rules_Example)(nil), + (*SInt64Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[10].OneofWrappers = []any{ + (*Fixed32Rules_Default)(nil), + (*Fixed32Rules_DefaultFactory)(nil), + (*Fixed32Rules_MissDefault)(nil), + (*Fixed32Rules_Required)(nil), + (*Fixed32Rules_DefaultTemplate)(nil), + (*Fixed32Rules_Example)(nil), + (*Fixed32Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[11].OneofWrappers = []any{ + (*Fixed64Rules_Default)(nil), + (*Fixed64Rules_DefaultFactory)(nil), + (*Fixed64Rules_MissDefault)(nil), + (*Fixed64Rules_Required)(nil), + (*Fixed64Rules_DefaultTemplate)(nil), + (*Fixed64Rules_Example)(nil), + (*Fixed64Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[12].OneofWrappers = []any{ + (*SFixed32Rules_Default)(nil), + (*SFixed32Rules_DefaultFactory)(nil), + (*SFixed32Rules_MissDefault)(nil), + (*SFixed32Rules_Required)(nil), + (*SFixed32Rules_DefaultTemplate)(nil), + (*SFixed32Rules_Example)(nil), + (*SFixed32Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[13].OneofWrappers = []any{ + (*SFixed64Rules_Default)(nil), + (*SFixed64Rules_DefaultFactory)(nil), + (*SFixed64Rules_MissDefault)(nil), + (*SFixed64Rules_Required)(nil), + (*SFixed64Rules_DefaultTemplate)(nil), + (*SFixed64Rules_Example)(nil), + (*SFixed64Rules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[14].OneofWrappers = []any{ + (*BoolRules_Default)(nil), + (*BoolRules_MissDefault)(nil), + (*BoolRules_Required)(nil), + (*BoolRules_DefaultTemplate)(nil), + } + file_p2p_validate_proto_msgTypes[15].OneofWrappers = []any{ + (*StringRules_Email)(nil), + (*StringRules_Hostname)(nil), + (*StringRules_Ip)(nil), + (*StringRules_Ipv4)(nil), + (*StringRules_Ipv6)(nil), + (*StringRules_Uri)(nil), + (*StringRules_UriRef)(nil), + (*StringRules_Address)(nil), + (*StringRules_Uuid)(nil), + (*StringRules_PydanticType)(nil), + (*StringRules_Default)(nil), + (*StringRules_DefaultFactory)(nil), + (*StringRules_MissDefault)(nil), + (*StringRules_Required)(nil), + (*StringRules_DefaultTemplate)(nil), + (*StringRules_Example)(nil), + (*StringRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[16].OneofWrappers = []any{ + (*BytesRules_Default)(nil), + (*BytesRules_DefaultFactory)(nil), + (*BytesRules_MissDefault)(nil), + (*BytesRules_Required)(nil), + (*BytesRules_DefaultTemplate)(nil), + (*BytesRules_Example)(nil), + (*BytesRules_ExampleFactory)(nil), + (*BytesRules_Ip)(nil), + (*BytesRules_Ipv4)(nil), + (*BytesRules_Ipv6)(nil), + } + file_p2p_validate_proto_msgTypes[17].OneofWrappers = []any{ + (*EnumRules_Default)(nil), + (*EnumRules_DefaultFactory)(nil), + (*EnumRules_MissDefault)(nil), + (*EnumRules_Required)(nil), + (*EnumRules_DefaultTemplate)(nil), + (*EnumRules_Example)(nil), + (*EnumRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[18].OneofWrappers = []any{ + (*MessageRules_Default)(nil), + (*MessageRules_DefaultFactory)(nil), + (*MessageRules_MissDefault)(nil), + (*MessageRules_Required)(nil), + (*MessageRules_DefaultTemplate)(nil), + (*MessageRules_Example)(nil), + (*MessageRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[19].OneofWrappers = []any{ + (*RepeatedRules_DefaultFactory)(nil), + (*RepeatedRules_MissDefault)(nil), + (*RepeatedRules_Required)(nil), + (*RepeatedRules_DefaultTemplate)(nil), + (*RepeatedRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[20].OneofWrappers = []any{ + (*MapRules_DefaultFactory)(nil), + (*MapRules_MissDefault)(nil), + (*MapRules_Required)(nil), + (*MapRules_DefaultTemplate)(nil), + (*MapRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[21].OneofWrappers = []any{ + (*AnyRules_Default)(nil), + (*AnyRules_DefaultFactory)(nil), + (*AnyRules_MissDefault)(nil), + (*AnyRules_Required)(nil), + (*AnyRules_DefaultTemplate)(nil), + (*AnyRules_Example)(nil), + (*AnyRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[22].OneofWrappers = []any{ + (*DurationRules_Default)(nil), + (*DurationRules_DefaultFactory)(nil), + (*DurationRules_MissDefault)(nil), + (*DurationRules_Required)(nil), + (*DurationRules_DefaultTemplate)(nil), + (*DurationRules_Example)(nil), + (*DurationRules_ExampleFactory)(nil), + } + file_p2p_validate_proto_msgTypes[23].OneofWrappers = []any{ + (*TimestampRules_Default)(nil), + (*TimestampRules_DefaultFactory)(nil), + (*TimestampRules_MissDefault)(nil), + (*TimestampRules_Required)(nil), + (*TimestampRules_DefaultTemplate)(nil), + (*TimestampRules_Example)(nil), + (*TimestampRules_ExampleFactory)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_p2p_validate_proto_rawDesc, + NumEnums: 0, + NumMessages: 24, + NumExtensions: 4, + NumServices: 0, + }, + GoTypes: file_p2p_validate_proto_goTypes, + DependencyIndexes: file_p2p_validate_proto_depIdxs, + MessageInfos: file_p2p_validate_proto_msgTypes, + ExtensionInfos: file_p2p_validate_proto_extTypes, + }.Build() + File_p2p_validate_proto = out.File + file_p2p_validate_proto_rawDesc = nil + file_p2p_validate_proto_goTypes = nil + file_p2p_validate_proto_depIdxs = nil +} diff --git a/go/github.com/jupyter-naas/naas-models/go/p2p_validate/p2p_validate.pb.validate.go b/go/github.com/jupyter-naas/naas-models/go/p2p_validate/p2p_validate.pb.validate.go new file mode 100644 index 0000000..8663f77 --- /dev/null +++ b/go/github.com/jupyter-naas/naas-models/go/p2p_validate/p2p_validate.pb.validate.go @@ -0,0 +1,7088 @@ +// Code generated by protoc-gen-validate. DO NOT EDIT. +// source: p2p_validate.proto + +package p2p_validate + +import ( + "bytes" + "errors" + "fmt" + "net" + "net/mail" + "net/url" + "regexp" + "sort" + "strings" + "time" + "unicode/utf8" + + "google.golang.org/protobuf/types/known/anypb" +) + +// ensure the imports are used +var ( + _ = bytes.MinRead + _ = errors.New("") + _ = fmt.Print + _ = utf8.UTFMax + _ = (*regexp.Regexp)(nil) + _ = (*strings.Reader)(nil) + _ = net.IPv4len + _ = time.Duration(0) + _ = (*url.URL)(nil) + _ = (*mail.Address)(nil) + _ = anypb.Any{} + _ = sort.Sort +) + +// Validate checks the field values on OneofRules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *OneofRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on OneofRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in OneofRulesMultiError, or +// nil if none found. +func (m *OneofRules) ValidateAll() error { + return m.validate(true) +} + +func (m *OneofRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if len(errors) > 0 { + return OneofRulesMultiError(errors) + } + + return nil +} + +// OneofRulesMultiError is an error wrapping multiple validation errors +// returned by OneofRules.ValidateAll() if the designated constraints aren't met. +type OneofRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m OneofRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m OneofRulesMultiError) AllErrors() []error { return m } + +// OneofRulesValidationError is the validation error returned by +// OneofRules.Validate if the designated constraints aren't met. +type OneofRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e OneofRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e OneofRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e OneofRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e OneofRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e OneofRulesValidationError) ErrorName() string { return "OneofRulesValidationError" } + +// Error satisfies the builtin error interface +func (e OneofRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sOneofRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = OneofRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = OneofRulesValidationError{} + +// Validate checks the field values on FieldRules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *FieldRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on FieldRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in FieldRulesMultiError, or +// nil if none found. +func (m *FieldRules) ValidateAll() error { + return m.validate(true) +} + +func (m *FieldRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.Type.(type) { + case *FieldRules_Float: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetFloat()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Float", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Float", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFloat()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Float", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Double: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetDouble()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Double", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Double", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDouble()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Double", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Int32: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetInt32()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Int32", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Int32", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetInt32()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Int32", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Int64: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetInt64()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Int64", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Int64", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetInt64()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Int64", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Uint32: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetUint32()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Uint32", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Uint32", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetUint32()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Uint32", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Uint64: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetUint64()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Uint64", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Uint64", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetUint64()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Uint64", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Sint32: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetSint32()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Sint32", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Sint32", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSint32()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Sint32", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Sint64: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetSint64()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Sint64", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Sint64", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSint64()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Sint64", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Fixed32: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetFixed32()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Fixed32", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Fixed32", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFixed32()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Fixed32", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Fixed64: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetFixed64()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Fixed64", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Fixed64", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetFixed64()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Fixed64", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Sfixed32: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetSfixed32()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Sfixed32", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Sfixed32", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSfixed32()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Sfixed32", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Sfixed64: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetSfixed64()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Sfixed64", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Sfixed64", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetSfixed64()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Sfixed64", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Bool: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetBool()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Bool", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Bool", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetBool()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Bool", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_String_: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetString_()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "String_", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "String_", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetString_()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "String_", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Bytes: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetBytes()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Bytes", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Bytes", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetBytes()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Bytes", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Enum: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetEnum()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Enum", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Enum", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetEnum()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Enum", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Repeated: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetRepeated()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Repeated", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Repeated", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetRepeated()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Repeated", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Map: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetMap()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Map", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Map", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMap()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Map", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Any: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetAny()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Any", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Any", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetAny()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Any", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Duration: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetDuration()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Duration", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Duration", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDuration()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Duration", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *FieldRules_Timestamp: + if v == nil { + err := FieldRulesValidationError{ + field: "Type", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetTimestamp()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Timestamp", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Timestamp", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetTimestamp()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Timestamp", + reason: "embedded message failed validation", + cause: err, + } + } + } + + default: + _ = v // ensures v is used + } + + if m.Message != nil { + + if all { + switch v := interface{}(m.GetMessage()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Message", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, FieldRulesValidationError{ + field: "Message", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetMessage()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return FieldRulesValidationError{ + field: "Message", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return FieldRulesMultiError(errors) + } + + return nil +} + +// FieldRulesMultiError is an error wrapping multiple validation errors +// returned by FieldRules.ValidateAll() if the designated constraints aren't met. +type FieldRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m FieldRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m FieldRulesMultiError) AllErrors() []error { return m } + +// FieldRulesValidationError is the validation error returned by +// FieldRules.Validate if the designated constraints aren't met. +type FieldRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e FieldRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e FieldRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e FieldRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e FieldRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e FieldRulesValidationError) ErrorName() string { return "FieldRulesValidationError" } + +// Error satisfies the builtin error interface +func (e FieldRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sFieldRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = FieldRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = FieldRulesValidationError{} + +// Validate checks the field values on FloatRules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *FloatRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on FloatRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in FloatRulesMultiError, or +// nil if none found. +func (m *FloatRules) ValidateAll() error { + return m.validate(true) +} + +func (m *FloatRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *FloatRules_Default: + if v == nil { + err := FloatRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *FloatRules_DefaultFactory: + if v == nil { + err := FloatRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *FloatRules_MissDefault: + if v == nil { + err := FloatRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *FloatRules_Required: + if v == nil { + err := FloatRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *FloatRules_DefaultTemplate: + if v == nil { + err := FloatRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *FloatRules_Example: + if v == nil { + err := FloatRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *FloatRules_ExampleFactory: + if v == nil { + err := FloatRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return FloatRulesMultiError(errors) + } + + return nil +} + +// FloatRulesMultiError is an error wrapping multiple validation errors +// returned by FloatRules.ValidateAll() if the designated constraints aren't met. +type FloatRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m FloatRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m FloatRulesMultiError) AllErrors() []error { return m } + +// FloatRulesValidationError is the validation error returned by +// FloatRules.Validate if the designated constraints aren't met. +type FloatRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e FloatRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e FloatRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e FloatRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e FloatRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e FloatRulesValidationError) ErrorName() string { return "FloatRulesValidationError" } + +// Error satisfies the builtin error interface +func (e FloatRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sFloatRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = FloatRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = FloatRulesValidationError{} + +// Validate checks the field values on DoubleRules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *DoubleRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DoubleRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in DoubleRulesMultiError, or +// nil if none found. +func (m *DoubleRules) ValidateAll() error { + return m.validate(true) +} + +func (m *DoubleRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *DoubleRules_Default: + if v == nil { + err := DoubleRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *DoubleRules_DefaultFactory: + if v == nil { + err := DoubleRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *DoubleRules_MissDefault: + if v == nil { + err := DoubleRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *DoubleRules_Required: + if v == nil { + err := DoubleRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *DoubleRules_DefaultTemplate: + if v == nil { + err := DoubleRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *DoubleRules_Example: + if v == nil { + err := DoubleRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *DoubleRules_ExampleFactory: + if v == nil { + err := DoubleRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return DoubleRulesMultiError(errors) + } + + return nil +} + +// DoubleRulesMultiError is an error wrapping multiple validation errors +// returned by DoubleRules.ValidateAll() if the designated constraints aren't met. +type DoubleRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DoubleRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m DoubleRulesMultiError) AllErrors() []error { return m } + +// DoubleRulesValidationError is the validation error returned by +// DoubleRules.Validate if the designated constraints aren't met. +type DoubleRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DoubleRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DoubleRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DoubleRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DoubleRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DoubleRulesValidationError) ErrorName() string { return "DoubleRulesValidationError" } + +// Error satisfies the builtin error interface +func (e DoubleRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sDoubleRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DoubleRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DoubleRulesValidationError{} + +// Validate checks the field values on Int32Rules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *Int32Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on Int32Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in Int32RulesMultiError, or +// nil if none found. +func (m *Int32Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *Int32Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *Int32Rules_Default: + if v == nil { + err := Int32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *Int32Rules_DefaultFactory: + if v == nil { + err := Int32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *Int32Rules_MissDefault: + if v == nil { + err := Int32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *Int32Rules_Required: + if v == nil { + err := Int32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *Int32Rules_DefaultTemplate: + if v == nil { + err := Int32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *Int32Rules_Example: + if v == nil { + err := Int32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *Int32Rules_ExampleFactory: + if v == nil { + err := Int32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return Int32RulesMultiError(errors) + } + + return nil +} + +// Int32RulesMultiError is an error wrapping multiple validation errors +// returned by Int32Rules.ValidateAll() if the designated constraints aren't met. +type Int32RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m Int32RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m Int32RulesMultiError) AllErrors() []error { return m } + +// Int32RulesValidationError is the validation error returned by +// Int32Rules.Validate if the designated constraints aren't met. +type Int32RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e Int32RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e Int32RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e Int32RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e Int32RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e Int32RulesValidationError) ErrorName() string { return "Int32RulesValidationError" } + +// Error satisfies the builtin error interface +func (e Int32RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sInt32Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = Int32RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = Int32RulesValidationError{} + +// Validate checks the field values on Int64Rules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *Int64Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on Int64Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in Int64RulesMultiError, or +// nil if none found. +func (m *Int64Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *Int64Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *Int64Rules_Default: + if v == nil { + err := Int64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *Int64Rules_DefaultFactory: + if v == nil { + err := Int64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *Int64Rules_MissDefault: + if v == nil { + err := Int64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *Int64Rules_Required: + if v == nil { + err := Int64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *Int64Rules_DefaultTemplate: + if v == nil { + err := Int64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *Int64Rules_Example: + if v == nil { + err := Int64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *Int64Rules_ExampleFactory: + if v == nil { + err := Int64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return Int64RulesMultiError(errors) + } + + return nil +} + +// Int64RulesMultiError is an error wrapping multiple validation errors +// returned by Int64Rules.ValidateAll() if the designated constraints aren't met. +type Int64RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m Int64RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m Int64RulesMultiError) AllErrors() []error { return m } + +// Int64RulesValidationError is the validation error returned by +// Int64Rules.Validate if the designated constraints aren't met. +type Int64RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e Int64RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e Int64RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e Int64RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e Int64RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e Int64RulesValidationError) ErrorName() string { return "Int64RulesValidationError" } + +// Error satisfies the builtin error interface +func (e Int64RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sInt64Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = Int64RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = Int64RulesValidationError{} + +// Validate checks the field values on UInt32Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *UInt32Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UInt32Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in UInt32RulesMultiError, or +// nil if none found. +func (m *UInt32Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *UInt32Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *UInt32Rules_Default: + if v == nil { + err := UInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *UInt32Rules_DefaultFactory: + if v == nil { + err := UInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *UInt32Rules_MissDefault: + if v == nil { + err := UInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *UInt32Rules_Required: + if v == nil { + err := UInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *UInt32Rules_DefaultTemplate: + if v == nil { + err := UInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *UInt32Rules_Example: + if v == nil { + err := UInt32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *UInt32Rules_ExampleFactory: + if v == nil { + err := UInt32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return UInt32RulesMultiError(errors) + } + + return nil +} + +// UInt32RulesMultiError is an error wrapping multiple validation errors +// returned by UInt32Rules.ValidateAll() if the designated constraints aren't met. +type UInt32RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UInt32RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UInt32RulesMultiError) AllErrors() []error { return m } + +// UInt32RulesValidationError is the validation error returned by +// UInt32Rules.Validate if the designated constraints aren't met. +type UInt32RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UInt32RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UInt32RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UInt32RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UInt32RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UInt32RulesValidationError) ErrorName() string { return "UInt32RulesValidationError" } + +// Error satisfies the builtin error interface +func (e UInt32RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUInt32Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UInt32RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UInt32RulesValidationError{} + +// Validate checks the field values on UInt64Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *UInt64Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on UInt64Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in UInt64RulesMultiError, or +// nil if none found. +func (m *UInt64Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *UInt64Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *UInt64Rules_Default: + if v == nil { + err := UInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *UInt64Rules_DefaultFactory: + if v == nil { + err := UInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *UInt64Rules_MissDefault: + if v == nil { + err := UInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *UInt64Rules_Required: + if v == nil { + err := UInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *UInt64Rules_DefaultTemplate: + if v == nil { + err := UInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *UInt64Rules_Example: + if v == nil { + err := UInt64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *UInt64Rules_ExampleFactory: + if v == nil { + err := UInt64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return UInt64RulesMultiError(errors) + } + + return nil +} + +// UInt64RulesMultiError is an error wrapping multiple validation errors +// returned by UInt64Rules.ValidateAll() if the designated constraints aren't met. +type UInt64RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m UInt64RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m UInt64RulesMultiError) AllErrors() []error { return m } + +// UInt64RulesValidationError is the validation error returned by +// UInt64Rules.Validate if the designated constraints aren't met. +type UInt64RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e UInt64RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e UInt64RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e UInt64RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e UInt64RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e UInt64RulesValidationError) ErrorName() string { return "UInt64RulesValidationError" } + +// Error satisfies the builtin error interface +func (e UInt64RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sUInt64Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = UInt64RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = UInt64RulesValidationError{} + +// Validate checks the field values on SInt32Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *SInt32Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SInt32Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in SInt32RulesMultiError, or +// nil if none found. +func (m *SInt32Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *SInt32Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *SInt32Rules_Default: + if v == nil { + err := SInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *SInt32Rules_DefaultFactory: + if v == nil { + err := SInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *SInt32Rules_MissDefault: + if v == nil { + err := SInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *SInt32Rules_Required: + if v == nil { + err := SInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *SInt32Rules_DefaultTemplate: + if v == nil { + err := SInt32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *SInt32Rules_Example: + if v == nil { + err := SInt32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *SInt32Rules_ExampleFactory: + if v == nil { + err := SInt32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return SInt32RulesMultiError(errors) + } + + return nil +} + +// SInt32RulesMultiError is an error wrapping multiple validation errors +// returned by SInt32Rules.ValidateAll() if the designated constraints aren't met. +type SInt32RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SInt32RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SInt32RulesMultiError) AllErrors() []error { return m } + +// SInt32RulesValidationError is the validation error returned by +// SInt32Rules.Validate if the designated constraints aren't met. +type SInt32RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SInt32RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SInt32RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SInt32RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SInt32RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SInt32RulesValidationError) ErrorName() string { return "SInt32RulesValidationError" } + +// Error satisfies the builtin error interface +func (e SInt32RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSInt32Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SInt32RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SInt32RulesValidationError{} + +// Validate checks the field values on SInt64Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *SInt64Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SInt64Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in SInt64RulesMultiError, or +// nil if none found. +func (m *SInt64Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *SInt64Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *SInt64Rules_Default: + if v == nil { + err := SInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *SInt64Rules_DefaultFactory: + if v == nil { + err := SInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *SInt64Rules_MissDefault: + if v == nil { + err := SInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *SInt64Rules_Required: + if v == nil { + err := SInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *SInt64Rules_DefaultTemplate: + if v == nil { + err := SInt64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *SInt64Rules_Example: + if v == nil { + err := SInt64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *SInt64Rules_ExampleFactory: + if v == nil { + err := SInt64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return SInt64RulesMultiError(errors) + } + + return nil +} + +// SInt64RulesMultiError is an error wrapping multiple validation errors +// returned by SInt64Rules.ValidateAll() if the designated constraints aren't met. +type SInt64RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SInt64RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SInt64RulesMultiError) AllErrors() []error { return m } + +// SInt64RulesValidationError is the validation error returned by +// SInt64Rules.Validate if the designated constraints aren't met. +type SInt64RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SInt64RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SInt64RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SInt64RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SInt64RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SInt64RulesValidationError) ErrorName() string { return "SInt64RulesValidationError" } + +// Error satisfies the builtin error interface +func (e SInt64RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSInt64Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SInt64RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SInt64RulesValidationError{} + +// Validate checks the field values on Fixed32Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *Fixed32Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on Fixed32Rules with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in Fixed32RulesMultiError, or +// nil if none found. +func (m *Fixed32Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *Fixed32Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *Fixed32Rules_Default: + if v == nil { + err := Fixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *Fixed32Rules_DefaultFactory: + if v == nil { + err := Fixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *Fixed32Rules_MissDefault: + if v == nil { + err := Fixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *Fixed32Rules_Required: + if v == nil { + err := Fixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *Fixed32Rules_DefaultTemplate: + if v == nil { + err := Fixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *Fixed32Rules_Example: + if v == nil { + err := Fixed32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *Fixed32Rules_ExampleFactory: + if v == nil { + err := Fixed32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return Fixed32RulesMultiError(errors) + } + + return nil +} + +// Fixed32RulesMultiError is an error wrapping multiple validation errors +// returned by Fixed32Rules.ValidateAll() if the designated constraints aren't met. +type Fixed32RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m Fixed32RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m Fixed32RulesMultiError) AllErrors() []error { return m } + +// Fixed32RulesValidationError is the validation error returned by +// Fixed32Rules.Validate if the designated constraints aren't met. +type Fixed32RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e Fixed32RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e Fixed32RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e Fixed32RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e Fixed32RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e Fixed32RulesValidationError) ErrorName() string { return "Fixed32RulesValidationError" } + +// Error satisfies the builtin error interface +func (e Fixed32RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sFixed32Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = Fixed32RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = Fixed32RulesValidationError{} + +// Validate checks the field values on Fixed64Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *Fixed64Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on Fixed64Rules with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in Fixed64RulesMultiError, or +// nil if none found. +func (m *Fixed64Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *Fixed64Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *Fixed64Rules_Default: + if v == nil { + err := Fixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *Fixed64Rules_DefaultFactory: + if v == nil { + err := Fixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *Fixed64Rules_MissDefault: + if v == nil { + err := Fixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *Fixed64Rules_Required: + if v == nil { + err := Fixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *Fixed64Rules_DefaultTemplate: + if v == nil { + err := Fixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *Fixed64Rules_Example: + if v == nil { + err := Fixed64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *Fixed64Rules_ExampleFactory: + if v == nil { + err := Fixed64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return Fixed64RulesMultiError(errors) + } + + return nil +} + +// Fixed64RulesMultiError is an error wrapping multiple validation errors +// returned by Fixed64Rules.ValidateAll() if the designated constraints aren't met. +type Fixed64RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m Fixed64RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m Fixed64RulesMultiError) AllErrors() []error { return m } + +// Fixed64RulesValidationError is the validation error returned by +// Fixed64Rules.Validate if the designated constraints aren't met. +type Fixed64RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e Fixed64RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e Fixed64RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e Fixed64RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e Fixed64RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e Fixed64RulesValidationError) ErrorName() string { return "Fixed64RulesValidationError" } + +// Error satisfies the builtin error interface +func (e Fixed64RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sFixed64Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = Fixed64RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = Fixed64RulesValidationError{} + +// Validate checks the field values on SFixed32Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *SFixed32Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SFixed32Rules with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in SFixed32RulesMultiError, or +// nil if none found. +func (m *SFixed32Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *SFixed32Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *SFixed32Rules_Default: + if v == nil { + err := SFixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *SFixed32Rules_DefaultFactory: + if v == nil { + err := SFixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *SFixed32Rules_MissDefault: + if v == nil { + err := SFixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *SFixed32Rules_Required: + if v == nil { + err := SFixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *SFixed32Rules_DefaultTemplate: + if v == nil { + err := SFixed32RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *SFixed32Rules_Example: + if v == nil { + err := SFixed32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *SFixed32Rules_ExampleFactory: + if v == nil { + err := SFixed32RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return SFixed32RulesMultiError(errors) + } + + return nil +} + +// SFixed32RulesMultiError is an error wrapping multiple validation errors +// returned by SFixed32Rules.ValidateAll() if the designated constraints +// aren't met. +type SFixed32RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SFixed32RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SFixed32RulesMultiError) AllErrors() []error { return m } + +// SFixed32RulesValidationError is the validation error returned by +// SFixed32Rules.Validate if the designated constraints aren't met. +type SFixed32RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SFixed32RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SFixed32RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SFixed32RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SFixed32RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SFixed32RulesValidationError) ErrorName() string { return "SFixed32RulesValidationError" } + +// Error satisfies the builtin error interface +func (e SFixed32RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSFixed32Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SFixed32RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SFixed32RulesValidationError{} + +// Validate checks the field values on SFixed64Rules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *SFixed64Rules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on SFixed64Rules with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in SFixed64RulesMultiError, or +// nil if none found. +func (m *SFixed64Rules) ValidateAll() error { + return m.validate(true) +} + +func (m *SFixed64Rules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *SFixed64Rules_Default: + if v == nil { + err := SFixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *SFixed64Rules_DefaultFactory: + if v == nil { + err := SFixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *SFixed64Rules_MissDefault: + if v == nil { + err := SFixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *SFixed64Rules_Required: + if v == nil { + err := SFixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *SFixed64Rules_DefaultTemplate: + if v == nil { + err := SFixed64RulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *SFixed64Rules_Example: + if v == nil { + err := SFixed64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *SFixed64Rules_ExampleFactory: + if v == nil { + err := SFixed64RulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Lt != nil { + // no validation rules for Lt + } + + if m.Le != nil { + // no validation rules for Le + } + + if m.Gt != nil { + // no validation rules for Gt + } + + if m.Ge != nil { + // no validation rules for Ge + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return SFixed64RulesMultiError(errors) + } + + return nil +} + +// SFixed64RulesMultiError is an error wrapping multiple validation errors +// returned by SFixed64Rules.ValidateAll() if the designated constraints +// aren't met. +type SFixed64RulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m SFixed64RulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m SFixed64RulesMultiError) AllErrors() []error { return m } + +// SFixed64RulesValidationError is the validation error returned by +// SFixed64Rules.Validate if the designated constraints aren't met. +type SFixed64RulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e SFixed64RulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e SFixed64RulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e SFixed64RulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e SFixed64RulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e SFixed64RulesValidationError) ErrorName() string { return "SFixed64RulesValidationError" } + +// Error satisfies the builtin error interface +func (e SFixed64RulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sSFixed64Rules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = SFixed64RulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = SFixed64RulesValidationError{} + +// Validate checks the field values on BoolRules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *BoolRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on BoolRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in BoolRulesMultiError, or nil +// if none found. +func (m *BoolRules) ValidateAll() error { + return m.validate(true) +} + +func (m *BoolRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *BoolRules_Default: + if v == nil { + err := BoolRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *BoolRules_MissDefault: + if v == nil { + err := BoolRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *BoolRules_Required: + if v == nil { + err := BoolRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *BoolRules_DefaultTemplate: + if v == nil { + err := BoolRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Example != nil { + // no validation rules for Example + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return BoolRulesMultiError(errors) + } + + return nil +} + +// BoolRulesMultiError is an error wrapping multiple validation errors returned +// by BoolRules.ValidateAll() if the designated constraints aren't met. +type BoolRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m BoolRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m BoolRulesMultiError) AllErrors() []error { return m } + +// BoolRulesValidationError is the validation error returned by +// BoolRules.Validate if the designated constraints aren't met. +type BoolRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e BoolRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e BoolRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e BoolRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e BoolRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e BoolRulesValidationError) ErrorName() string { return "BoolRulesValidationError" } + +// Error satisfies the builtin error interface +func (e BoolRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sBoolRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = BoolRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = BoolRulesValidationError{} + +// Validate checks the field values on StringRules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *StringRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on StringRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in StringRulesMultiError, or +// nil if none found. +func (m *StringRules) ValidateAll() error { + return m.validate(true) +} + +func (m *StringRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.WellKnown.(type) { + case *StringRules_Email: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Email + case *StringRules_Hostname: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Hostname + case *StringRules_Ip: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Ip + case *StringRules_Ipv4: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Ipv4 + case *StringRules_Ipv6: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Ipv6 + case *StringRules_Uri: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Uri + case *StringRules_UriRef: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for UriRef + case *StringRules_Address: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Address + case *StringRules_Uuid: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Uuid + case *StringRules_PydanticType: + if v == nil { + err := StringRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for PydanticType + default: + _ = v // ensures v is used + } + switch v := m.DefaultConfig.(type) { + case *StringRules_Default: + if v == nil { + err := StringRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *StringRules_DefaultFactory: + if v == nil { + err := StringRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *StringRules_MissDefault: + if v == nil { + err := StringRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *StringRules_Required: + if v == nil { + err := StringRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *StringRules_DefaultTemplate: + if v == nil { + err := StringRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *StringRules_Example: + if v == nil { + err := StringRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *StringRules_ExampleFactory: + if v == nil { + err := StringRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Len != nil { + // no validation rules for Len + } + + if m.MinLength != nil { + // no validation rules for MinLength + } + + if m.MaxLength != nil { + // no validation rules for MaxLength + } + + if m.Pattern != nil { + // no validation rules for Pattern + } + + if m.Prefix != nil { + // no validation rules for Prefix + } + + if m.Suffix != nil { + // no validation rules for Suffix + } + + if m.Contains != nil { + // no validation rules for Contains + } + + if m.NotContains != nil { + // no validation rules for NotContains + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return StringRulesMultiError(errors) + } + + return nil +} + +// StringRulesMultiError is an error wrapping multiple validation errors +// returned by StringRules.ValidateAll() if the designated constraints aren't met. +type StringRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m StringRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m StringRulesMultiError) AllErrors() []error { return m } + +// StringRulesValidationError is the validation error returned by +// StringRules.Validate if the designated constraints aren't met. +type StringRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e StringRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e StringRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e StringRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e StringRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e StringRulesValidationError) ErrorName() string { return "StringRulesValidationError" } + +// Error satisfies the builtin error interface +func (e StringRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sStringRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = StringRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = StringRulesValidationError{} + +// Validate checks the field values on BytesRules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *BytesRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on BytesRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in BytesRulesMultiError, or +// nil if none found. +func (m *BytesRules) ValidateAll() error { + return m.validate(true) +} + +func (m *BytesRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *BytesRules_Default: + if v == nil { + err := BytesRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *BytesRules_DefaultFactory: + if v == nil { + err := BytesRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *BytesRules_MissDefault: + if v == nil { + err := BytesRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *BytesRules_Required: + if v == nil { + err := BytesRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *BytesRules_DefaultTemplate: + if v == nil { + err := BytesRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *BytesRules_Example: + if v == nil { + err := BytesRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *BytesRules_ExampleFactory: + if v == nil { + err := BytesRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + switch v := m.WellKnown.(type) { + case *BytesRules_Ip: + if v == nil { + err := BytesRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Ip + case *BytesRules_Ipv4: + if v == nil { + err := BytesRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Ipv4 + case *BytesRules_Ipv6: + if v == nil { + err := BytesRulesValidationError{ + field: "WellKnown", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Ipv6 + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.MinLength != nil { + // no validation rules for MinLength + } + + if m.MaxLength != nil { + // no validation rules for MaxLength + } + + if m.Prefix != nil { + // no validation rules for Prefix + } + + if m.Suffix != nil { + // no validation rules for Suffix + } + + if m.Contains != nil { + // no validation rules for Contains + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.MultipleOf != nil { + // no validation rules for MultipleOf + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return BytesRulesMultiError(errors) + } + + return nil +} + +// BytesRulesMultiError is an error wrapping multiple validation errors +// returned by BytesRules.ValidateAll() if the designated constraints aren't met. +type BytesRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m BytesRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m BytesRulesMultiError) AllErrors() []error { return m } + +// BytesRulesValidationError is the validation error returned by +// BytesRules.Validate if the designated constraints aren't met. +type BytesRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e BytesRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e BytesRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e BytesRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e BytesRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e BytesRulesValidationError) ErrorName() string { return "BytesRulesValidationError" } + +// Error satisfies the builtin error interface +func (e BytesRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sBytesRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = BytesRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = BytesRulesValidationError{} + +// Validate checks the field values on EnumRules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *EnumRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on EnumRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in EnumRulesMultiError, or nil +// if none found. +func (m *EnumRules) ValidateAll() error { + return m.validate(true) +} + +func (m *EnumRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *EnumRules_Default: + if v == nil { + err := EnumRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *EnumRules_DefaultFactory: + if v == nil { + err := EnumRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *EnumRules_MissDefault: + if v == nil { + err := EnumRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *EnumRules_Required: + if v == nil { + err := EnumRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *EnumRules_DefaultTemplate: + if v == nil { + err := EnumRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *EnumRules_Example: + if v == nil { + err := EnumRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *EnumRules_ExampleFactory: + if v == nil { + err := EnumRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + // no validation rules for Const + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return EnumRulesMultiError(errors) + } + + return nil +} + +// EnumRulesMultiError is an error wrapping multiple validation errors returned +// by EnumRules.ValidateAll() if the designated constraints aren't met. +type EnumRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m EnumRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m EnumRulesMultiError) AllErrors() []error { return m } + +// EnumRulesValidationError is the validation error returned by +// EnumRules.Validate if the designated constraints aren't met. +type EnumRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e EnumRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e EnumRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e EnumRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e EnumRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e EnumRulesValidationError) ErrorName() string { return "EnumRulesValidationError" } + +// Error satisfies the builtin error interface +func (e EnumRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sEnumRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = EnumRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = EnumRulesValidationError{} + +// Validate checks the field values on MessageRules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *MessageRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MessageRules with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in MessageRulesMultiError, or +// nil if none found. +func (m *MessageRules) ValidateAll() error { + return m.validate(true) +} + +func (m *MessageRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *MessageRules_Default: + if v == nil { + err := MessageRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *MessageRules_DefaultFactory: + if v == nil { + err := MessageRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *MessageRules_MissDefault: + if v == nil { + err := MessageRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *MessageRules_Required: + if v == nil { + err := MessageRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *MessageRules_DefaultTemplate: + if v == nil { + err := MessageRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *MessageRules_Example: + if v == nil { + err := MessageRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *MessageRules_ExampleFactory: + if v == nil { + err := MessageRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Skip != nil { + // no validation rules for Skip + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return MessageRulesMultiError(errors) + } + + return nil +} + +// MessageRulesMultiError is an error wrapping multiple validation errors +// returned by MessageRules.ValidateAll() if the designated constraints aren't met. +type MessageRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MessageRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MessageRulesMultiError) AllErrors() []error { return m } + +// MessageRulesValidationError is the validation error returned by +// MessageRules.Validate if the designated constraints aren't met. +type MessageRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MessageRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MessageRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MessageRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MessageRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MessageRulesValidationError) ErrorName() string { return "MessageRulesValidationError" } + +// Error satisfies the builtin error interface +func (e MessageRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMessageRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MessageRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MessageRulesValidationError{} + +// Validate checks the field values on RepeatedRules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *RepeatedRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on RepeatedRules with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in RepeatedRulesMultiError, or +// nil if none found. +func (m *RepeatedRules) ValidateAll() error { + return m.validate(true) +} + +func (m *RepeatedRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *RepeatedRules_DefaultFactory: + if v == nil { + err := RepeatedRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *RepeatedRules_MissDefault: + if v == nil { + err := RepeatedRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *RepeatedRules_Required: + if v == nil { + err := RepeatedRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *RepeatedRules_DefaultTemplate: + if v == nil { + err := RepeatedRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *RepeatedRules_ExampleFactory: + if v == nil { + err := RepeatedRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.MinItems != nil { + // no validation rules for MinItems + } + + if m.MaxItems != nil { + // no validation rules for MaxItems + } + + if m.Unique != nil { + // no validation rules for Unique + } + + if m.Items != nil { + + if all { + switch v := interface{}(m.GetItems()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, RepeatedRulesValidationError{ + field: "Items", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, RepeatedRulesValidationError{ + field: "Items", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetItems()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return RepeatedRulesValidationError{ + field: "Items", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return RepeatedRulesMultiError(errors) + } + + return nil +} + +// RepeatedRulesMultiError is an error wrapping multiple validation errors +// returned by RepeatedRules.ValidateAll() if the designated constraints +// aren't met. +type RepeatedRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m RepeatedRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m RepeatedRulesMultiError) AllErrors() []error { return m } + +// RepeatedRulesValidationError is the validation error returned by +// RepeatedRules.Validate if the designated constraints aren't met. +type RepeatedRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e RepeatedRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e RepeatedRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e RepeatedRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e RepeatedRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e RepeatedRulesValidationError) ErrorName() string { return "RepeatedRulesValidationError" } + +// Error satisfies the builtin error interface +func (e RepeatedRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sRepeatedRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = RepeatedRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = RepeatedRulesValidationError{} + +// Validate checks the field values on MapRules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *MapRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on MapRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in MapRulesMultiError, or nil +// if none found. +func (m *MapRules) ValidateAll() error { + return m.validate(true) +} + +func (m *MapRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *MapRules_DefaultFactory: + if v == nil { + err := MapRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *MapRules_MissDefault: + if v == nil { + err := MapRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *MapRules_Required: + if v == nil { + err := MapRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *MapRules_DefaultTemplate: + if v == nil { + err := MapRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *MapRules_ExampleFactory: + if v == nil { + err := MapRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.MinPairs != nil { + // no validation rules for MinPairs + } + + if m.MaxPairs != nil { + // no validation rules for MaxPairs + } + + if m.Keys != nil { + + if all { + switch v := interface{}(m.GetKeys()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, MapRulesValidationError{ + field: "Keys", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, MapRulesValidationError{ + field: "Keys", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetKeys()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MapRulesValidationError{ + field: "Keys", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Values != nil { + + if all { + switch v := interface{}(m.GetValues()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, MapRulesValidationError{ + field: "Values", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, MapRulesValidationError{ + field: "Values", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetValues()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return MapRulesValidationError{ + field: "Values", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return MapRulesMultiError(errors) + } + + return nil +} + +// MapRulesMultiError is an error wrapping multiple validation errors returned +// by MapRules.ValidateAll() if the designated constraints aren't met. +type MapRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m MapRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m MapRulesMultiError) AllErrors() []error { return m } + +// MapRulesValidationError is the validation error returned by +// MapRules.Validate if the designated constraints aren't met. +type MapRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e MapRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e MapRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e MapRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e MapRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e MapRulesValidationError) ErrorName() string { return "MapRulesValidationError" } + +// Error satisfies the builtin error interface +func (e MapRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sMapRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = MapRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = MapRulesValidationError{} + +// Validate checks the field values on AnyRules with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *AnyRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on AnyRules with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in AnyRulesMultiError, or nil +// if none found. +func (m *AnyRules) ValidateAll() error { + return m.validate(true) +} + +func (m *AnyRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *AnyRules_Default: + if v == nil { + err := AnyRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Default + case *AnyRules_DefaultFactory: + if v == nil { + err := AnyRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *AnyRules_MissDefault: + if v == nil { + err := AnyRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *AnyRules_Required: + if v == nil { + err := AnyRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *AnyRules_DefaultTemplate: + if v == nil { + err := AnyRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *AnyRules_Example: + if v == nil { + err := AnyRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Example + case *AnyRules_ExampleFactory: + if v == nil { + err := AnyRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return AnyRulesMultiError(errors) + } + + return nil +} + +// AnyRulesMultiError is an error wrapping multiple validation errors returned +// by AnyRules.ValidateAll() if the designated constraints aren't met. +type AnyRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m AnyRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m AnyRulesMultiError) AllErrors() []error { return m } + +// AnyRulesValidationError is the validation error returned by +// AnyRules.Validate if the designated constraints aren't met. +type AnyRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e AnyRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e AnyRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e AnyRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e AnyRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e AnyRulesValidationError) ErrorName() string { return "AnyRulesValidationError" } + +// Error satisfies the builtin error interface +func (e AnyRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sAnyRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = AnyRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = AnyRulesValidationError{} + +// Validate checks the field values on DurationRules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *DurationRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on DurationRules with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in DurationRulesMultiError, or +// nil if none found. +func (m *DurationRules) ValidateAll() error { + return m.validate(true) +} + +func (m *DurationRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetIn() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: fmt.Sprintf("In[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: fmt.Sprintf("In[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: fmt.Sprintf("In[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetNotIn() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: fmt.Sprintf("NotIn[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: fmt.Sprintf("NotIn[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: fmt.Sprintf("NotIn[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + switch v := m.DefaultConfig.(type) { + case *DurationRules_Default: + if v == nil { + err := DurationRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetDefault()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Default", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Default", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDefault()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: "Default", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *DurationRules_DefaultFactory: + if v == nil { + err := DurationRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *DurationRules_MissDefault: + if v == nil { + err := DurationRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *DurationRules_Required: + if v == nil { + err := DurationRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *DurationRules_DefaultTemplate: + if v == nil { + err := DurationRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *DurationRules_Example: + if v == nil { + err := DurationRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetExample()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Example", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Example", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetExample()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: "Example", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *DurationRules_ExampleFactory: + if v == nil { + err := DurationRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + + if all { + switch v := interface{}(m.GetConst()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Const", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Const", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetConst()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: "Const", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Lt != nil { + + if all { + switch v := interface{}(m.GetLt()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Lt", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Lt", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetLt()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: "Lt", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Le != nil { + + if all { + switch v := interface{}(m.GetLe()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Le", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Le", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetLe()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: "Le", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Gt != nil { + + if all { + switch v := interface{}(m.GetGt()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Gt", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Gt", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetGt()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: "Gt", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Ge != nil { + + if all { + switch v := interface{}(m.GetGe()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Ge", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, DurationRulesValidationError{ + field: "Ge", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetGe()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return DurationRulesValidationError{ + field: "Ge", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return DurationRulesMultiError(errors) + } + + return nil +} + +// DurationRulesMultiError is an error wrapping multiple validation errors +// returned by DurationRules.ValidateAll() if the designated constraints +// aren't met. +type DurationRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m DurationRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m DurationRulesMultiError) AllErrors() []error { return m } + +// DurationRulesValidationError is the validation error returned by +// DurationRules.Validate if the designated constraints aren't met. +type DurationRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e DurationRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e DurationRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e DurationRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e DurationRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e DurationRulesValidationError) ErrorName() string { return "DurationRulesValidationError" } + +// Error satisfies the builtin error interface +func (e DurationRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sDurationRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = DurationRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = DurationRulesValidationError{} + +// Validate checks the field values on TimestampRules with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *TimestampRules) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on TimestampRules with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in TimestampRulesMultiError, +// or nil if none found. +func (m *TimestampRules) ValidateAll() error { + return m.validate(true) +} + +func (m *TimestampRules) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + switch v := m.DefaultConfig.(type) { + case *TimestampRules_Default: + if v == nil { + err := TimestampRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetDefault()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Default", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Default", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetDefault()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimestampRulesValidationError{ + field: "Default", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *TimestampRules_DefaultFactory: + if v == nil { + err := TimestampRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultFactory + case *TimestampRules_MissDefault: + if v == nil { + err := TimestampRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for MissDefault + case *TimestampRules_Required: + if v == nil { + err := TimestampRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for Required + case *TimestampRules_DefaultTemplate: + if v == nil { + err := TimestampRulesValidationError{ + field: "DefaultConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for DefaultTemplate + default: + _ = v // ensures v is used + } + switch v := m.ExampleConfig.(type) { + case *TimestampRules_Example: + if v == nil { + err := TimestampRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + + if all { + switch v := interface{}(m.GetExample()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Example", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Example", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetExample()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimestampRulesValidationError{ + field: "Example", + reason: "embedded message failed validation", + cause: err, + } + } + } + + case *TimestampRules_ExampleFactory: + if v == nil { + err := TimestampRulesValidationError{ + field: "ExampleConfig", + reason: "oneof value cannot be a typed-nil", + } + if !all { + return err + } + errors = append(errors, err) + } + // no validation rules for ExampleFactory + default: + _ = v // ensures v is used + } + + if m.Const != nil { + + if all { + switch v := interface{}(m.GetConst()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Const", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Const", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetConst()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimestampRulesValidationError{ + field: "Const", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Lt != nil { + + if all { + switch v := interface{}(m.GetLt()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Lt", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Lt", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetLt()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimestampRulesValidationError{ + field: "Lt", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Le != nil { + + if all { + switch v := interface{}(m.GetLe()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Le", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Le", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetLe()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimestampRulesValidationError{ + field: "Le", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Gt != nil { + + if all { + switch v := interface{}(m.GetGt()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Gt", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Gt", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetGt()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimestampRulesValidationError{ + field: "Gt", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Ge != nil { + + if all { + switch v := interface{}(m.GetGe()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Ge", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Ge", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetGe()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimestampRulesValidationError{ + field: "Ge", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.LtNow != nil { + // no validation rules for LtNow + } + + if m.GtNow != nil { + // no validation rules for GtNow + } + + if m.Within != nil { + + if all { + switch v := interface{}(m.GetWithin()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Within", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimestampRulesValidationError{ + field: "Within", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetWithin()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimestampRulesValidationError{ + field: "Within", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if m.Enable != nil { + // no validation rules for Enable + } + + if m.Alias != nil { + // no validation rules for Alias + } + + if m.Description != nil { + // no validation rules for Description + } + + if m.Field != nil { + // no validation rules for Field + } + + if m.Type != nil { + // no validation rules for Type + } + + if m.Title != nil { + // no validation rules for Title + } + + if m.Extra != nil { + // no validation rules for Extra + } + + if len(errors) > 0 { + return TimestampRulesMultiError(errors) + } + + return nil +} + +// TimestampRulesMultiError is an error wrapping multiple validation errors +// returned by TimestampRules.ValidateAll() if the designated constraints +// aren't met. +type TimestampRulesMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m TimestampRulesMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m TimestampRulesMultiError) AllErrors() []error { return m } + +// TimestampRulesValidationError is the validation error returned by +// TimestampRules.Validate if the designated constraints aren't met. +type TimestampRulesValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e TimestampRulesValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e TimestampRulesValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e TimestampRulesValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e TimestampRulesValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e TimestampRulesValidationError) ErrorName() string { return "TimestampRulesValidationError" } + +// Error satisfies the builtin error interface +func (e TimestampRulesValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sTimestampRules.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = TimestampRulesValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = TimestampRulesValidationError{} diff --git a/protos/ontology.proto b/protos/ontology.proto index 0218121..c6aecf5 100644 --- a/protos/ontology.proto +++ b/protos/ontology.proto @@ -5,12 +5,13 @@ package ontology; option go_package = "github.com/jupyter-naas/naas-models/go/ontology"; import "validate.proto"; +import "p2p_validate.proto"; import "errors.proto"; import "common.proto"; message Ontology { - optional string id = 1 [(validate.rules).string.uuid = true]; + string id = 1 [(validate.rules).string.uuid = true]; optional string workspace_id = 2 [(validate.rules).string.uuid = true]; optional string label = 3; optional string source = 4; @@ -18,33 +19,33 @@ message Ontology { } message OntologySummary { - optional string id = 1 [(validate.rules).string.uuid = true]; + string id = 1 [(validate.rules).string.uuid = true]; optional string workspace_id = 2 [(validate.rules).string.uuid = true]; optional string label = 3; optional string download_url = 4; } message OntologyCreation { - optional string workspace_id = 1 [(validate.rules).string.uuid = true]; - optional string label = 2 [(validate.rules).string = {min_len: 1, max_len: 255}]; - optional string source = 3 [(validate.rules).string = {min_len: 1}]; + string workspace_id = 1 [(validate.rules).string.uuid = true, (p2p_validate.rules).string = {required: true}]; + string label = 2 [(validate.rules).string = {min_len: 1, max_len: 255}, (p2p_validate.rules).string = {required: true}]; + string source = 3 [(validate.rules).string = {min_len: 1}, (p2p_validate.rules).string = {required: true}]; optional string download_url = 4; } message OntologyUpdate { - optional string id = 1 [(validate.rules).string.uuid = true]; + string id = 1 [(validate.rules).string.uuid = true, (p2p_validate.rules).string = {required: true}]; optional string workspace_id = 2 [(validate.rules).string.uuid = true]; optional string label = 3; optional string source = 4; optional string download_url = 5; - optional common.FieldMask field_mask = 100; + common.FieldMask field_mask = 100; } message OntologyListRequest { - optional string workspace_id = 1 [(validate.rules).string.uuid = true]; - optional int32 page_size = 2; - optional int32 page_number = 3; + string workspace_id = 1 [(validate.rules).string.uuid = true, (p2p_validate.rules).string = {required: true}]; + int32 page_size = 2 [(validate.rules).int32 = {gte: 1, lte: 100}, (p2p_validate.rules).int32 = {required: true}]; + int32 page_number = 3 [(validate.rules).int32 = {gte: 0}, (p2p_validate.rules).int32 = {required: true}]; } message OntologyListResponse { @@ -53,7 +54,7 @@ message OntologyListResponse { } message OntologyGetRequest { - optional string id = 1 [(validate.rules).string.uuid = true]; + string id = 1 [(validate.rules).string.uuid = true]; optional string workspace_id = 2 [(validate.rules).string.uuid = true]; } @@ -72,7 +73,7 @@ message OntologyCreationResponse { } message OntologyUpdateRequest { - optional OntologyUpdate ontology = 1; + OntologyUpdate ontology = 1; } message OntologyUpdateResponse { @@ -81,8 +82,8 @@ message OntologyUpdateResponse { } message OntologyDeletionRequest { - optional string id = 1 [(validate.rules).string.uuid = true]; - optional string workspace_id = 2 [(validate.rules).string.uuid = true]; + string id = 1 [(validate.rules).string.uuid = true]; + string workspace_id = 2 [(validate.rules).string.uuid = true]; } message OntologyDeletionResponse { diff --git a/protos/p2p_validate.proto b/protos/p2p_validate.proto new file mode 100644 index 0000000..34c1f26 --- /dev/null +++ b/protos/p2p_validate.proto @@ -0,0 +1,1541 @@ +// fork from https://github.com/envoyproxy/protoc-gen-validate/blob/main/validate/validate.proto +syntax = "proto3"; +package p2p_validate; + +option go_package = "github.com/jupyter-naas/naas-models/go/p2p_validate"; + + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; + +// Validation rules applied at the message level +extend google.protobuf.MessageOptions { + // Ignore skips generation of validation methods for this message. + optional bool ignored = 1073; +} + +// Validation rules applied at the oneof level +extend google.protobuf.OneofOptions { + // Required ensures that exactly one the field options in a oneof is set; + // validation fails if no fields in the oneof are set. + optional bool required = 1073; + optional OneofRules oneof_extend = 1074; +} + +// Validation rules applied at the field level +extend google.protobuf.FieldOptions { + // Rules specify the validations to be performed on this field. By default, + // no validation is performed against a field. + optional FieldRules rules = 1073; +} + +message OneofRules { + // Define whether the field of oneof is optional + repeated string optional = 1; +} + +// FieldRules encapsulates the rules for each type of field. Depending on the +// field, the correct set should be used to ensure proper validations. +message FieldRules { + optional MessageRules message = 17; + oneof type { + // Scalar Field Types + FloatRules float = 1; + DoubleRules double = 2; + Int32Rules int32 = 3; + Int64Rules int64 = 4; + UInt32Rules uint32 = 5; + UInt64Rules uint64 = 6; + SInt32Rules sint32 = 7; + SInt64Rules sint64 = 8; + Fixed32Rules fixed32 = 9; + Fixed64Rules fixed64 = 10; + SFixed32Rules sfixed32 = 11; + SFixed64Rules sfixed64 = 12; + BoolRules bool = 13; + StringRules string = 14; + BytesRules bytes = 15; + + // Complex Field Types + EnumRules enum = 16; + RepeatedRules repeated = 18; + MapRules map = 19; + + // Well-Known Field Types + AnyRules any = 20; + DurationRules duration = 21; + TimestampRules timestamp = 22; + } +} + +// FloatRules describes the constraints applied to `float` values +message FloatRules { + // Const specifies that this field must be exactly the specified value + optional float const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional float lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional float le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional float gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional float ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated float in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated float not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// DoubleRules describes the constraints applied to `double` values +message DoubleRules { + // Const specifies that this field must be exactly the specified value + optional double const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional double lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional double le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional double gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional double ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated double in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated double not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// Int32Rules describes the constraints applied to `int32` values +message Int32Rules { + // Const specifies that this field must be exactly the specified value + optional int32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional int32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional int32 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional int32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional int32 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated int32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int32 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// Int64Rules describes the constraints applied to `int64` values +message Int64Rules { + // Const specifies that this field must be exactly the specified value + optional int64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional int64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional int64 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional int64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional int64 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated int64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int64 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// UInt32Rules describes the constraints applied to `uint32` values +message UInt32Rules { + // Const specifies that this field must be exactly the specified value + optional uint32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional uint32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional uint32 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional uint32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional uint32 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated uint32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated uint32 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// UInt64Rules describes the constraints applied to `uint64` values +message UInt64Rules { + // Const specifies that this field must be exactly the specified value + optional uint64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional uint64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional uint64 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional uint64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional uint64 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated uint64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated uint64 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// SInt32Rules describes the constraints applied to `sint32` values +message SInt32Rules { + // Const specifies that this field must be exactly the specified value + optional sint32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sint32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sint32 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sint32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sint32 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sint32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sint32 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// SInt64Rules describes the constraints applied to `sint64` values +message SInt64Rules { + // Const specifies that this field must be exactly the specified value + optional sint64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sint64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sint64 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sint64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sint64 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sint64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sint64 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// Fixed32Rules describes the constraints applied to `fixed32` values +message Fixed32Rules { + // Const specifies that this field must be exactly the specified value + optional fixed32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional fixed32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional fixed32 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional fixed32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional fixed32 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated fixed32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated fixed32 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// Fixed64Rules describes the constraints applied to `fixed64` values +message Fixed64Rules { + // Const specifies that this field must be exactly the specified value + optional fixed64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional fixed64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional fixed64 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional fixed64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional fixed64 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated fixed64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated fixed64 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// SFixed32Rules describes the constraints applied to `sfixed32` values +message SFixed32Rules { + // Const specifies that this field must be exactly the specified value + optional sfixed32 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sfixed32 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sfixed32 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sfixed32 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sfixed32 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sfixed32 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sfixed32 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// SFixed64Rules describes the constraints applied to `sfixed64` values +message SFixed64Rules { + // Const specifies that this field must be exactly the specified value + optional sfixed64 const = 1; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional sfixed64 lt = 2; + + // Lte specifies that this field must be less than or equal to the + // specified value, inclusive + optional sfixed64 le = 3; + + // Gt specifies that this field must be greater than the specified value, + // exclusive. If the value of Gt is larger than a specified Lt or Lte, the + // range is reversed. + optional sfixed64 gt = 4; + + // Gte specifies that this field must be greater than or equal to the + // specified value, inclusive. If the value of Gte is larger than a + // specified Lt or Lte, the range is reversed. + optional sfixed64 ge = 5; + + // In specifies that this field must be equal to one of the specified + // values + repeated sfixed64 in = 6; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated sfixed64 not_in = 7; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + // Corresponding multiple validation of the set value + optional float multiple_of = 14; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// BoolRules describes the constraints applied to `bool` values +message BoolRules { + // Const specifies that this field must be exactly the specified value + optional bool const = 1; + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 2; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + bool default = 3; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 5; + // Set the description of the field + optional string description = 6; + // Set the corresponding sample value + optional bool example = 7; + // Set the Field object corresponding to the field, support template variables + optional string field = 8; + // Set the type object corresponding to the field, support template variables + optional string type = 9; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// StringRules describe the constraints applied to `string` values +message StringRules { + // Const specifies that this field must be exactly the specified value + optional string const = 1; + + // Len specifies that this field must be the specified number of + // characters (Unicode code points). Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 len = 2; + + // MinLen specifies that this field must be the specified number of + // characters (Unicode code points) at a minimum. Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 min_length = 3; + + // MaxLen specifies that this field must be the specified number of + // characters (Unicode code points) at a maximum. Note that the number of + // characters may differ from the number of bytes in the string. + optional uint64 max_length = 4; + + // Pattern specifes that this field must match against the specified + // regular expression (RE2 syntax). The included expression should elide + // any delimiters. + optional string pattern = 5; + + // Prefix specifies that this field must have the specified substring at + // the beginning of the string. + optional string prefix = 6; + + // Suffix specifies that this field must have the specified substring at + // the end of the string. + optional string suffix = 7; + + // Contains specifies that this field must have the specified substring + // anywhere in the string. + optional string contains = 8; + + // NotContains specifies that this field cannot have the specified substring + // anywhere in the string. + optional string not_contains = 9; + + // In specifies that this field must be equal to one of the specified + // values + repeated string in = 10; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated string not_in = 11; + + // WellKnown rules provide advanced constraints against common string + // patterns + oneof well_known { + // Email specifies that the field must be a valid email address as + // defined by RFC 5322 + bool email = 12; + + // Hostname specifies that the field must be a valid hostname as + // defined by RFC 1034. This constraint does not support + // internationalized domain names (IDNs). + bool hostname = 13; + + // Ip specifies that the field must be a valid IP (v4 or v6) address. + // Valid IPv6 addresses should not include surrounding square brackets. + bool ip = 14; + + // Ipv4 specifies that the field must be a valid IPv4 address. + bool ipv4 = 15; + + // Ipv6 specifies that the field must be a valid IPv6 address. Valid + // IPv6 addresses should not include surrounding square brackets. + bool ipv6 = 16; + + // Uri specifies that the field must be a valid, absolute URI as defined + // by RFC 3986 + bool uri = 17; + + // UriRef specifies that the field must be a valid URI as defined by RFC + // 3986 and may be relative or absolute. + bool uri_ref = 18; + + // Address specifies that the field must be either a valid hostname as + // defined by RFC 1034 (which does not support internationalized domain + // names or IDNs), or it can be a valid IP (v4 or v6). + bool address = 21; + + // Uuid specifies that the field must be a valid UUID as defined by + // RFC 4122 + bool uuid = 22; + + // If you want to use the property of pydantic.type, you can directly + // set the value to the string of the corresponding property, + // and then the program will automatically introduce the type of the corresponding string + string pydantic_type = 99; + } + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 23; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + string default = 24; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 25; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 26; + // Set field required + bool required = 35; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 36; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 27; + // Set the description of the field + optional string description = 28; + oneof example_config { + // Set the corresponding sample value + string example = 30; + // Set the corresponding sample value factory function, support template variables + string example_factory = 31; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 32; + // Set the type object corresponding to the field, support template variables + optional string type = 33; + // The title corresponding to the field + optional string title = 34; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + + +// BytesRules describe the constraints applied to `bytes` values +message BytesRules { + // Const specifies that this field must be exactly the specified value + optional bytes const = 1; + + // MinLen specifies that this field must be the specified number of bytes + // at a minimum + optional uint64 min_length = 2; + + // MaxLen specifies that this field must be the specified number of bytes + // at a maximum + optional uint64 max_length = 3; + + // Prefix specifies that this field must have the specified bytes at the + // beginning of the string. + optional bytes prefix = 5; + + // Suffix specifies that this field must have the specified bytes at the + // end of the string. + optional bytes suffix = 6; + + // Contains specifies that this field must have the specified bytes + // anywhere in the string. + optional bytes contains = 7; + + // In specifies that this field must be equal to one of the specified + // values + repeated bytes in = 8; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated bytes not_in = 9; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 10; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + bytes default = 11; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 12; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 13; + // Set field required + bool required = 26; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 36; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 14; + // Set the description of the field + optional string description = 15; + // Corresponding multiple validation of the set value + optional float multiple_of = 16; + oneof example_config { + // Set the corresponding sample value + bytes example = 17; + // Set the corresponding sample value factory function, support template variables + string example_factory = 18; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 19; + // Set the type object corresponding to the field, support template variables + optional string type = 20; + + // WellKnown rules provide advanced constraints against common byte + // patterns + oneof well_known { + // Ip specifies that the field must be a valid IP (v4 or v6) address in + // byte format + bool ip = 21; + + // Ipv4 specifies that the field must be a valid IPv4 address in byte + // format + bool ipv4 = 22; + + // Ipv6 specifies that the field must be a valid IPv6 address in byte + // format + bool ipv6 = 23; + } + // The title corresponding to the field + optional string title = 24; + // Field's custom extension parameter in the format Json + optional string extra = 25; +} + +// EnumRules describe the constraints applied to enum values +message EnumRules { + // Const specifies that this field must be exactly the specified value + optional int32 const = 1; + + // In specifies that this field must be equal to one of the specified + // values + repeated int32 in = 3; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated int32 not_in = 4; + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + int32 default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + oneof example_config { + // Set the corresponding sample value + int32 example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // The title corresponding to the field + optional string title = 18; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// MessageRules describe the constraints applied to embedded message values. +// For message-type fields, validation is performed recursively. +message MessageRules { + // Skip specifies that the validation rules of this field should not be + // evaluated + optional bool skip = 1; + + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + float default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 2; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + oneof example_config { + // Set the corresponding sample value + float example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// RepeatedRules describe the constraints applied to `repeated` values +message RepeatedRules { + // MinItems specifies that this field must have the specified number of + // items at a minimum + optional uint64 min_items = 1; + + // MaxItems specifies that this field must have the specified number of + // items at a maximum + optional uint64 max_items = 2; + + // Unique specifies that all elements in this field must be unique. This + // contraint is only applicable to scalar and enum types (messages are not + // supported). + optional bool unique = 3; + + // Items specifies the contraints to be applied to each item in the field. + // Repeated message fields will still execute validation against each item + // unless skip is specified here. + optional FieldRules items = 4; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + oneof example_config { + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// MapRules describe the constraints applied to `map` values +message MapRules { + // MinPairs specifies that this field must have the specified number of + // KVs at a minimum + optional uint64 min_pairs = 1; + + // MaxPairs specifies that this field must have the specified number of + // KVs at a maximum + optional uint64 max_pairs = 2; + + // Keys specifies the constraints to be applied to each key in the field. + optional FieldRules keys = 4; + + // Values specifies the constraints to be applied to the value of each key + // in the field. Message values will still have their validations evaluated + // unless skip is specified here. + optional FieldRules values = 5; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + + oneof default_config { + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 21; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + oneof example_config { + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// AnyRules describe constraints applied exclusively to the +// `google.protobuf.Any` well-known type +message AnyRules { + + // In specifies that this field's `type_url` must be equal to one of the + // specified values. + repeated string in = 2; + + // NotIn specifies that this field's `type_url` must not be equal to any of + // the specified values. + repeated string not_in = 3; + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 8; + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + string default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 1; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + oneof example_config { + // Set the corresponding sample value + string example = 14; + // Set the corresponding sample value factory function, support template variables + string example_factory = 15; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 16; + // The title corresponding to the field + optional string title = 17; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// DurationRules describe the constraints applied exclusively to the +// `google.protobuf.Duration` well-known type +message DurationRules { + // Const specifies that this field must be exactly the specified value + optional google.protobuf.Duration const = 2; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional google.protobuf.Duration lt = 3; + + // Lt specifies that this field must be less than the specified value, + // inclusive + optional google.protobuf.Duration le = 4; + + // Gt specifies that this field must be greater than the specified value, + // exclusive + optional google.protobuf.Duration gt = 5; + + // Gte specifies that this field must be greater than the specified value, + // inclusive + optional google.protobuf.Duration ge = 6; + + // In specifies that this field must be equal to one of the specified + // values + repeated google.protobuf.Duration in = 7; + + // NotIn specifies that this field cannot be equal to one of the specified + // values + repeated google.protobuf.Duration not_in = 8; + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 14; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + google.protobuf.Duration default = 9; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 10; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 11; + // Set field required + bool required = 1; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 12; + // Set the description of the field + optional string description = 13; + oneof example_config { + // Set the corresponding sample value + google.protobuf.Duration example = 15; + // Set the corresponding sample value factory function, support template variables + string example_factory = 16; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 17; + // Set the type object corresponding to the field, support template variables + optional string type = 18; + // The title corresponding to the field + optional string title = 19; + // Field's custom extension parameter in the format Json + optional string extra = 20; +} + +// TimestampRules describe the constraints applied exclusively to the +// `google.protobuf.Timestamp` well-known type +message TimestampRules { + // Const specifies that this field must be exactly the specified value + optional google.protobuf.Timestamp const = 2; + + // Lt specifies that this field must be less than the specified value, + // exclusive + optional google.protobuf.Timestamp lt = 3; + + // Lte specifies that this field must be less than the specified value, + // inclusive + optional google.protobuf.Timestamp le = 4; + + // Gt specifies that this field must be greater than the specified value, + // exclusive + optional google.protobuf.Timestamp gt = 5; + + // Gte specifies that this field must be greater than the specified value, + // inclusive + optional google.protobuf.Timestamp ge = 6; + + // LtNow specifies that this must be less than the current time. LtNow + // can only be used with the Within rule. + optional bool lt_now = 7; + + // GtNow specifies that this must be greater than the current time. GtNow + // can only be used with the Within rule. + optional bool gt_now = 8; + + // Within specifies that this field must be within this duration of the + // current time. This constraint can be used alone or with the LtNow and + // GtNow rules. + optional google.protobuf.Duration within = 9; + + // Whether to enable this field, if not, the generated Model will not carry this field + optional bool enable = 10; + + oneof default_config { + // The default value corresponding to the field, if not set, + // the default value is the default value of the corresponding type of the field + google.protobuf.Timestamp default = 11; + // The default value factory function corresponding to the field, supports template variables, + // such as `p2p@import|uuid|uuid4` + string default_factory = 12; + // Set field required[Will be deprecated after version 1.0.0] + bool miss_default = 13; + // Set field required + bool required = 1; + // Similar meaning to `default`, but using template variables, such as `p2p@import|uuid|uuid4` + string default_template = 22; + } + // Set the alias of the field in the pydantic.Base Model + optional string alias = 14; + // Set the description of the field + optional string description = 15; + oneof example_config { + // Set the corresponding sample value + google.protobuf.Timestamp example = 16; + // Set the corresponding sample value factory function, support template variables + string example_factory = 17; + } + // Set the Field object corresponding to the field, support template variables + optional string field = 18; + // Set the type object corresponding to the field, support template variables + optional string type = 19; + // The title corresponding to the field + optional string title = 20; + // Field's custom extension parameter in the format Json + optional string extra = 21; +} diff --git a/python/naas_models/ontology_pb2.py b/python/naas_models/ontology_pb2.py index 6b0bc35..6f6510a 100644 --- a/python/naas_models/ontology_pb2.py +++ b/python/naas_models/ontology_pb2.py @@ -13,11 +13,12 @@ import naas_models.validate_pb2 as validate__pb2 +import p2p_validate_pb2 as p2p__validate__pb2 import errors_pb2 as errors__pb2 import common_pb2 as common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0eontology.proto\x12\x08ontology\x1a\x0evalidate.proto\x1a\x0c\x65rrors.proto\x1a\x0c\x63ommon.proto\"\xcc\x01\n\x08Ontology\x12\x19\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x01\x88\x01\x01\x12\x12\n\x05label\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x19\n\x0c\x64ownload_url\x18\x05 \x01(\tH\x04\x88\x01\x01\x42\x05\n\x03_idB\x0f\n\r_workspace_idB\x08\n\x06_labelB\t\n\x07_sourceB\x0f\n\r_download_url\"\xb3\x01\n\x0fOntologySummary\x12\x19\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x01\x88\x01\x01\x12\x12\n\x05label\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0c\x64ownload_url\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x05\n\x03_idB\x0f\n\r_workspace_idB\x08\n\x06_labelB\x0f\n\r_download_url\"\xc7\x01\n\x10OntologyCreation\x12#\n\x0cworkspace_id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12\x1e\n\x05label\x18\x02 \x01(\tB\n\xfa\x42\x07r\x05\x10\x01\x18\xff\x01H\x01\x88\x01\x01\x12\x1c\n\x06source\x18\x03 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01H\x02\x88\x01\x01\x12\x19\n\x0c\x64ownload_url\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x0f\n\r_workspace_idB\x08\n\x06_labelB\t\n\x07_sourceB\x0f\n\r_download_url\"\x8d\x02\n\x0eOntologyUpdate\x12\x19\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x01\x88\x01\x01\x12\x12\n\x05label\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x19\n\x0c\x64ownload_url\x18\x05 \x01(\tH\x04\x88\x01\x01\x12*\n\nfield_mask\x18\x64 \x01(\x0b\x32\x11.common.FieldMaskH\x05\x88\x01\x01\x42\x05\n\x03_idB\x0f\n\r_workspace_idB\x08\n\x06_labelB\t\n\x07_sourceB\x0f\n\r_download_urlB\r\n\x0b_field_mask\"\x9b\x01\n\x13OntologyListRequest\x12#\n\x0cworkspace_id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12\x16\n\tpage_size\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x18\n\x0bpage_number\x18\x03 \x01(\x05H\x02\x88\x01\x01\x42\x0f\n\r_workspace_idB\x0c\n\n_page_sizeB\x0e\n\x0c_page_number\"z\n\x14OntologyListResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x12-\n\nontologies\x18\x02 \x03(\x0b\x32\x19.ontology.OntologySummaryB\x08\n\x06_error\"l\n\x12OntologyGetRequest\x12\x19\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x01\x88\x01\x01\x42\x05\n\x03_idB\x0f\n\r_workspace_id\"\x82\x01\n\x13OntologyGetResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x12)\n\x08ontology\x18\x02 \x01(\x0b\x32\x12.ontology.OntologyH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0b\n\t_ontology\"G\n\x17OntologyCreationRequest\x12,\n\x08ontology\x18\x01 \x01(\x0b\x32\x1a.ontology.OntologyCreation\"\x87\x01\n\x18OntologyCreationResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x12)\n\x08ontology\x18\x02 \x01(\x0b\x32\x12.ontology.OntologyH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0b\n\t_ontology\"U\n\x15OntologyUpdateRequest\x12/\n\x08ontology\x18\x01 \x01(\x0b\x32\x18.ontology.OntologyUpdateH\x00\x88\x01\x01\x42\x0b\n\t_ontology\"\x85\x01\n\x16OntologyUpdateResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x12)\n\x08ontology\x18\x02 \x01(\x0b\x32\x12.ontology.OntologyH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0b\n\t_ontology\"q\n\x17OntologyDeletionRequest\x12\x19\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x01\x88\x01\x01\x42\x05\n\x03_idB\x0f\n\r_workspace_id\"O\n\x18OntologyDeletionResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x42\x08\n\x06_error2\x95\x03\n\x0fOntologyService\x12G\n\x04List\x12\x1d.ontology.OntologyListRequest\x1a\x1e.ontology.OntologyListResponse\"\x00\x12\x44\n\x03Get\x12\x1c.ontology.OntologyGetRequest\x1a\x1d.ontology.OntologyGetResponse\"\x00\x12Q\n\x06\x43reate\x12!.ontology.OntologyCreationRequest\x1a\".ontology.OntologyCreationResponse\"\x00\x12M\n\x06Update\x12\x1f.ontology.OntologyUpdateRequest\x1a .ontology.OntologyUpdateResponse\"\x00\x12Q\n\x06\x44\x65lete\x12!.ontology.OntologyDeletionRequest\x1a\".ontology.OntologyDeletionResponse\"\x00\x42\x31Z/github.com/jupyter-naas/naas-models/go/ontologyb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0eontology.proto\x12\x08ontology\x1a\x0evalidate.proto\x1a\x12p2p_validate.proto\x1a\x0c\x65rrors.proto\x1a\x0c\x63ommon.proto\"\xc0\x01\n\x08Ontology\x12\x14\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12\x12\n\x05label\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0c\x64ownload_url\x18\x05 \x01(\tH\x03\x88\x01\x01\x42\x0f\n\r_workspace_idB\x08\n\x06_labelB\t\n\x07_sourceB\x0f\n\r_download_url\"\xa7\x01\n\x0fOntologySummary\x12\x14\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12\x12\n\x05label\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0c\x64ownload_url\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_workspace_idB\x08\n\x06_labelB\x0f\n\r_download_url\"\xaa\x01\n\x10OntologyCreation\x12&\n\x0cworkspace_id\x18\x01 \x01(\tB\x10\xfa\x42\x05r\x03\xb0\x01\x01\x8a\x43\x05r\x03\x98\x02\x01\x12!\n\x05label\x18\x02 \x01(\tB\x12\xfa\x42\x07r\x05\x10\x01\x18\xff\x01\x8a\x43\x05r\x03\x98\x02\x01\x12\x1f\n\x06source\x18\x03 \x01(\tB\x0f\xfa\x42\x04r\x02\x10\x01\x8a\x43\x05r\x03\x98\x02\x01\x12\x19\n\x0c\x64ownload_url\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_download_url\"\xf5\x01\n\x0eOntologyUpdate\x12\x1c\n\x02id\x18\x01 \x01(\tB\x10\xfa\x42\x05r\x03\xb0\x01\x01\x8a\x43\x05r\x03\x98\x02\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x12\x12\n\x05label\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0c\x64ownload_url\x18\x05 \x01(\tH\x03\x88\x01\x01\x12%\n\nfield_mask\x18\x64 \x01(\x0b\x32\x11.common.FieldMaskB\x0f\n\r_workspace_idB\x08\n\x06_labelB\t\n\x07_sourceB\x0f\n\r_download_url\"\x89\x01\n\x13OntologyListRequest\x12&\n\x0cworkspace_id\x18\x01 \x01(\tB\x10\xfa\x42\x05r\x03\xb0\x01\x01\x8a\x43\x05r\x03\x98\x02\x01\x12$\n\tpage_size\x18\x02 \x01(\x05\x42\x11\xfa\x42\x06\x1a\x04\x18\x64(\x01\x8a\x43\x05\x1a\x03\xa8\x01\x01\x12$\n\x0bpage_number\x18\x03 \x01(\x05\x42\x0f\xfa\x42\x04\x1a\x02(\x00\x8a\x43\x05\x1a\x03\xa8\x01\x01\"z\n\x14OntologyListResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x12-\n\nontologies\x18\x02 \x03(\x0b\x32\x19.ontology.OntologySummaryB\x08\n\x06_error\"`\n\x12OntologyGetRequest\x12\x14\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01\x12#\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01H\x00\x88\x01\x01\x42\x0f\n\r_workspace_id\"\x82\x01\n\x13OntologyGetResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x12)\n\x08ontology\x18\x02 \x01(\x0b\x32\x12.ontology.OntologyH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0b\n\t_ontology\"G\n\x17OntologyCreationRequest\x12,\n\x08ontology\x18\x01 \x01(\x0b\x32\x1a.ontology.OntologyCreation\"\x87\x01\n\x18OntologyCreationResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x12)\n\x08ontology\x18\x02 \x01(\x0b\x32\x12.ontology.OntologyH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0b\n\t_ontology\"C\n\x15OntologyUpdateRequest\x12*\n\x08ontology\x18\x01 \x01(\x0b\x32\x18.ontology.OntologyUpdate\"\x85\x01\n\x16OntologyUpdateResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x12)\n\x08ontology\x18\x02 \x01(\x0b\x32\x12.ontology.OntologyH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x0b\n\t_ontology\"O\n\x17OntologyDeletionRequest\x12\x14\n\x02id\x18\x01 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01\x12\x1e\n\x0cworkspace_id\x18\x02 \x01(\tB\x08\xfa\x42\x05r\x03\xb0\x01\x01\"O\n\x18OntologyDeletionResponse\x12)\n\x05\x65rror\x18\x01 \x01(\x0b\x32\x15.errors.ErrorResponseH\x00\x88\x01\x01\x42\x08\n\x06_error2\x95\x03\n\x0fOntologyService\x12G\n\x04List\x12\x1d.ontology.OntologyListRequest\x1a\x1e.ontology.OntologyListResponse\"\x00\x12\x44\n\x03Get\x12\x1c.ontology.OntologyGetRequest\x1a\x1d.ontology.OntologyGetResponse\"\x00\x12Q\n\x06\x43reate\x12!.ontology.OntologyCreationRequest\x1a\".ontology.OntologyCreationResponse\"\x00\x12M\n\x06Update\x12\x1f.ontology.OntologyUpdateRequest\x1a .ontology.OntologyUpdateResponse\"\x00\x12Q\n\x06\x44\x65lete\x12!.ontology.OntologyDeletionRequest\x1a\".ontology.OntologyDeletionResponse\"\x00\x42\x31Z/github.com/jupyter-naas/naas-models/go/ontologyb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -34,17 +35,21 @@ _globals['_ONTOLOGYSUMMARY'].fields_by_name['workspace_id']._loaded_options = None _globals['_ONTOLOGYSUMMARY'].fields_by_name['workspace_id']._serialized_options = b'\372B\005r\003\260\001\001' _globals['_ONTOLOGYCREATION'].fields_by_name['workspace_id']._loaded_options = None - _globals['_ONTOLOGYCREATION'].fields_by_name['workspace_id']._serialized_options = b'\372B\005r\003\260\001\001' + _globals['_ONTOLOGYCREATION'].fields_by_name['workspace_id']._serialized_options = b'\372B\005r\003\260\001\001\212C\005r\003\230\002\001' _globals['_ONTOLOGYCREATION'].fields_by_name['label']._loaded_options = None - _globals['_ONTOLOGYCREATION'].fields_by_name['label']._serialized_options = b'\372B\007r\005\020\001\030\377\001' + _globals['_ONTOLOGYCREATION'].fields_by_name['label']._serialized_options = b'\372B\007r\005\020\001\030\377\001\212C\005r\003\230\002\001' _globals['_ONTOLOGYCREATION'].fields_by_name['source']._loaded_options = None - _globals['_ONTOLOGYCREATION'].fields_by_name['source']._serialized_options = b'\372B\004r\002\020\001' + _globals['_ONTOLOGYCREATION'].fields_by_name['source']._serialized_options = b'\372B\004r\002\020\001\212C\005r\003\230\002\001' _globals['_ONTOLOGYUPDATE'].fields_by_name['id']._loaded_options = None - _globals['_ONTOLOGYUPDATE'].fields_by_name['id']._serialized_options = b'\372B\005r\003\260\001\001' + _globals['_ONTOLOGYUPDATE'].fields_by_name['id']._serialized_options = b'\372B\005r\003\260\001\001\212C\005r\003\230\002\001' _globals['_ONTOLOGYUPDATE'].fields_by_name['workspace_id']._loaded_options = None _globals['_ONTOLOGYUPDATE'].fields_by_name['workspace_id']._serialized_options = b'\372B\005r\003\260\001\001' _globals['_ONTOLOGYLISTREQUEST'].fields_by_name['workspace_id']._loaded_options = None - _globals['_ONTOLOGYLISTREQUEST'].fields_by_name['workspace_id']._serialized_options = b'\372B\005r\003\260\001\001' + _globals['_ONTOLOGYLISTREQUEST'].fields_by_name['workspace_id']._serialized_options = b'\372B\005r\003\260\001\001\212C\005r\003\230\002\001' + _globals['_ONTOLOGYLISTREQUEST'].fields_by_name['page_size']._loaded_options = None + _globals['_ONTOLOGYLISTREQUEST'].fields_by_name['page_size']._serialized_options = b'\372B\006\032\004\030d(\001\212C\005\032\003\250\001\001' + _globals['_ONTOLOGYLISTREQUEST'].fields_by_name['page_number']._loaded_options = None + _globals['_ONTOLOGYLISTREQUEST'].fields_by_name['page_number']._serialized_options = b'\372B\004\032\002(\000\212C\005\032\003\250\001\001' _globals['_ONTOLOGYGETREQUEST'].fields_by_name['id']._loaded_options = None _globals['_ONTOLOGYGETREQUEST'].fields_by_name['id']._serialized_options = b'\372B\005r\003\260\001\001' _globals['_ONTOLOGYGETREQUEST'].fields_by_name['workspace_id']._loaded_options = None @@ -53,34 +58,34 @@ _globals['_ONTOLOGYDELETIONREQUEST'].fields_by_name['id']._serialized_options = b'\372B\005r\003\260\001\001' _globals['_ONTOLOGYDELETIONREQUEST'].fields_by_name['workspace_id']._loaded_options = None _globals['_ONTOLOGYDELETIONREQUEST'].fields_by_name['workspace_id']._serialized_options = b'\372B\005r\003\260\001\001' - _globals['_ONTOLOGY']._serialized_start=73 - _globals['_ONTOLOGY']._serialized_end=277 - _globals['_ONTOLOGYSUMMARY']._serialized_start=280 - _globals['_ONTOLOGYSUMMARY']._serialized_end=459 - _globals['_ONTOLOGYCREATION']._serialized_start=462 - _globals['_ONTOLOGYCREATION']._serialized_end=661 - _globals['_ONTOLOGYUPDATE']._serialized_start=664 - _globals['_ONTOLOGYUPDATE']._serialized_end=933 - _globals['_ONTOLOGYLISTREQUEST']._serialized_start=936 - _globals['_ONTOLOGYLISTREQUEST']._serialized_end=1091 - _globals['_ONTOLOGYLISTRESPONSE']._serialized_start=1093 - _globals['_ONTOLOGYLISTRESPONSE']._serialized_end=1215 - _globals['_ONTOLOGYGETREQUEST']._serialized_start=1217 - _globals['_ONTOLOGYGETREQUEST']._serialized_end=1325 - _globals['_ONTOLOGYGETRESPONSE']._serialized_start=1328 - _globals['_ONTOLOGYGETRESPONSE']._serialized_end=1458 - _globals['_ONTOLOGYCREATIONREQUEST']._serialized_start=1460 - _globals['_ONTOLOGYCREATIONREQUEST']._serialized_end=1531 - _globals['_ONTOLOGYCREATIONRESPONSE']._serialized_start=1534 - _globals['_ONTOLOGYCREATIONRESPONSE']._serialized_end=1669 - _globals['_ONTOLOGYUPDATEREQUEST']._serialized_start=1671 - _globals['_ONTOLOGYUPDATEREQUEST']._serialized_end=1756 - _globals['_ONTOLOGYUPDATERESPONSE']._serialized_start=1759 - _globals['_ONTOLOGYUPDATERESPONSE']._serialized_end=1892 - _globals['_ONTOLOGYDELETIONREQUEST']._serialized_start=1894 - _globals['_ONTOLOGYDELETIONREQUEST']._serialized_end=2007 - _globals['_ONTOLOGYDELETIONRESPONSE']._serialized_start=2009 - _globals['_ONTOLOGYDELETIONRESPONSE']._serialized_end=2088 - _globals['_ONTOLOGYSERVICE']._serialized_start=2091 - _globals['_ONTOLOGYSERVICE']._serialized_end=2496 + _globals['_ONTOLOGY']._serialized_start=93 + _globals['_ONTOLOGY']._serialized_end=285 + _globals['_ONTOLOGYSUMMARY']._serialized_start=288 + _globals['_ONTOLOGYSUMMARY']._serialized_end=455 + _globals['_ONTOLOGYCREATION']._serialized_start=458 + _globals['_ONTOLOGYCREATION']._serialized_end=628 + _globals['_ONTOLOGYUPDATE']._serialized_start=631 + _globals['_ONTOLOGYUPDATE']._serialized_end=876 + _globals['_ONTOLOGYLISTREQUEST']._serialized_start=879 + _globals['_ONTOLOGYLISTREQUEST']._serialized_end=1016 + _globals['_ONTOLOGYLISTRESPONSE']._serialized_start=1018 + _globals['_ONTOLOGYLISTRESPONSE']._serialized_end=1140 + _globals['_ONTOLOGYGETREQUEST']._serialized_start=1142 + _globals['_ONTOLOGYGETREQUEST']._serialized_end=1238 + _globals['_ONTOLOGYGETRESPONSE']._serialized_start=1241 + _globals['_ONTOLOGYGETRESPONSE']._serialized_end=1371 + _globals['_ONTOLOGYCREATIONREQUEST']._serialized_start=1373 + _globals['_ONTOLOGYCREATIONREQUEST']._serialized_end=1444 + _globals['_ONTOLOGYCREATIONRESPONSE']._serialized_start=1447 + _globals['_ONTOLOGYCREATIONRESPONSE']._serialized_end=1582 + _globals['_ONTOLOGYUPDATEREQUEST']._serialized_start=1584 + _globals['_ONTOLOGYUPDATEREQUEST']._serialized_end=1651 + _globals['_ONTOLOGYUPDATERESPONSE']._serialized_start=1654 + _globals['_ONTOLOGYUPDATERESPONSE']._serialized_end=1787 + _globals['_ONTOLOGYDELETIONREQUEST']._serialized_start=1789 + _globals['_ONTOLOGYDELETIONREQUEST']._serialized_end=1868 + _globals['_ONTOLOGYDELETIONRESPONSE']._serialized_start=1870 + _globals['_ONTOLOGYDELETIONRESPONSE']._serialized_end=1949 + _globals['_ONTOLOGYSERVICE']._serialized_start=1952 + _globals['_ONTOLOGYSERVICE']._serialized_end=2357 # @@protoc_insertion_point(module_scope) diff --git a/python/naas_models/p2p_validate_pb2.py b/python/naas_models/p2p_validate_pb2.py new file mode 100644 index 0000000..319c94b --- /dev/null +++ b/python/naas_models/p2p_validate_pb2.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: p2p_validate.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12p2p_validate.proto\x12\x0cp2p_validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x1e\n\nOneofRules\x12\x10\n\x08optional\x18\x01 \x03(\t\"\x81\x08\n\nFieldRules\x12\x30\n\x07message\x18\x11 \x01(\x0b\x32\x1a.p2p_validate.MessageRulesH\x01\x88\x01\x01\x12)\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x18.p2p_validate.FloatRulesH\x00\x12+\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x19.p2p_validate.DoubleRulesH\x00\x12)\n\x05int32\x18\x03 \x01(\x0b\x32\x18.p2p_validate.Int32RulesH\x00\x12)\n\x05int64\x18\x04 \x01(\x0b\x32\x18.p2p_validate.Int64RulesH\x00\x12+\n\x06uint32\x18\x05 \x01(\x0b\x32\x19.p2p_validate.UInt32RulesH\x00\x12+\n\x06uint64\x18\x06 \x01(\x0b\x32\x19.p2p_validate.UInt64RulesH\x00\x12+\n\x06sint32\x18\x07 \x01(\x0b\x32\x19.p2p_validate.SInt32RulesH\x00\x12+\n\x06sint64\x18\x08 \x01(\x0b\x32\x19.p2p_validate.SInt64RulesH\x00\x12-\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x1a.p2p_validate.Fixed32RulesH\x00\x12-\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x1a.p2p_validate.Fixed64RulesH\x00\x12/\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x1b.p2p_validate.SFixed32RulesH\x00\x12/\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x1b.p2p_validate.SFixed64RulesH\x00\x12\'\n\x04\x62ool\x18\r \x01(\x0b\x32\x17.p2p_validate.BoolRulesH\x00\x12+\n\x06string\x18\x0e \x01(\x0b\x32\x19.p2p_validate.StringRulesH\x00\x12)\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x18.p2p_validate.BytesRulesH\x00\x12\'\n\x04\x65num\x18\x10 \x01(\x0b\x32\x17.p2p_validate.EnumRulesH\x00\x12/\n\x08repeated\x18\x12 \x01(\x0b\x32\x1b.p2p_validate.RepeatedRulesH\x00\x12%\n\x03map\x18\x13 \x01(\x0b\x32\x16.p2p_validate.MapRulesH\x00\x12%\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x16.p2p_validate.AnyRulesH\x00\x12/\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x1b.p2p_validate.DurationRulesH\x00\x12\x31\n\ttimestamp\x18\x16 \x01(\x0b\x32\x1c.p2p_validate.TimestampRulesH\x00\x42\x06\n\x04typeB\n\n\x08_message\"\xf6\x04\n\nFloatRules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x02H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x02H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x02H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x02H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x02H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x02\x12\x0e\n\x06not_in\x18\x07 \x03(\x02\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf7\x04\n\x0b\x44oubleRules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x01H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x01H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x01H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x01H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x01H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x01\x12\x0e\n\x06not_in\x18\x07 \x03(\x01\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf6\x04\n\nInt32Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x05H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x05H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x05H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x05H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x05H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x05\x12\x0e\n\x06not_in\x18\x07 \x03(\x05\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf6\x04\n\nInt64Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x03H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x03H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x03H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x03H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x03H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x03\x12\x0e\n\x06not_in\x18\x07 \x03(\x03\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf7\x04\n\x0bUInt32Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\rH\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\rH\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\rH\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\rH\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\rH\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\r\x12\x0e\n\x06not_in\x18\x07 \x03(\r\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf7\x04\n\x0bUInt64Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x04H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x04H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x04H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x04H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x04H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x04\x12\x0e\n\x06not_in\x18\x07 \x03(\x04\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf7\x04\n\x0bSInt32Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x11H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x11H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x11H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x11H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x11H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x11\x12\x0e\n\x06not_in\x18\x07 \x03(\x11\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf7\x04\n\x0bSInt64Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x12H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x12H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x12H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x12H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x12H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x12\x12\x0e\n\x06not_in\x18\x07 \x03(\x12\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf8\x04\n\x0c\x46ixed32Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x07H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x07H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x07H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x07H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x07H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x07\x12\x0e\n\x06not_in\x18\x07 \x03(\x07\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf8\x04\n\x0c\x46ixed64Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x06H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x06H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x06H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x06H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x06H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x06\x12\x0e\n\x06not_in\x18\x07 \x03(\x06\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf9\x04\n\rSFixed32Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x0fH\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x0fH\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x0fH\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x0fH\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x0fH\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x0f\x12\x0e\n\x06not_in\x18\x07 \x03(\x0f\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf9\x04\n\rSFixed64Rules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x10H\x02\x88\x01\x01\x12\x0f\n\x02lt\x18\x02 \x01(\x10H\x03\x88\x01\x01\x12\x0f\n\x02le\x18\x03 \x01(\x10H\x04\x88\x01\x01\x12\x0f\n\x02gt\x18\x04 \x01(\x10H\x05\x88\x01\x01\x12\x0f\n\x02ge\x18\x05 \x01(\x10H\x06\x88\x01\x01\x12\n\n\x02in\x18\x06 \x03(\x10\x12\x0e\n\x06not_in\x18\x07 \x03(\x10\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x07\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x0e \x01(\x02H\n\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x0b\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0e\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\x96\x03\n\tBoolRules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x08H\x01\x88\x01\x01\x12\x13\n\x06\x65nable\x18\x02 \x01(\x08H\x02\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\x03 \x01(\x08H\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07\x65xample\x18\x07 \x01(\x08H\x05\x88\x01\x01\x12\x12\n\x05\x66ield\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x11\n\x04type\x18\t \x01(\tH\x07\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\x08\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\t\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x08\n\x06_constB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\n\n\x08_exampleB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xc8\x07\n\x0bStringRules\x12\x12\n\x05\x63onst\x18\x01 \x01(\tH\x03\x88\x01\x01\x12\x10\n\x03len\x18\x02 \x01(\x04H\x04\x88\x01\x01\x12\x17\n\nmin_length\x18\x03 \x01(\x04H\x05\x88\x01\x01\x12\x17\n\nmax_length\x18\x04 \x01(\x04H\x06\x88\x01\x01\x12\x14\n\x07pattern\x18\x05 \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06prefix\x18\x06 \x01(\tH\x08\x88\x01\x01\x12\x13\n\x06suffix\x18\x07 \x01(\tH\t\x88\x01\x01\x12\x15\n\x08\x63ontains\x18\x08 \x01(\tH\n\x88\x01\x01\x12\x19\n\x0cnot_contains\x18\t \x01(\tH\x0b\x88\x01\x01\x12\n\n\x02in\x18\n \x03(\t\x12\x0e\n\x06not_in\x18\x0b \x03(\t\x12\x0f\n\x05\x65mail\x18\x0c \x01(\x08H\x00\x12\x12\n\x08hostname\x18\r \x01(\x08H\x00\x12\x0c\n\x02ip\x18\x0e \x01(\x08H\x00\x12\x0e\n\x04ipv4\x18\x0f \x01(\x08H\x00\x12\x0e\n\x04ipv6\x18\x10 \x01(\x08H\x00\x12\r\n\x03uri\x18\x11 \x01(\x08H\x00\x12\x11\n\x07uri_ref\x18\x12 \x01(\x08H\x00\x12\x11\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08H\x00\x12\x0e\n\x04uuid\x18\x16 \x01(\x08H\x00\x12\x17\n\rpydantic_type\x18\x63 \x01(\tH\x00\x12\x13\n\x06\x65nable\x18\x17 \x01(\x08H\x0c\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\x18 \x01(\tH\x01\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\x19 \x01(\tH\x01\x12\x16\n\x0cmiss_default\x18\x1a \x01(\x08H\x01\x12\x12\n\x08required\x18# \x01(\x08H\x01\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18$ \x01(\tH\x01\x12\x12\n\x05\x61lias\x18\x1b \x01(\tH\r\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x1c \x01(\tH\x0e\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x1e \x01(\tH\x02\x12\x19\n\x0f\x65xample_factory\x18\x1f \x01(\tH\x02\x12\x12\n\x05\x66ield\x18 \x01(\tH\x0f\x88\x01\x01\x12\x11\n\x04type\x18! \x01(\tH\x10\x88\x01\x01\x12\x12\n\x05title\x18\" \x01(\tH\x11\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x12\x88\x01\x01\x42\x0c\n\nwell_knownB\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x06\n\x04_lenB\r\n\x0b_min_lengthB\r\n\x0b_max_lengthB\n\n\x08_patternB\t\n\x07_prefixB\t\n\x07_suffixB\x0b\n\t_containsB\x0f\n\r_not_containsB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\x86\x06\n\nBytesRules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x0cH\x03\x88\x01\x01\x12\x17\n\nmin_length\x18\x02 \x01(\x04H\x04\x88\x01\x01\x12\x17\n\nmax_length\x18\x03 \x01(\x04H\x05\x88\x01\x01\x12\x13\n\x06prefix\x18\x05 \x01(\x0cH\x06\x88\x01\x01\x12\x13\n\x06suffix\x18\x06 \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\x08\x63ontains\x18\x07 \x01(\x0cH\x08\x88\x01\x01\x12\n\n\x02in\x18\x08 \x03(\x0c\x12\x0e\n\x06not_in\x18\t \x03(\x0c\x12\x13\n\x06\x65nable\x18\n \x01(\x08H\t\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\x0b \x01(\x0cH\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\x0c \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\r \x01(\x08H\x00\x12\x12\n\x08required\x18\x1a \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18$ \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0f \x01(\tH\x0b\x88\x01\x01\x12\x18\n\x0bmultiple_of\x18\x10 \x01(\x02H\x0c\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x11 \x01(\x0cH\x01\x12\x19\n\x0f\x65xample_factory\x18\x12 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x13 \x01(\tH\r\x88\x01\x01\x12\x11\n\x04type\x18\x14 \x01(\tH\x0e\x88\x01\x01\x12\x0c\n\x02ip\x18\x15 \x01(\x08H\x02\x12\x0e\n\x04ipv4\x18\x16 \x01(\x08H\x02\x12\x0e\n\x04ipv6\x18\x17 \x01(\x08H\x02\x12\x12\n\x05title\x18\x18 \x01(\tH\x0f\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x19 \x01(\tH\x10\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x0c\n\nwell_knownB\x08\n\x06_constB\r\n\x0b_min_lengthB\r\n\x0b_max_lengthB\t\n\x07_prefixB\t\n\x07_suffixB\x0b\n\t_containsB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x0e\n\x0c_multiple_ofB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xcf\x03\n\tEnumRules\x12\x12\n\x05\x63onst\x18\x01 \x01(\x05H\x02\x88\x01\x01\x12\n\n\x02in\x18\x03 \x03(\x05\x12\x0e\n\x06not_in\x18\x04 \x03(\x05\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x05H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x05\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x05H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x06\x88\x01\x01\x12\x12\n\x05title\x18\x12 \x01(\tH\x07\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x08\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x08\n\x06_fieldB\x08\n\x06_titleB\x08\n\x06_extra\"\xd0\x03\n\x0cMessageRules\x12\x11\n\x04skip\x18\x01 \x01(\x08H\x02\x88\x01\x01\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x02H\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x02 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x05\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0f \x01(\x02H\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\x06\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x07\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\x08\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\t\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x07\n\x05_skipB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xb3\x04\n\rRepeatedRules\x12\x16\n\tmin_items\x18\x01 \x01(\x04H\x02\x88\x01\x01\x12\x16\n\tmax_items\x18\x02 \x01(\x04H\x03\x88\x01\x01\x12\x13\n\x06unique\x18\x03 \x01(\x08H\x04\x88\x01\x01\x12,\n\x05items\x18\x04 \x01(\x0b\x32\x18.p2p_validate.FieldRulesH\x05\x88\x01\x01\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x06\x88\x01\x01\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x07\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\t\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\n\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\x0b\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0c\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x0c\n\n_min_itemsB\x0c\n\n_max_itemsB\t\n\x07_uniqueB\x08\n\x06_itemsB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xc6\x04\n\x08MapRules\x12\x16\n\tmin_pairs\x18\x01 \x01(\x04H\x02\x88\x01\x01\x12\x16\n\tmax_pairs\x18\x02 \x01(\x04H\x03\x88\x01\x01\x12+\n\x04keys\x18\x04 \x01(\x0b\x32\x18.p2p_validate.FieldRulesH\x04\x88\x01\x01\x12-\n\x06values\x18\x05 \x01(\x0b\x32\x18.p2p_validate.FieldRulesH\x05\x88\x01\x01\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x06\x88\x01\x01\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x15 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x07\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\t\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\n\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\x0b\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x0c\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x0c\n\n_min_pairsB\x0c\n\n_max_pairsB\x07\n\x05_keysB\t\n\x07_valuesB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xb0\x03\n\x08\x41nyRules\x12\n\n\x02in\x18\x02 \x03(\t\x12\x0e\n\x06not_in\x18\x03 \x03(\t\x12\x13\n\x06\x65nable\x18\x08 \x01(\x08H\x02\x88\x01\x01\x12\x11\n\x07\x64\x65\x66\x61ult\x18\t \x01(\tH\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x01 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x04\x88\x01\x01\x12\x11\n\x07\x65xample\x18\x0e \x01(\tH\x01\x12\x19\n\x0f\x65xample_factory\x18\x0f \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x10 \x01(\tH\x05\x88\x01\x01\x12\x12\n\x05title\x18\x11 \x01(\tH\x06\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\x07\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x08\n\x06_fieldB\x08\n\x06_titleB\x08\n\x06_extra\"\xc2\x06\n\rDurationRules\x12-\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationH\x02\x88\x01\x01\x12*\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x03\x88\x01\x01\x12*\n\x02le\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationH\x04\x88\x01\x01\x12*\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationH\x05\x88\x01\x01\x12*\n\x02ge\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationH\x06\x88\x01\x01\x12%\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.Duration\x12)\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.Duration\x12\x13\n\x06\x65nable\x18\x0e \x01(\x08H\x07\x88\x01\x01\x12,\n\x07\x64\x65\x66\x61ult\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\n \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\x0b \x01(\x08H\x00\x12\x12\n\x08required\x18\x01 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\t\x88\x01\x01\x12,\n\x07\x65xample\x18\x0f \x01(\x0b\x32\x19.google.protobuf.DurationH\x01\x12\x19\n\x0f\x65xample_factory\x18\x10 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x11 \x01(\tH\n\x88\x01\x01\x12\x11\n\x04type\x18\x12 \x01(\tH\x0b\x88\x01\x01\x12\x12\n\x05title\x18\x13 \x01(\tH\x0c\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x14 \x01(\tH\r\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra\"\xf3\x06\n\x0eTimestampRules\x12.\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12+\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x12+\n\x02le\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x04\x88\x01\x01\x12+\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x05\x88\x01\x01\x12+\n\x02ge\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x06\x88\x01\x01\x12\x13\n\x06lt_now\x18\x07 \x01(\x08H\x07\x88\x01\x01\x12\x13\n\x06gt_now\x18\x08 \x01(\x08H\x08\x88\x01\x01\x12.\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.DurationH\t\x88\x01\x01\x12\x13\n\x06\x65nable\x18\n \x01(\x08H\n\x88\x01\x01\x12-\n\x07\x64\x65\x66\x61ult\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x19\n\x0f\x64\x65\x66\x61ult_factory\x18\x0c \x01(\tH\x00\x12\x16\n\x0cmiss_default\x18\r \x01(\x08H\x00\x12\x12\n\x08required\x18\x01 \x01(\x08H\x00\x12\x1a\n\x10\x64\x65\x66\x61ult_template\x18\x16 \x01(\tH\x00\x12\x12\n\x05\x61lias\x18\x0e \x01(\tH\x0b\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0f \x01(\tH\x0c\x88\x01\x01\x12-\n\x07\x65xample\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x12\x19\n\x0f\x65xample_factory\x18\x11 \x01(\tH\x01\x12\x12\n\x05\x66ield\x18\x12 \x01(\tH\r\x88\x01\x01\x12\x11\n\x04type\x18\x13 \x01(\tH\x0e\x88\x01\x01\x12\x12\n\x05title\x18\x14 \x01(\tH\x0f\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x15 \x01(\tH\x10\x88\x01\x01\x42\x10\n\x0e\x64\x65\x66\x61ult_configB\x10\n\x0e\x65xample_configB\x08\n\x06_constB\x05\n\x03_ltB\x05\n\x03_leB\x05\n\x03_gtB\x05\n\x03_geB\t\n\x07_lt_nowB\t\n\x07_gt_nowB\t\n\x07_withinB\t\n\x07_enableB\x08\n\x06_aliasB\x0e\n\x0c_descriptionB\x08\n\x06_fieldB\x07\n\x05_typeB\x08\n\x06_titleB\x08\n\x06_extra:4\n\x07ignored\x12\x1f.google.protobuf.MessageOptions\x18\xb1\x08 \x01(\x08\x88\x01\x01:3\n\x08required\x12\x1d.google.protobuf.OneofOptions\x18\xb1\x08 \x01(\x08\x88\x01\x01:Q\n\x0coneof_extend\x12\x1d.google.protobuf.OneofOptions\x18\xb2\x08 \x01(\x0b\x32\x18.p2p_validate.OneofRules\x88\x01\x01:J\n\x05rules\x12\x1d.google.protobuf.FieldOptions\x18\xb1\x08 \x01(\x0b\x32\x18.p2p_validate.FieldRules\x88\x01\x01\x42\x35Z3github.com/jupyter-naas/naas-models/go/p2p_validateb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'p2p_validate_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'Z3github.com/jupyter-naas/naas-models/go/p2p_validate' + _globals['_ONEOFRULES']._serialized_start=135 + _globals['_ONEOFRULES']._serialized_end=165 + _globals['_FIELDRULES']._serialized_start=168 + _globals['_FIELDRULES']._serialized_end=1193 + _globals['_FLOATRULES']._serialized_start=1196 + _globals['_FLOATRULES']._serialized_end=1826 + _globals['_DOUBLERULES']._serialized_start=1829 + _globals['_DOUBLERULES']._serialized_end=2460 + _globals['_INT32RULES']._serialized_start=2463 + _globals['_INT32RULES']._serialized_end=3093 + _globals['_INT64RULES']._serialized_start=3096 + _globals['_INT64RULES']._serialized_end=3726 + _globals['_UINT32RULES']._serialized_start=3729 + _globals['_UINT32RULES']._serialized_end=4360 + _globals['_UINT64RULES']._serialized_start=4363 + _globals['_UINT64RULES']._serialized_end=4994 + _globals['_SINT32RULES']._serialized_start=4997 + _globals['_SINT32RULES']._serialized_end=5628 + _globals['_SINT64RULES']._serialized_start=5631 + _globals['_SINT64RULES']._serialized_end=6262 + _globals['_FIXED32RULES']._serialized_start=6265 + _globals['_FIXED32RULES']._serialized_end=6897 + _globals['_FIXED64RULES']._serialized_start=6900 + _globals['_FIXED64RULES']._serialized_end=7532 + _globals['_SFIXED32RULES']._serialized_start=7535 + _globals['_SFIXED32RULES']._serialized_end=8168 + _globals['_SFIXED64RULES']._serialized_start=8171 + _globals['_SFIXED64RULES']._serialized_end=8804 + _globals['_BOOLRULES']._serialized_start=8807 + _globals['_BOOLRULES']._serialized_end=9213 + _globals['_STRINGRULES']._serialized_start=9216 + _globals['_STRINGRULES']._serialized_end=10184 + _globals['_BYTESRULES']._serialized_start=10187 + _globals['_BYTESRULES']._serialized_end=10961 + _globals['_ENUMRULES']._serialized_start=10964 + _globals['_ENUMRULES']._serialized_end=11427 + _globals['_MESSAGERULES']._serialized_start=11430 + _globals['_MESSAGERULES']._serialized_end=11894 + _globals['_REPEATEDRULES']._serialized_start=11897 + _globals['_REPEATEDRULES']._serialized_end=12460 + _globals['_MAPRULES']._serialized_start=12463 + _globals['_MAPRULES']._serialized_end=13045 + _globals['_ANYRULES']._serialized_start=13048 + _globals['_ANYRULES']._serialized_end=13480 + _globals['_DURATIONRULES']._serialized_start=13483 + _globals['_DURATIONRULES']._serialized_end=14317 + _globals['_TIMESTAMPRULES']._serialized_start=14320 + _globals['_TIMESTAMPRULES']._serialized_end=15203 +# @@protoc_insertion_point(module_scope) diff --git a/python/naas_models/pydantic/ontology_p2p.py b/python/naas_models/pydantic/ontology_p2p.py index 862bfd0..cf45251 100644 --- a/python/naas_models/pydantic/ontology_p2p.py +++ b/python/naas_models/pydantic/ontology_p2p.py @@ -12,43 +12,43 @@ class Ontology(BaseModel): - id: typing.Optional[UUID] = Field(default="") + id: UUID = Field(default="") workspace_id: typing.Optional[UUID] = Field(default="") label: typing.Optional[str] = Field(default="") source: typing.Optional[str] = Field(default="") download_url: typing.Optional[str] = Field(default="") class OntologySummary(BaseModel): - id: typing.Optional[UUID] = Field(default="") + id: UUID = Field(default="") workspace_id: typing.Optional[UUID] = Field(default="") label: typing.Optional[str] = Field(default="") download_url: typing.Optional[str] = Field(default="") class OntologyCreation(BaseModel): - workspace_id: typing.Optional[UUID] = Field(default="") - label: typing.Optional[str] = Field(default="", min_length=1, max_length=255) - source: typing.Optional[str] = Field(default="", min_length=1) + workspace_id: UUID = Field() + label: str = Field(min_length=1, max_length=255) + source: str = Field(min_length=1) download_url: typing.Optional[str] = Field(default="") class OntologyUpdate(BaseModel): - id: typing.Optional[UUID] = Field(default="") + id: UUID = Field() workspace_id: typing.Optional[UUID] = Field(default="") label: typing.Optional[str] = Field(default="") source: typing.Optional[str] = Field(default="") download_url: typing.Optional[str] = Field(default="") - field_mask: typing.Optional[FieldMask] = Field(default=None) + field_mask: FieldMask = Field() class OntologyListRequest(BaseModel): - workspace_id: typing.Optional[UUID] = Field(default="") - page_size: typing.Optional[int] = Field(default=0) - page_number: typing.Optional[int] = Field(default=0) + workspace_id: UUID = Field() + page_size: int = Field(ge=1, le=100) + page_number: int = Field(ge=0) class OntologyListResponse(BaseModel): error: typing.Optional[ErrorResponse] = Field(default=None) ontologies: typing.List[OntologySummary] = Field(default_factory=list) class OntologyGetRequest(BaseModel): - id: typing.Optional[UUID] = Field(default="") + id: UUID = Field(default="") workspace_id: typing.Optional[UUID] = Field(default="") class OntologyGetResponse(BaseModel): @@ -63,15 +63,15 @@ class OntologyCreationResponse(BaseModel): ontology: typing.Optional[Ontology] = Field(default=None) class OntologyUpdateRequest(BaseModel): - ontology: typing.Optional[OntologyUpdate] = Field(default=None) + ontology: OntologyUpdate = Field() class OntologyUpdateResponse(BaseModel): error: typing.Optional[ErrorResponse] = Field(default=None) ontology: typing.Optional[Ontology] = Field(default=None) class OntologyDeletionRequest(BaseModel): - id: typing.Optional[UUID] = Field(default="") - workspace_id: typing.Optional[UUID] = Field(default="") + id: UUID = Field(default="") + workspace_id: UUID = Field(default="") class OntologyDeletionResponse(BaseModel): error: typing.Optional[ErrorResponse] = Field(default=None)