// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.12 // source: hpcAC.proto package hpcAC import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" 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) ) // *****************Cluster Start************************ type JobManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JobManagerType string `protobuf:"bytes,1,opt,name=job_manager_type,json=jobManagerType,proto3" json:"job_manager_type,omitempty"` // @gotags: copier:"JobManagerType", json:"JobManagerType" JobManagerAddr string `protobuf:"bytes,2,opt,name=job_manager_addr,json=jobManagerAddr,proto3" json:"job_manager_addr,omitempty"` // @gotags: copier:"JobManagerAddr", json:"JobManagerAddr" Id int64 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"ID", json:"id" Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"` // @gotags: copier:"Text", json:"text" JobManagerPort string `protobuf:"bytes,5,opt,name=job_manager_port,json=jobManagerPort,proto3" json:"job_manager_port,omitempty"` // @gotags: copier:"JobManagerPort", json:"JobManagerPort" } func (x *JobManager) Reset() { *x = JobManager{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobManager) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobManager) ProtoMessage() {} func (x *JobManager) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobManager.ProtoReflect.Descriptor instead. func (*JobManager) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{0} } func (x *JobManager) GetJobManagerType() string { if x != nil { return x.JobManagerType } return "" } func (x *JobManager) GetJobManagerAddr() string { if x != nil { return x.JobManagerAddr } return "" } func (x *JobManager) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *JobManager) GetText() string { if x != nil { return x.Text } return "" } func (x *JobManager) GetJobManagerPort() string { if x != nil { return x.JobManagerPort } return "" } type JobManagerReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *JobManagerReq) Reset() { *x = JobManagerReq{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobManagerReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobManagerReq) ProtoMessage() {} func (x *JobManagerReq) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobManagerReq.ProtoReflect.Descriptor instead. func (*JobManagerReq) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{1} } type ListJobManagerResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code", json:"code" Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg", json:"msg" JobManagers []*JobManager `protobuf:"bytes,3,rep,name=job_managers,json=jobManagers,proto3" json:"job_managers,omitempty"` // @gotags: copier:"JobManagers", json:"data" } func (x *ListJobManagerResp) Reset() { *x = ListJobManagerResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListJobManagerResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListJobManagerResp) ProtoMessage() {} func (x *ListJobManagerResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListJobManagerResp.ProtoReflect.Descriptor instead. func (*ListJobManagerResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{2} } func (x *ListJobManagerResp) GetCode() string { if x != nil { return x.Code } return "" } func (x *ListJobManagerResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ListJobManagerResp) GetJobManagers() []*JobManager { if x != nil { return x.JobManagers } return nil } // *****************Job Detail Start************************ type JobInitAttr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"Account" copier:"Account"` // @gotags: copier:"Account", json:"Account" AccrueTime string `protobuf:"bytes,2,opt,name=accrue_time,json=accrueTime,proto3" json:"AccrueTime" copier:"AccrueTime"` // @gotags: copier:"AccrueTime", json:"AccrueTime" AllocNodeSid string `protobuf:"bytes,3,opt,name=alloc_node_sid,json=allocNodeSid,proto3" json:"AllocNode:Sid" copier:"AllocNode:Sid"` // @gotags: copier:"AllocNode:Sid", json:"AllocNode:Sid" BatchFlag string `protobuf:"bytes,4,opt,name=batch_flag,json=batchFlag,proto3" json:"BatchFlag" copier:"BatchFlag"` // @gotags: copier:"BatchFlag", json:"BatchFlag" CpusTask string `protobuf:"bytes,5,opt,name=cpus_task,json=cpusTask,proto3" json:"CPUs/Task" copier:"CPUs/Task"` // @gotags: copier:"CPUs/Task", json:"CPUs/Task" Command string `protobuf:"bytes,6,opt,name=command,proto3" json:"Command" copier:"Command"` // @gotags: copier:"Command", json:"Command" CommandExist string `protobuf:"bytes,7,opt,name=command_exist,json=commandExist,proto3" json:"CommandExist" copier:"CommandExist"` // @gotags: copier:"CommandExist", json:"CommandExist" Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"Comment" copier:"Comment"` // @gotags: copier:"Comment", json:"Comment" Contiguous string `protobuf:"bytes,9,opt,name=contiguous,proto3" json:"Contiguous" copier:"Contiguous"` // @gotags: copier:"Contiguous", json:"Contiguous" CoreSpec string `protobuf:"bytes,10,opt,name=core_spec,json=coreSpec,proto3" json:"CoreSpec" copier:"CoreSpec"` // @gotags: copier:"CoreSpec", json:"CoreSpec" Deadline string `protobuf:"bytes,11,opt,name=deadline,proto3" json:"Deadline" copier:"Deadline"` // @gotags: copier:"Deadline", json:"Deadline" DelayBoot string `protobuf:"bytes,12,opt,name=delay_boot,json=delayBoot,proto3" json:"DelayBoot" copier:"DelayBoot"` // @gotags: copier:"DelayBoot", json:"DelayBoot" Dependency string `protobuf:"bytes,13,opt,name=dependency,proto3" json:"Dependency" copier:"Dependency"` // @gotags: copier:"Dependency", json:"Dependency" EligibleTime string `protobuf:"bytes,14,opt,name=eligible_time,json=eligibleTime,proto3" json:"EligibleTime" copier:"EligibleTime"` // @gotags: copier:"EligibleTime", json:"EligibleTime" EndTime string `protobuf:"bytes,15,opt,name=end_time,json=endTime,proto3" json:"EndTime" copier:"EndTime"` // @gotags: copier:"EndTime", json:"EndTime" ExcNodeList string `protobuf:"bytes,16,opt,name=exc_node_list,json=excNodeList,proto3" json:"ExcNodeList" copier:"ExcNodeList"` // @gotags: copier:"ExcNodeList", json:"ExcNodeList" ExitCode string `protobuf:"bytes,17,opt,name=exit_code,json=exitCode,proto3" json:"ExitCode" copier:"ExitCode"` // @gotags: copier:"ExitCode", json:"ExitCode" Features string `protobuf:"bytes,18,opt,name=features,proto3" json:"Features" copier:"Features"` // @gotags: copier:"Features", json:"Features" GroupId string `protobuf:"bytes,19,opt,name=group_id,json=groupId,proto3" json:"GroupId" copier:"GroupId"` // @gotags: copier:"GroupId", json:"GroupId" JobId string `protobuf:"bytes,20,opt,name=job_id,json=jobId,proto3" json:"JobId" copier:"JobId"` // @gotags: copier:"JobId", json:"JobId" JobName string `protobuf:"bytes,21,opt,name=job_name,json=jobName,proto3" json:"JobName" copier:"JobName"` // @gotags: copier:"JobName", json:"JobName" JobState string `protobuf:"bytes,22,opt,name=job_state,json=jobState,proto3" json:"JobState" copier:"JobState"` // @gotags: copier:"JobState", json:"JobState" Licenses string `protobuf:"bytes,23,opt,name=licenses,proto3" json:"Licenses" copier:"Licenses"` // @gotags: copier:"Licenses", json:"Licenses" McsLabel string `protobuf:"bytes,24,opt,name=mcs_label,json=mcsLabel,proto3" json:"MCS_label" copier:"MCS_label"` // @gotags: copier:"MCS_label", json:"MCS_label" MinCpusNode string `protobuf:"bytes,25,opt,name=min_cpus_node,json=minCpusNode,proto3" json:"MinCPUsNode" copier:"MinCPUsNode"` // @gotags: copier:"MinCPUsNode", json:"MinCPUsNode" MinTmpDiskNode string `protobuf:"bytes,26,opt,name=min_tmp_disk_node,json=minTmpDiskNode,proto3" json:"MinTmpDiskNode" copier:"MinTmpDiskNode"` // @gotags: copier:"MinTmpDiskNode", json:"MinTmpDiskNode" Network string `protobuf:"bytes,27,opt,name=network,proto3" json:"Network" copier:"Network"` // @gotags: copier:"Network", json:"Network" Nice string `protobuf:"bytes,28,opt,name=nice,proto3" json:"Nice" copier:"Nice"` // @gotags: copier:"Nice", json:"Nice" NodeList string `protobuf:"bytes,29,opt,name=node_list,json=nodeList,proto3" json:"NodeList" copier:"NodeList"` // @gotags: copier:"NodeList", json:"NodeList" NtasksPerNbsc string `protobuf:"bytes,30,opt,name=ntasks_per_nbsc,json=ntasksPerNbsc,proto3" json:"NtasksPerN:B:S:C" copier:"NtasksPerN:B:S:C"` // @gotags: copier:"NtasksPerN:B:S:C", json:"NtasksPerN:B:S:C" NumCpus string `protobuf:"bytes,31,opt,name=num_cpus,json=numCpus,proto3" json:"NumCPUs" copier:"NumCPUs"` // @gotags: copier:"NumCPUs", json:"NumCPUs" NumNodes string `protobuf:"bytes,32,opt,name=num_nodes,json=numNodes,proto3" json:"NumNodes" copier:"NumNodes"` // @gotags: copier:"NumNodes", json:"NumNodes" NumTasks string `protobuf:"bytes,33,opt,name=num_tasks,json=numTasks,proto3" json:"NumTasks" copier:"NumTasks"` // @gotags: copier:"NumTasks", json:"NumTasks" OverSubscribe string `protobuf:"bytes,34,opt,name=over_subscribe,json=overSubscribe,proto3" json:"OverSubscribe" copier:"OverSubscribe"` // @gotags: copier:"OverSubscribe", json:"OverSubscribe" Partition string `protobuf:"bytes,35,opt,name=partition,proto3" json:"Partition" copier:"Partition"` // @gotags: copier:"Partition", json:"Partition" Power string `protobuf:"bytes,36,opt,name=power,proto3" json:"Power" copier:"Power"` // @gotags: copier:"Power", json:"Power" Priority string `protobuf:"bytes,37,opt,name=priority,proto3" json:"Priority" copier:"Priority"` // @gotags: copier:"Priority", json:"Priority" Qos string `protobuf:"bytes,38,opt,name=qos,proto3" json:"QOS" copier:"QOS"` // @gotags: copier:"QOS", json:"QOS" Reason string `protobuf:"bytes,39,opt,name=reason,proto3" json:"Reason" copier:"Reason"` // @gotags: copier:"Reason", json:"Reason" Reboot string `protobuf:"bytes,40,opt,name=reboot,proto3" json:"Reboot" copier:"Reboot"` // @gotags: copier:"Reboot", json:"Reboot" ReqBsct string `protobuf:"bytes,41,opt,name=req_bsct,json=reqBsct,proto3" json:"ReqB:S:C:T" copier:"ReqB:S:C:T"` // @gotags: copier:"ReqB:S:C:T", json:"ReqB:S:C:T" ReqNodeList string `protobuf:"bytes,42,opt,name=ReqNodeList,proto3" json:"ReqNodeList" copier:"ReqNodeList"` // @gotags: copier:"ReqNodeList", json:"ReqNodeList" Requeue string `protobuf:"bytes,43,opt,name=requeue,proto3" json:"Requeue" copier:"Requeue"` // @gotags: copier:"Requeue", json:"Requeue" Restarts string `protobuf:"bytes,44,opt,name=restarts,proto3" json:"Restarts" copier:"Restarts"` // @gotags: copier:"Restarts", json:"Restarts" RunTime string `protobuf:"bytes,45,opt,name=run_time,json=runTime,proto3" json:"RunTime" copier:"RunTime"` // @gotags: copier:"RunTime", json:"RunTime" BatchHost string `protobuf:"bytes,46,opt,name=batch_host,json=batchHost,proto3" json:"BatchHost" copier:"BatchHost"` // @gotags: copier:"BatchHost", json:"BatchHost" SecsPreSuspend string `protobuf:"bytes,47,opt,name=secs_pre_suspend,json=secsPreSuspend,proto3" json:"SecsPreSuspend" copier:"SecsPreSuspend"` // @gotags: copier:"SecsPreSuspend", json:"SecsPreSuspend" SocksNode string `protobuf:"bytes,48,opt,name=socks_node,json=socksNode,proto3" json:"Socks/Node" copier:"Socks/Node"` // @gotags: copier:"Socks/Node", json:"Socks/Node" StartTime string `protobuf:"bytes,49,opt,name=start_time,json=startTime,proto3" json:"StartTime" copier:"StartTime"` // @gotags: copier:"StartTime", json:"StartTime" StdErr string `protobuf:"bytes,50,opt,name=std_err,json=stdErr,proto3" json:"StdErr" copier:"StdErr"` // @gotags: copier:"StdErr", json:"StdErr" StdIn string `protobuf:"bytes,51,opt,name=std_in,json=stdIn,proto3" json:"StdIn" copier:"StdIn"` // @gotags: copier:"StdIn", json:"StdIn" StdOut string `protobuf:"bytes,52,opt,name=std_out,json=stdOut,proto3" json:"StdOut" copier:"StdOut"` // @gotags: copier:"StdOut", json:"StdOut" SubmitTime string `protobuf:"bytes,53,opt,name=submit_time,json=submitTime,proto3" json:"SubmitTime" copier:"SubmitTime"` // @gotags: copier:"SubmitTime", json:"SubmitTime" SuspendTime string `protobuf:"bytes,54,opt,name=suspend_time,json=suspendTime,proto3" json:"SuspendTime" copier:"SuspendTime"` // @gotags: copier:"SuspendTime", json:"SuspendTime" Tres string `protobuf:"bytes,55,opt,name=tres,proto3" json:"TRES" copier:"TRES"` // @gotags: copier:"TRES", json:"TRES" TimeLimit string `protobuf:"bytes,56,opt,name=time_limit,json=timeLimit,proto3" json:"TimeLimit" copier:"TimeLimit"` // @gotags: copier:"TimeLimit", json:"TimeLimit" TimeMin string `protobuf:"bytes,57,opt,name=time_min,json=timeMin,proto3" json:"TimeMin" copier:"TimeMin"` // @gotags: copier:"TimeMin", json:"TimeMin" UserId string `protobuf:"bytes,58,opt,name=user_id,json=userId,proto3" json:"UserId" copier:"UserId"` // @gotags: copier:"UserId", json:"UserId" WorkDir string `protobuf:"bytes,59,opt,name=work_dir,json=workDir,proto3" json:"WorkDir" copier:"WorkDir"` // @gotags: copier:"WorkDir", json:"WorkDir" } func (x *JobInitAttr) Reset() { *x = JobInitAttr{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobInitAttr) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobInitAttr) ProtoMessage() {} func (x *JobInitAttr) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobInitAttr.ProtoReflect.Descriptor instead. func (*JobInitAttr) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{3} } func (x *JobInitAttr) GetAccount() string { if x != nil { return x.Account } return "" } func (x *JobInitAttr) GetAccrueTime() string { if x != nil { return x.AccrueTime } return "" } func (x *JobInitAttr) GetAllocNodeSid() string { if x != nil { return x.AllocNodeSid } return "" } func (x *JobInitAttr) GetBatchFlag() string { if x != nil { return x.BatchFlag } return "" } func (x *JobInitAttr) GetCpusTask() string { if x != nil { return x.CpusTask } return "" } func (x *JobInitAttr) GetCommand() string { if x != nil { return x.Command } return "" } func (x *JobInitAttr) GetCommandExist() string { if x != nil { return x.CommandExist } return "" } func (x *JobInitAttr) GetComment() string { if x != nil { return x.Comment } return "" } func (x *JobInitAttr) GetContiguous() string { if x != nil { return x.Contiguous } return "" } func (x *JobInitAttr) GetCoreSpec() string { if x != nil { return x.CoreSpec } return "" } func (x *JobInitAttr) GetDeadline() string { if x != nil { return x.Deadline } return "" } func (x *JobInitAttr) GetDelayBoot() string { if x != nil { return x.DelayBoot } return "" } func (x *JobInitAttr) GetDependency() string { if x != nil { return x.Dependency } return "" } func (x *JobInitAttr) GetEligibleTime() string { if x != nil { return x.EligibleTime } return "" } func (x *JobInitAttr) GetEndTime() string { if x != nil { return x.EndTime } return "" } func (x *JobInitAttr) GetExcNodeList() string { if x != nil { return x.ExcNodeList } return "" } func (x *JobInitAttr) GetExitCode() string { if x != nil { return x.ExitCode } return "" } func (x *JobInitAttr) GetFeatures() string { if x != nil { return x.Features } return "" } func (x *JobInitAttr) GetGroupId() string { if x != nil { return x.GroupId } return "" } func (x *JobInitAttr) GetJobId() string { if x != nil { return x.JobId } return "" } func (x *JobInitAttr) GetJobName() string { if x != nil { return x.JobName } return "" } func (x *JobInitAttr) GetJobState() string { if x != nil { return x.JobState } return "" } func (x *JobInitAttr) GetLicenses() string { if x != nil { return x.Licenses } return "" } func (x *JobInitAttr) GetMcsLabel() string { if x != nil { return x.McsLabel } return "" } func (x *JobInitAttr) GetMinCpusNode() string { if x != nil { return x.MinCpusNode } return "" } func (x *JobInitAttr) GetMinTmpDiskNode() string { if x != nil { return x.MinTmpDiskNode } return "" } func (x *JobInitAttr) GetNetwork() string { if x != nil { return x.Network } return "" } func (x *JobInitAttr) GetNice() string { if x != nil { return x.Nice } return "" } func (x *JobInitAttr) GetNodeList() string { if x != nil { return x.NodeList } return "" } func (x *JobInitAttr) GetNtasksPerNbsc() string { if x != nil { return x.NtasksPerNbsc } return "" } func (x *JobInitAttr) GetNumCpus() string { if x != nil { return x.NumCpus } return "" } func (x *JobInitAttr) GetNumNodes() string { if x != nil { return x.NumNodes } return "" } func (x *JobInitAttr) GetNumTasks() string { if x != nil { return x.NumTasks } return "" } func (x *JobInitAttr) GetOverSubscribe() string { if x != nil { return x.OverSubscribe } return "" } func (x *JobInitAttr) GetPartition() string { if x != nil { return x.Partition } return "" } func (x *JobInitAttr) GetPower() string { if x != nil { return x.Power } return "" } func (x *JobInitAttr) GetPriority() string { if x != nil { return x.Priority } return "" } func (x *JobInitAttr) GetQos() string { if x != nil { return x.Qos } return "" } func (x *JobInitAttr) GetReason() string { if x != nil { return x.Reason } return "" } func (x *JobInitAttr) GetReboot() string { if x != nil { return x.Reboot } return "" } func (x *JobInitAttr) GetReqBsct() string { if x != nil { return x.ReqBsct } return "" } func (x *JobInitAttr) GetReqNodeList() string { if x != nil { return x.ReqNodeList } return "" } func (x *JobInitAttr) GetRequeue() string { if x != nil { return x.Requeue } return "" } func (x *JobInitAttr) GetRestarts() string { if x != nil { return x.Restarts } return "" } func (x *JobInitAttr) GetRunTime() string { if x != nil { return x.RunTime } return "" } func (x *JobInitAttr) GetBatchHost() string { if x != nil { return x.BatchHost } return "" } func (x *JobInitAttr) GetSecsPreSuspend() string { if x != nil { return x.SecsPreSuspend } return "" } func (x *JobInitAttr) GetSocksNode() string { if x != nil { return x.SocksNode } return "" } func (x *JobInitAttr) GetStartTime() string { if x != nil { return x.StartTime } return "" } func (x *JobInitAttr) GetStdErr() string { if x != nil { return x.StdErr } return "" } func (x *JobInitAttr) GetStdIn() string { if x != nil { return x.StdIn } return "" } func (x *JobInitAttr) GetStdOut() string { if x != nil { return x.StdOut } return "" } func (x *JobInitAttr) GetSubmitTime() string { if x != nil { return x.SubmitTime } return "" } func (x *JobInitAttr) GetSuspendTime() string { if x != nil { return x.SuspendTime } return "" } func (x *JobInitAttr) GetTres() string { if x != nil { return x.Tres } return "" } func (x *JobInitAttr) GetTimeLimit() string { if x != nil { return x.TimeLimit } return "" } func (x *JobInitAttr) GetTimeMin() string { if x != nil { return x.TimeMin } return "" } func (x *JobInitAttr) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *JobInitAttr) GetWorkDir() string { if x != nil { return x.WorkDir } return "" } type JobVncSessionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Archive string `protobuf:"bytes,1,opt,name=archive,proto3" json:"archive" copier:"archive"` // @gotags: copier:"archive", json:"archive" IClientNumber uint32 `protobuf:"varint,2,opt,name=i_client_number,json=iClientNumber,proto3" json:"iClientNumber" copier:"iClientNumber"` // @gotags: copier:"iClientNumber", json:"iClientNumber" IPixelDepth string `protobuf:"bytes,3,opt,name=i_pixel_depth,json=iPixelDepth,proto3" json:"iPixelDepth" copier:"iPixelDepth"` // @gotags: copier:"iPixelDepth", json:"iPixelDepth" ListClients string `protobuf:"bytes,4,opt,name=list_clients,json=listClients,proto3" json:"listClients" copier:"listClients"` // @gotags: copier:"listClients", json:"listClients" Locale string `protobuf:"bytes,5,opt,name=locale,proto3" json:"locale" copier:"locale"` // @gotags: copier:"locale", json:"locale" LoginPasswd string `protobuf:"bytes,6,opt,name=loginPasswd,proto3" json:"loginPasswd" copier:"loginPasswd"` // @gotags: copier:"loginPasswd", json:"loginPasswd" MapSessionExtraAttrs string `protobuf:"bytes,7,opt,name=map_session_extra_attrs,json=mapSessionExtraAttrs,proto3" json:"mapSessionExtraAttrs" copier:"mapSessionExtraAttrs"` // @gotags: copier:"mapSessionExtraAttrs", json:"mapSessionExtraAttrs" StrAuthType string `protobuf:"bytes,8,opt,name=str_auth_type,json=strAuthType,proto3" json:"strAuthType" copier:"strAuthType"` // @gotags: copier:"strAuthType", json:"strAuthType" StrGeometry string `protobuf:"bytes,9,opt,name=str_geometry,json=strGeometry,proto3" json:"strGeometry" copier:"strGeometry"` // @gotags: copier:"strGeometry", json:"strGeometry" StrJobManagerAddr string `protobuf:"bytes,10,opt,name=str_job_manager_addr,json=strJobManagerAddr,proto3" json:"strJobManagerAddr" copier:"strJobManagerAddr"` // @gotags: copier:"strJobManagerAddr", json:"strJobManagerAddr" StrJobManagerId string `protobuf:"bytes,11,opt,name=str_job_manager_id,json=strJobManagerId,proto3" json:"strJobManagerID" copier:"strJobManagerID"` // @gotags: copier:"strJobManagerID", json:"strJobManagerID" StrJobManagerName string `protobuf:"bytes,12,opt,name=str_job_manager_name,json=strJobManagerName,proto3" json:"strJobManagerName" copier:"strJobManagerName"` // @gotags: copier:"strJobManagerName", json:"strJobManagerName" StrRelateJobId string `protobuf:"bytes,13,opt,name=str_relate_job_id,json=strRelateJobId,proto3" json:"strRelateJobID" copier:"strRelateJobID"` // @gotags: copier:"strRelateJobID", json:"strRelateJobID" StrServerAddr string `protobuf:"bytes,14,opt,name=str_server_addr,json=strServerAddr,proto3" json:"strServerAddr" copier:"strServerAddr"` // @gotags: copier:"strServerAddr", json:"strServerAddr" StrServerName string `protobuf:"bytes,15,opt,name=str_server_name,json=strServerName,proto3" json:"strServerName" copier:"strServerName"` // @gotags: copier:"strServerName", json:"strServerName" StrSessionCtime string `protobuf:"bytes,16,opt,name=str_session_ctime,json=strSessionCtime,proto3" json:"strSessionCTime" copier:"strSessionCTime"` // @gotags: copier:"strSessionCTime", json:"strSessionCTime" StrSessionHeight string `protobuf:"bytes,17,opt,name=str_session_height,json=strSessionHeight,proto3" json:"strSessionHeight" copier:"strSessionHeight"` // @gotags: copier:"strSessionHeight", json:"strSessionHeight" StrSessionId string `protobuf:"bytes,18,opt,name=str_session_id,json=strSessionId,proto3" json:"strSessionID" copier:"strSessionID"` // @gotags: copier:"strSessionID", json:"strSessionID" StrSessionOwner string `protobuf:"bytes,19,opt,name=str_session_owner,json=strSessionOwner,proto3" json:"strSessionOwner" copier:"strSessionOwner"` // @gotags: copier:"strSessionOwner", json:"strSessionOwner" StrSessionType string `protobuf:"bytes,20,opt,name=str_session_type,json=strSessionType,proto3" json:"strSessionType" copier:"strSessionType"` // @gotags: copier:"strSessionType", json:"strSessionType" StrSessionWidth string `protobuf:"bytes,21,opt,name=str_session_width,json=strSessionWidth,proto3" json:"strSessionWidth" copier:"strSessionWidth"` // @gotags: copier:"strSessionWidth", json:"strSessionWidth" VncCode string `protobuf:"bytes,22,opt,name=vnc_code,json=vncCode,proto3" json:"vncCode" copier:"vncCode"` // @gotags: copier:"vncCode", json:"vncCode" } func (x *JobVncSessionInfo) Reset() { *x = JobVncSessionInfo{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobVncSessionInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobVncSessionInfo) ProtoMessage() {} func (x *JobVncSessionInfo) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobVncSessionInfo.ProtoReflect.Descriptor instead. func (*JobVncSessionInfo) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{4} } func (x *JobVncSessionInfo) GetArchive() string { if x != nil { return x.Archive } return "" } func (x *JobVncSessionInfo) GetIClientNumber() uint32 { if x != nil { return x.IClientNumber } return 0 } func (x *JobVncSessionInfo) GetIPixelDepth() string { if x != nil { return x.IPixelDepth } return "" } func (x *JobVncSessionInfo) GetListClients() string { if x != nil { return x.ListClients } return "" } func (x *JobVncSessionInfo) GetLocale() string { if x != nil { return x.Locale } return "" } func (x *JobVncSessionInfo) GetLoginPasswd() string { if x != nil { return x.LoginPasswd } return "" } func (x *JobVncSessionInfo) GetMapSessionExtraAttrs() string { if x != nil { return x.MapSessionExtraAttrs } return "" } func (x *JobVncSessionInfo) GetStrAuthType() string { if x != nil { return x.StrAuthType } return "" } func (x *JobVncSessionInfo) GetStrGeometry() string { if x != nil { return x.StrGeometry } return "" } func (x *JobVncSessionInfo) GetStrJobManagerAddr() string { if x != nil { return x.StrJobManagerAddr } return "" } func (x *JobVncSessionInfo) GetStrJobManagerId() string { if x != nil { return x.StrJobManagerId } return "" } func (x *JobVncSessionInfo) GetStrJobManagerName() string { if x != nil { return x.StrJobManagerName } return "" } func (x *JobVncSessionInfo) GetStrRelateJobId() string { if x != nil { return x.StrRelateJobId } return "" } func (x *JobVncSessionInfo) GetStrServerAddr() string { if x != nil { return x.StrServerAddr } return "" } func (x *JobVncSessionInfo) GetStrServerName() string { if x != nil { return x.StrServerName } return "" } func (x *JobVncSessionInfo) GetStrSessionCtime() string { if x != nil { return x.StrSessionCtime } return "" } func (x *JobVncSessionInfo) GetStrSessionHeight() string { if x != nil { return x.StrSessionHeight } return "" } func (x *JobVncSessionInfo) GetStrSessionId() string { if x != nil { return x.StrSessionId } return "" } func (x *JobVncSessionInfo) GetStrSessionOwner() string { if x != nil { return x.StrSessionOwner } return "" } func (x *JobVncSessionInfo) GetStrSessionType() string { if x != nil { return x.StrSessionType } return "" } func (x *JobVncSessionInfo) GetStrSessionWidth() string { if x != nil { return x.StrSessionWidth } return "" } func (x *JobVncSessionInfo) GetVncCode() string { if x != nil { return x.VncCode } return "" } type JobDetail struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AppType string `protobuf:"bytes,1,opt,name=app_type,json=appType,proto3" json:"appType" copier:"AppType"` // @gotags: copier:"AppType", json:"appType" AveRss string `protobuf:"bytes,2,opt,name=ave_rss,json=aveRss,proto3" json:"aveRSS" copier:"AveRSS"` // @gotags: copier:"AveRSS", json:"aveRSS" AveVmSize string `protobuf:"bytes,3,opt,name=ave_vm_size,json=aveVmSize,proto3" json:"aveVMSize" copier:"AveVMSize"` // @gotags: copier:"AveVMSize", json:"aveVMSize" CpuTimeUsed string `protobuf:"bytes,4,opt,name=cpu_time_used,json=cpuTimeUsed,proto3" json:"cpuTimeUsed" copier:"CpuTimeUsed"` // @gotags: copier:"CpuTimeUsed", json:"cpuTimeUsed" DcuNumReq uint32 `protobuf:"varint,5,opt,name=dcu_num_req,json=dcuNumReq,proto3" json:"dcuNumReq" copier:"DcuNumReq"` // @gotags: copier:"DcuNumReq", json:"dcuNumReq" DcuNumUsed uint32 `protobuf:"varint,6,opt,name=dcu_num_used,json=dcuNumUsed,proto3" json:"dcuNumUsed" copier:"DcuNumUsed"` // @gotags: copier:"DcuNumUsed", json:"dcuNumUsed" ErrorPath string `protobuf:"bytes,7,opt,name=error_path,json=errorPath,proto3" json:"errorPath" copier:"ErrorPath"` // @gotags: copier:"ErrorPath", json:"errorPath" ExitCode string `protobuf:"bytes,8,opt,name=exit_code,json=exitCode,proto3" json:"exitCode" copier:"ExitCode"` // @gotags: copier:"ExitCode", json:"exitCode" GpuNumReq uint32 `protobuf:"varint,9,opt,name=gpu_num_req,json=gpuNumReq,proto3" json:"gpuNumReq" copier:"GpuNumReq"` // @gotags: copier:"GpuNumReq", json:"gpuNumReq" GpuNumUsed uint32 `protobuf:"varint,10,opt,name=gpu_num_used,json=gpuNumUsed,proto3" json:"gpuNumUsed" copier:"GpuNumUsed"` // @gotags: copier:"GpuNumUsed", json:"gpuNumUsed" JobEndTime string `protobuf:"bytes,11,opt,name=job_end_time,json=jobEndTime,proto3" json:"jobEndTime" copier:"JobEndTime"` // @gotags: copier:"JobEndTime", json:"jobEndTime" JobId string `protobuf:"bytes,12,opt,name=job_id,json=jobId,proto3" json:"jobId" copier:"JobId"` // @gotags: copier:"JobId", json:"jobId" JobInitAttr *JobInitAttr `protobuf:"bytes,13,opt,name=job_init_attr,json=jobInitAttr,proto3" json:"JobInitAttr" copier:"JobInitAttr"` // @gotags: copier:"JobInitAttr", json:"JobInitAttr" JobName string `protobuf:"bytes,14,opt,name=job_name,json=jobName,proto3" json:"jobName" copier:"JobName"` // @gotags: copier:"JobName", json:"jobName" JobRunTime string `protobuf:"bytes,15,opt,name=job_run_time,json=jobRunTime,proto3" json:"jobRunTime" copier:"JobRunTime"` // @gotags: copier:"JobRunTime", json:"jobRunTime" JobStartTime string `protobuf:"bytes,16,opt,name=job_start_time,json=jobStartTime,proto3" json:"jobStartTime" copier:"JobStartTime"` // @gotags: copier:"JobStartTime", json:"jobStartTime" JobStatus string `protobuf:"bytes,17,opt,name=job_status,json=jobStatus,proto3" json:"jobStatus" copier:"JobStatus"` // @gotags: copier:"JobStatus", json:"jobStatus" JobSubmitTime string `protobuf:"bytes,18,opt,name=job_submit_time,json=jobSubmitTime,proto3" json:"jobSubmitTime" copier:"JobSubmitTime"` // @gotags: copier:"JobSubmitTime", json:"jobSubmitTime" JobSessionInfo *JobVncSessionInfo `protobuf:"bytes,19,opt,name=job_session_info,json=jobSessionInfo,proto3" json:"jobVncSessionInfo" copier:"JobVncSessionInfo"` // @gotags: copier:"JobVncSessionInfo", json:"jobVncSessionInfo" JobManagerId string `protobuf:"bytes,20,opt,name=job_manager_id,json=jobManagerId,proto3" json:"jobmanagerId" copier:"JobManagerId"` // @gotags: copier:"JobManagerId", json:"jobmanagerId" JobManagerName string `protobuf:"bytes,21,opt,name=job_manager_name,json=jobManagerName,proto3" json:"jobmanagerName" copier:"JobManagerName"` // @gotags: copier:"JobManagerName", json:"jobmanagerName" JobManagerType string `protobuf:"bytes,22,opt,name=job_manager_type,json=jobManagerType,proto3" json:"jobmanagerType" copier:"JobManagerType"` // @gotags: copier:"JobManagerType", json:"jobmanagerType" MemUsed string `protobuf:"bytes,23,opt,name=mem_used,json=memUsed,proto3" json:"memUsed" copier:"MemUsed"` // @gotags: copier:"MemUsed", json:"memUsed" NodeNumReq uint32 `protobuf:"varint,24,opt,name=node_num_req,json=nodeNumReq,proto3" json:"nodeNumReq" copier:"NodeNumReq"` // @gotags: copier:"NodeNumReq", json:"nodeNumReq" NodeUsed string `protobuf:"bytes,25,opt,name=node_used,json=nodeUsed,proto3" json:"nodeUsed" copier:"NodeUsed"` // @gotags: copier:"NodeUsed", json:"nodeUsed" OutputPath string `protobuf:"bytes,26,opt,name=output_path,json=outputPath,proto3" json:"outputPath" copier:"OutputPath"` // @gotags: copier:"OutputPath", json:"outputPath" Priority string `protobuf:"bytes,27,opt,name=priority,proto3" json:"priority" copier:"Priority"` // @gotags: copier:"Priority", json:"priority" ProcNumReq uint32 `protobuf:"varint,28,opt,name=proc_num_req,json=procNumReq,proto3" json:"procNumReq" copier:"ProcNumReq"` // @gotags: copier:"ProcNumReq", json:"procNumReq" ProcNumUsed uint32 `protobuf:"varint,29,opt,name=proc_num_used,json=procNumUsed,proto3" json:"procNumUsed" copier:"procNumUsed"` // @gotags: copier:"procNumUsed", json:"procNumUsed" Queue string `protobuf:"bytes,30,opt,name=queue,proto3" json:"queue" copier:"Queue"` // @gotags: copier:"Queue", json:"queue" Restarts string `protobuf:"bytes,31,opt,name=restarts,proto3" json:"restarts" copier:"Restarts"` // @gotags: copier:"Restarts", json:"restarts" Scale string `protobuf:"bytes,32,opt,name=scale,proto3" json:"scale" copier:"Scale"` // @gotags: copier:"Scale", json:"scale" User string `protobuf:"bytes,33,opt,name=user,proto3" json:"user" copier:"User"` // @gotags: copier:"User", json:"user" WalltimeReq string `protobuf:"bytes,34,opt,name=walltime_req,json=walltimeReq,proto3" json:"walltimeReq" copier:"WalltimeReq"` // @gotags: copier:"WalltimeReq", json:"walltimeReq" WorkDir string `protobuf:"bytes,35,opt,name=work_dir,json=workDir,proto3" json:"workDir" copier:"WorkDir"` // @gotags: copier:"WorkDir", json:"workDir" } func (x *JobDetail) Reset() { *x = JobDetail{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobDetail) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobDetail) ProtoMessage() {} func (x *JobDetail) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobDetail.ProtoReflect.Descriptor instead. func (*JobDetail) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{5} } func (x *JobDetail) GetAppType() string { if x != nil { return x.AppType } return "" } func (x *JobDetail) GetAveRss() string { if x != nil { return x.AveRss } return "" } func (x *JobDetail) GetAveVmSize() string { if x != nil { return x.AveVmSize } return "" } func (x *JobDetail) GetCpuTimeUsed() string { if x != nil { return x.CpuTimeUsed } return "" } func (x *JobDetail) GetDcuNumReq() uint32 { if x != nil { return x.DcuNumReq } return 0 } func (x *JobDetail) GetDcuNumUsed() uint32 { if x != nil { return x.DcuNumUsed } return 0 } func (x *JobDetail) GetErrorPath() string { if x != nil { return x.ErrorPath } return "" } func (x *JobDetail) GetExitCode() string { if x != nil { return x.ExitCode } return "" } func (x *JobDetail) GetGpuNumReq() uint32 { if x != nil { return x.GpuNumReq } return 0 } func (x *JobDetail) GetGpuNumUsed() uint32 { if x != nil { return x.GpuNumUsed } return 0 } func (x *JobDetail) GetJobEndTime() string { if x != nil { return x.JobEndTime } return "" } func (x *JobDetail) GetJobId() string { if x != nil { return x.JobId } return "" } func (x *JobDetail) GetJobInitAttr() *JobInitAttr { if x != nil { return x.JobInitAttr } return nil } func (x *JobDetail) GetJobName() string { if x != nil { return x.JobName } return "" } func (x *JobDetail) GetJobRunTime() string { if x != nil { return x.JobRunTime } return "" } func (x *JobDetail) GetJobStartTime() string { if x != nil { return x.JobStartTime } return "" } func (x *JobDetail) GetJobStatus() string { if x != nil { return x.JobStatus } return "" } func (x *JobDetail) GetJobSubmitTime() string { if x != nil { return x.JobSubmitTime } return "" } func (x *JobDetail) GetJobSessionInfo() *JobVncSessionInfo { if x != nil { return x.JobSessionInfo } return nil } func (x *JobDetail) GetJobManagerId() string { if x != nil { return x.JobManagerId } return "" } func (x *JobDetail) GetJobManagerName() string { if x != nil { return x.JobManagerName } return "" } func (x *JobDetail) GetJobManagerType() string { if x != nil { return x.JobManagerType } return "" } func (x *JobDetail) GetMemUsed() string { if x != nil { return x.MemUsed } return "" } func (x *JobDetail) GetNodeNumReq() uint32 { if x != nil { return x.NodeNumReq } return 0 } func (x *JobDetail) GetNodeUsed() string { if x != nil { return x.NodeUsed } return "" } func (x *JobDetail) GetOutputPath() string { if x != nil { return x.OutputPath } return "" } func (x *JobDetail) GetPriority() string { if x != nil { return x.Priority } return "" } func (x *JobDetail) GetProcNumReq() uint32 { if x != nil { return x.ProcNumReq } return 0 } func (x *JobDetail) GetProcNumUsed() uint32 { if x != nil { return x.ProcNumUsed } return 0 } func (x *JobDetail) GetQueue() string { if x != nil { return x.Queue } return "" } func (x *JobDetail) GetRestarts() string { if x != nil { return x.Restarts } return "" } func (x *JobDetail) GetScale() string { if x != nil { return x.Scale } return "" } func (x *JobDetail) GetUser() string { if x != nil { return x.User } return "" } func (x *JobDetail) GetWalltimeReq() string { if x != nil { return x.WalltimeReq } return "" } func (x *JobDetail) GetWorkDir() string { if x != nil { return x.WorkDir } return "" } type JobDetailReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"jobId" copier:"JobId"` // @gotags: copier:"JobId", json:"jobId" } func (x *JobDetailReq) Reset() { *x = JobDetailReq{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *JobDetailReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*JobDetailReq) ProtoMessage() {} func (x *JobDetailReq) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use JobDetailReq.ProtoReflect.Descriptor instead. func (*JobDetailReq) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{6} } func (x *JobDetailReq) GetJobId() string { if x != nil { return x.JobId } return "" } type GetJobDetailResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code" copier:"Code"` // @gotags: copier:"Code", json:"code" Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg" copier:"Msg"` // @gotags: copier:"Msg", json:"msg" JobDetail *JobDetail `protobuf:"bytes,3,opt,name=job_detail,json=jobDetail,proto3" json:"data" copier:"JobDetail"` // @gotags: copier:"JobDetail", json:"data" } func (x *GetJobDetailResp) Reset() { *x = GetJobDetailResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetJobDetailResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetJobDetailResp) ProtoMessage() {} func (x *GetJobDetailResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetJobDetailResp.ProtoReflect.Descriptor instead. func (*GetJobDetailResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{7} } func (x *GetJobDetailResp) GetCode() string { if x != nil { return x.Code } return "" } func (x *GetJobDetailResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *GetJobDetailResp) GetJobDetail() *JobDetail { if x != nil { return x.JobDetail } return nil } // *****************Job(Delete) Start************************ type DeleteJobReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields StrJobInfoMap string `protobuf:"bytes,1,opt,name=str_job_info_map,json=strJobInfoMap,proto3" json:"strJobInfoMap" copier:"strJobInfoMap"` // @gotags: copier:"strJobInfoMap", json:"strJobInfoMap" } func (x *DeleteJobReq) Reset() { *x = DeleteJobReq{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteJobReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteJobReq) ProtoMessage() {} func (x *DeleteJobReq) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeleteJobReq.ProtoReflect.Descriptor instead. func (*DeleteJobReq) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{8} } func (x *DeleteJobReq) GetStrJobInfoMap() string { if x != nil { return x.StrJobInfoMap } return "" } type DeleteJobResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code" copier:"Code"` // @gotags: copier:"Code", json:"code" Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg" copier:"Msg"` // @gotags: copier:"Msg", json:"msg" Result map[string]string `protobuf:"bytes,3,rep,name=result,proto3" json:"data" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" copier:"Result"` // @gotags: copier:"Result", json:"data" } func (x *DeleteJobResp) Reset() { *x = DeleteJobResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DeleteJobResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteJobResp) ProtoMessage() {} func (x *DeleteJobResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeleteJobResp.ProtoReflect.Descriptor instead. func (*DeleteJobResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{9} } func (x *DeleteJobResp) GetCode() string { if x != nil { return x.Code } return "" } func (x *DeleteJobResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *DeleteJobResp) GetResult() map[string]string { if x != nil { return x.Result } return nil } // *****************Job Start************************ type Job struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // @gotags: copier:"JobId" JobName string `protobuf:"bytes,2,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` // @gotags: copier:"Name" JobStatus string `protobuf:"bytes,3,opt,name=job_status,json=jobStatus,proto3" json:"job_status,omitempty"` // @gotags: copier:"JobState" Queue string `protobuf:"bytes,4,opt,name=queue,proto3" json:"queue,omitempty"` // @gotags: copier:"Partition" User string `protobuf:"bytes,5,opt,name=user,proto3" json:"user,omitempty"` // @gotags: copier:"UserId" NodeUsed string `protobuf:"bytes,6,opt,name=node_used,json=nodeUsed,proto3" json:"node_used,omitempty"` // @gotags: copier:"ExcNodes" ProcNumUsed int32 `protobuf:"varint,7,opt,name=proc_num_used,json=procNumUsed,proto3" json:"proc_num_used,omitempty"` // @gotags: copier:"NumCpus" JobStartTime string `protobuf:"bytes,8,opt,name=job_start_time,json=jobStartTime,proto3" json:"job_start_time,omitempty"` // @gotags: copier:"StartTime" JobRunTime string `protobuf:"bytes,9,opt,name=job_run_time,json=jobRunTime,proto3" json:"job_run_time,omitempty"` // @gotags: copier:"JobRunTime" JobManagerId string `protobuf:"bytes,10,opt,name=job_manager_id,json=jobManagerId,proto3" json:"job_manager_id,omitempty"` // @gotags: copier:"JobmanagerId" JobManagerName string `protobuf:"bytes,11,opt,name=job_manager_name,json=jobManagerName,proto3" json:"job_manager_name,omitempty"` // @gotags: copier:"JobmanagerName" JobManagerType string `protobuf:"bytes,12,opt,name=job_manager_type,json=jobManagerType,proto3" json:"job_manager_type,omitempty"` // @gotags: copier:"JobmanagerType" ErrorPath string `protobuf:"bytes,13,opt,name=error_path,json=errorPath,proto3" json:"error_path,omitempty"` // @gotags: copier:"ErrorPath" OutputPath string `protobuf:"bytes,14,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"` // @gotags: copier:"OutputPath" WorkDir string `protobuf:"bytes,15,opt,name=work_dir,json=workDir,proto3" json:"work_dir,omitempty"` // @gotags: copier:"WorkDir" Reason string `protobuf:"bytes,16,opt,name=reason,proto3" json:"reason,omitempty"` // @gotags: copier:"Reason" AppType string `protobuf:"bytes,17,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"` // @gotags: copier:"AppType" } func (x *Job) Reset() { *x = Job{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Job) String() string { return protoimpl.X.MessageStringOf(x) } func (*Job) ProtoMessage() {} func (x *Job) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Job.ProtoReflect.Descriptor instead. func (*Job) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{10} } func (x *Job) GetJobId() string { if x != nil { return x.JobId } return "" } func (x *Job) GetJobName() string { if x != nil { return x.JobName } return "" } func (x *Job) GetJobStatus() string { if x != nil { return x.JobStatus } return "" } func (x *Job) GetQueue() string { if x != nil { return x.Queue } return "" } func (x *Job) GetUser() string { if x != nil { return x.User } return "" } func (x *Job) GetNodeUsed() string { if x != nil { return x.NodeUsed } return "" } func (x *Job) GetProcNumUsed() int32 { if x != nil { return x.ProcNumUsed } return 0 } func (x *Job) GetJobStartTime() string { if x != nil { return x.JobStartTime } return "" } func (x *Job) GetJobRunTime() string { if x != nil { return x.JobRunTime } return "" } func (x *Job) GetJobManagerId() string { if x != nil { return x.JobManagerId } return "" } func (x *Job) GetJobManagerName() string { if x != nil { return x.JobManagerName } return "" } func (x *Job) GetJobManagerType() string { if x != nil { return x.JobManagerType } return "" } func (x *Job) GetErrorPath() string { if x != nil { return x.ErrorPath } return "" } func (x *Job) GetOutputPath() string { if x != nil { return x.OutputPath } return "" } func (x *Job) GetWorkDir() string { if x != nil { return x.WorkDir } return "" } func (x *Job) GetReason() string { if x != nil { return x.Reason } return "" } func (x *Job) GetAppType() string { if x != nil { return x.AppType } return "" } type ListJobReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ListJobReq) Reset() { *x = ListJobReq{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListJobReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListJobReq) ProtoMessage() {} func (x *ListJobReq) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListJobReq.ProtoReflect.Descriptor instead. func (*ListJobReq) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{11} } type ListJobResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" RecordCount uint32 `protobuf:"varint,3,opt,name=record_count,json=recordCount,proto3" json:"record_count,omitempty"` // @gotags: copier:"RecordCount" Jobs []*Job `protobuf:"bytes,4,rep,name=jobs,proto3" json:"jobs,omitempty"` // @gotags: copier:"Jobs" } func (x *ListJobResp) Reset() { *x = ListJobResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListJobResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListJobResp) ProtoMessage() {} func (x *ListJobResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListJobResp.ProtoReflect.Descriptor instead. func (*ListJobResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{12} } func (x *ListJobResp) GetCode() uint32 { if x != nil { return x.Code } return 0 } func (x *ListJobResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ListJobResp) GetRecordCount() uint32 { if x != nil { return x.RecordCount } return 0 } func (x *ListJobResp) GetJobs() []*Job { if x != nil { return x.Jobs } return nil } // *****************History Job Start************************ type HistoryJob struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AcctTime string `protobuf:"bytes,1,opt,name=acct_time,json=acctTime,proto3" json:"acct_time,omitempty"` // @gotags: copier:"AcctTime" AppType string `protobuf:"bytes,2,opt,name=app_type,json=appType,proto3" json:"app_type,omitempty"` // @gotags: copier:"AppType" JobEndTime string `protobuf:"bytes,3,opt,name=job_end_time,json=jobEndTime,proto3" json:"job_end_time,omitempty"` // @gotags: copier:"End" JobExecHost string `protobuf:"bytes,4,opt,name=job_exec_host,json=jobExecHost,proto3" json:"job_exec_host,omitempty"` // @gotags: copier:"Nodes" JobExitStatus int32 `protobuf:"varint,5,opt,name=job_exit_status,json=jobExitStatus,proto3" json:"job_exit_status,omitempty"` // @gotags: copier:"ExitCode" JobId int64 `protobuf:"varint,6,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` // @gotags: copier:"JobId" JobName string `protobuf:"bytes,7,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` // @gotags: copier:"JobName" JobQueueTime string `protobuf:"bytes,8,opt,name=job_queue_time,json=jobQueueTime,proto3" json:"job_queue_time,omitempty"` // @gotags: copier:"JobQueueTime" JobStartTime string `protobuf:"bytes,9,opt,name=job_start_time,json=jobStartTime,proto3" json:"job_start_time,omitempty"` // @gotags: copier:"Start" JobState string `protobuf:"bytes,10,opt,name=job_state,json=jobState,proto3" json:"job_state,omitempty"` // @gotags: copier:"State" JobWalltimeUsed string `protobuf:"bytes,11,opt,name=job_walltime_used,json=jobWalltimeUsed,proto3" json:"job_walltime_used,omitempty"` // @gotags: copier:"JobWalltimeUsed" JobManagerId int64 `protobuf:"varint,12,opt,name=job_manager_id,json=jobManagerId,proto3" json:"job_manager_id,omitempty"` // @gotags: copier:"JobManagerId" NodeCt int32 `protobuf:"varint,13,opt,name=node_ct,json=nodeCt,proto3" json:"node_ct,omitempty"` // @gotags: copier:"AllocNodes" Queue string `protobuf:"bytes,14,opt,name=queue,proto3" json:"queue,omitempty"` // @gotags: copier:"Partition" UserName string `protobuf:"bytes,15,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"` // @gotags: copier:"User" Workdir string `protobuf:"bytes,16,opt,name=workdir,proto3" json:"workdir,omitempty"` // @gotags: copier:"WorkDir" } func (x *HistoryJob) Reset() { *x = HistoryJob{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HistoryJob) String() string { return protoimpl.X.MessageStringOf(x) } func (*HistoryJob) ProtoMessage() {} func (x *HistoryJob) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HistoryJob.ProtoReflect.Descriptor instead. func (*HistoryJob) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{13} } func (x *HistoryJob) GetAcctTime() string { if x != nil { return x.AcctTime } return "" } func (x *HistoryJob) GetAppType() string { if x != nil { return x.AppType } return "" } func (x *HistoryJob) GetJobEndTime() string { if x != nil { return x.JobEndTime } return "" } func (x *HistoryJob) GetJobExecHost() string { if x != nil { return x.JobExecHost } return "" } func (x *HistoryJob) GetJobExitStatus() int32 { if x != nil { return x.JobExitStatus } return 0 } func (x *HistoryJob) GetJobId() int64 { if x != nil { return x.JobId } return 0 } func (x *HistoryJob) GetJobName() string { if x != nil { return x.JobName } return "" } func (x *HistoryJob) GetJobQueueTime() string { if x != nil { return x.JobQueueTime } return "" } func (x *HistoryJob) GetJobStartTime() string { if x != nil { return x.JobStartTime } return "" } func (x *HistoryJob) GetJobState() string { if x != nil { return x.JobState } return "" } func (x *HistoryJob) GetJobWalltimeUsed() string { if x != nil { return x.JobWalltimeUsed } return "" } func (x *HistoryJob) GetJobManagerId() int64 { if x != nil { return x.JobManagerId } return 0 } func (x *HistoryJob) GetNodeCt() int32 { if x != nil { return x.NodeCt } return 0 } func (x *HistoryJob) GetQueue() string { if x != nil { return x.Queue } return "" } func (x *HistoryJob) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *HistoryJob) GetWorkdir() string { if x != nil { return x.Workdir } return "" } type ListHistoryJobReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields StartTime string `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime,omitempty"` // @gotags: copier:"StartTime" EndTime string `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime,omitempty"` // @gotags: copier:"EndTime" TimeType string `protobuf:"bytes,3,opt,name=timeType,proto3" json:"timeType,omitempty"` // @gotags: copier:"TimeType" Start int32 `protobuf:"varint,4,opt,name=start,proto3" json:"start,omitempty"` // @gotags: copier:"Start" Limit int32 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"Limit" IsQueryByQueueTime int32 `protobuf:"varint,6,opt,name=isQueryByQueueTime,proto3" json:"isQueryByQueueTime,omitempty"` // @gotags: copier:"IsQueryByQueueTime" } func (x *ListHistoryJobReq) Reset() { *x = ListHistoryJobReq{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListHistoryJobReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListHistoryJobReq) ProtoMessage() {} func (x *ListHistoryJobReq) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListHistoryJobReq.ProtoReflect.Descriptor instead. func (*ListHistoryJobReq) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{14} } func (x *ListHistoryJobReq) GetStartTime() string { if x != nil { return x.StartTime } return "" } func (x *ListHistoryJobReq) GetEndTime() string { if x != nil { return x.EndTime } return "" } func (x *ListHistoryJobReq) GetTimeType() string { if x != nil { return x.TimeType } return "" } func (x *ListHistoryJobReq) GetStart() int32 { if x != nil { return x.Start } return 0 } func (x *ListHistoryJobReq) GetLimit() int32 { if x != nil { return x.Limit } return 0 } func (x *ListHistoryJobReq) GetIsQueryByQueueTime() int32 { if x != nil { return x.IsQueryByQueueTime } return 0 } type ListHistoryJobResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" RecordCount uint32 `protobuf:"varint,3,opt,name=record_count,json=recordCount,proto3" json:"record_count,omitempty"` // @gotags: copier:"RecordCount" HistoryJobs []*HistoryJob `protobuf:"bytes,4,rep,name=history_jobs,json=historyJobs,proto3" json:"history_jobs,omitempty"` // @gotags: copier:"HistoryJobs" } func (x *ListHistoryJobResp) Reset() { *x = ListHistoryJobResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListHistoryJobResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListHistoryJobResp) ProtoMessage() {} func (x *ListHistoryJobResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListHistoryJobResp.ProtoReflect.Descriptor instead. func (*ListHistoryJobResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{15} } func (x *ListHistoryJobResp) GetCode() uint32 { if x != nil { return x.Code } return 0 } func (x *ListHistoryJobResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *ListHistoryJobResp) GetRecordCount() uint32 { if x != nil { return x.RecordCount } return 0 } func (x *ListHistoryJobResp) GetHistoryJobs() []*HistoryJob { if x != nil { return x.HistoryJobs } return nil } // *****************Job(Submit) Start************************ type SubmitJobReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Apptype string `protobuf:"bytes,1,opt,name=apptype,proto3" json:"apptype,omitempty"` // @gotags: copier:"Apptype" Appname string `protobuf:"bytes,2,opt,name=appname,proto3" json:"appname,omitempty"` // @gotags: copier:"Appname" StrJobManagerID int64 `protobuf:"varint,3,opt,name=strJobManagerID,proto3" json:"strJobManagerID,omitempty"` // @gotags: copier:"StrJobManagerID" MapAppJobInfo *MapAppJobInfo `protobuf:"bytes,4,opt,name=mapAppJobInfo,proto3" json:"mapAppJobInfo,omitempty"` // @gotags: copier:"MapAppJobInfo" } func (x *SubmitJobReq) Reset() { *x = SubmitJobReq{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubmitJobReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubmitJobReq) ProtoMessage() {} func (x *SubmitJobReq) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubmitJobReq.ProtoReflect.Descriptor instead. func (*SubmitJobReq) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{16} } func (x *SubmitJobReq) GetApptype() string { if x != nil { return x.Apptype } return "" } func (x *SubmitJobReq) GetAppname() string { if x != nil { return x.Appname } return "" } func (x *SubmitJobReq) GetStrJobManagerID() int64 { if x != nil { return x.StrJobManagerID } return 0 } func (x *SubmitJobReq) GetMapAppJobInfo() *MapAppJobInfo { if x != nil { return x.MapAppJobInfo } return nil } type SubmitJobResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=Code,proto3" json:"Code,omitempty"` // @gotags: copier:"Code" Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` // @gotags: copier:"Msg" Data string `protobuf:"bytes,3,opt,name=Data,proto3" json:"Data,omitempty"` // @gotags: copier:"Data" } func (x *SubmitJobResp) Reset() { *x = SubmitJobResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SubmitJobResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*SubmitJobResp) ProtoMessage() {} func (x *SubmitJobResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SubmitJobResp.ProtoReflect.Descriptor instead. func (*SubmitJobResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{17} } func (x *SubmitJobResp) GetCode() string { if x != nil { return x.Code } return "" } func (x *SubmitJobResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SubmitJobResp) GetData() string { if x != nil { return x.Data } return "" } type MapAppJobInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GAP_CMD_FILE string `protobuf:"bytes,1,opt,name=GAP_CMD_FILE,json=GAPCMDFILE,proto3" json:"GAP_CMD_FILE,omitempty"` // @gotags: copier:"GAP_CMD_FILE" //命令行内容 GAP_NNODE string `protobuf:"bytes,2,opt,name=GAP_NNODE,json=GAPNNODE,proto3" json:"GAP_NNODE,omitempty"` // @gotags: copier:"GAP_NNODE" //节点个数(当指定该参数时,GAP_NODE_STRING必须为"") GAP_NODE_STRING string `protobuf:"bytes,3,opt,name=GAP_NODE_STRING,json=GAPNODESTRING,proto3" json:"GAP_NODE_STRING,omitempty"` // @gotags: copier:"GAP_NODE_STRING" //指定节点(当指定该参数时,GAP_NNODE必须为"") GAP_SUBMIT_TYPE string `protobuf:"bytes,4,opt,name=GAP_SUBMIT_TYPE,json=GAPSUBMITTYPE,proto3" json:"GAP_SUBMIT_TYPE,omitempty"` // @gotags: copier:"GAP_SUBMIT_TYPE" //cmd(命令行模式) GAP_JOB_NAME string `protobuf:"bytes,5,opt,name=GAP_JOB_NAME,json=GAPJOBNAME,proto3" json:"GAP_JOB_NAME,omitempty"` // @gotags: copier:"GAP_JOB_NAME" //作业名称 GAP_WORK_DIR string `protobuf:"bytes,6,opt,name=GAP_WORK_DIR,json=GAPWORKDIR,proto3" json:"GAP_WORK_DIR,omitempty"` // @gotags: copier:"GAP_WORK_DIR" //工作路径 GAP_QUEUE string `protobuf:"bytes,7,opt,name=GAP_QUEUE,json=GAPQUEUE,proto3" json:"GAP_QUEUE,omitempty"` // @gotags: copier:"GAP_QUEUE" //队列名称 GAP_NPROC string `protobuf:"bytes,8,opt,name=GAP_NPROC,json=GAPNPROC,proto3" json:"GAP_NPROC,omitempty"` // @gotags: copier:"GAP_NPROC" //总核心数(GAP_NPROC和GAP_PPN选其一填写) GAP_PPN string `protobuf:"bytes,9,opt,name=GAP_PPN,json=GAPPPN,proto3" json:"GAP_PPN,omitempty"` // @gotags: copier:"GAP_PPN" //CPU核心/节点(GAP_NPROC和GAP_PPN选其一填写) GAP_NGPU string `protobuf:"bytes,10,opt,name=GAP_NGPU,json=GAPNGPU,proto3" json:"GAP_NGPU,omitempty"` // @gotags: copier:"GAP_NGPU" //GPU卡数/节点 GAP_NDCU string `protobuf:"bytes,11,opt,name=GAP_NDCU,json=GAPNDCU,proto3" json:"GAP_NDCU,omitempty"` // @gotags: copier:"GAP_NDCU" //DCU卡数/节点 GAP_JOB_MEM string `protobuf:"bytes,12,opt,name=GAP_JOB_MEM,json=GAPJOBMEM,proto3" json:"GAP_JOB_MEM,omitempty"` // @gotags: copier:"GAP_JOB_MEM" //每个节点内存值,单位为MB/GB GAP_WALL_TIME string `protobuf:"bytes,13,opt,name=GAP_WALL_TIME,json=GAPWALLTIME,proto3" json:"GAP_WALL_TIME,omitempty"` // @gotags: copier:"GAP_WALL_TIME" //最大运行时长(HH:MM:ss) GAP_EXCLUSIVE string `protobuf:"bytes,14,opt,name=GAP_EXCLUSIVE,json=GAPEXCLUSIVE,proto3" json:"GAP_EXCLUSIVE,omitempty"` // @gotags: copier:"GAP_EXCLUSIVE" // 是否独占节点,1为独占,空为非独占 GAP_APPNAME string `protobuf:"bytes,15,opt,name=GAP_APPNAME,json=GAPAPPNAME,proto3" json:"GAP_APPNAME,omitempty"` // @gotags: copier:"GAP_APPNAME" //BASE(基础应用),支持填写具体的应用英文名称 GAP_MULTI_SUB string `protobuf:"bytes,16,opt,name=GAP_MULTI_SUB,json=GAPMULTISUB,proto3" json:"GAP_MULTI_SUB,omitempty"` // @gotags: copier:"GAP_MULTI_SUB" //作业组长度,建议为小于等于50的正整数 GAP_STD_OUT_FILE string `protobuf:"bytes,17,opt,name=GAP_STD_OUT_FILE,json=GAPSTDOUTFILE,proto3" json:"GAP_STD_OUT_FILE,omitempty"` // @gotags: copier:"GAP_STD_OUT_FILE" //工作路径/std.out.%j GAP_STD_ERR_FILE string `protobuf:"bytes,18,opt,name=GAP_STD_ERR_FILE,json=GAPSTDERRFILE,proto3" json:"GAP_STD_ERR_FILE,omitempty"` // @gotags: copier:"GAP_STD_ERR_FILE" //工作路径/std.err.%j } func (x *MapAppJobInfo) Reset() { *x = MapAppJobInfo{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MapAppJobInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*MapAppJobInfo) ProtoMessage() {} func (x *MapAppJobInfo) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MapAppJobInfo.ProtoReflect.Descriptor instead. func (*MapAppJobInfo) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{18} } func (x *MapAppJobInfo) GetGAP_CMD_FILE() string { if x != nil { return x.GAP_CMD_FILE } return "" } func (x *MapAppJobInfo) GetGAP_NNODE() string { if x != nil { return x.GAP_NNODE } return "" } func (x *MapAppJobInfo) GetGAP_NODE_STRING() string { if x != nil { return x.GAP_NODE_STRING } return "" } func (x *MapAppJobInfo) GetGAP_SUBMIT_TYPE() string { if x != nil { return x.GAP_SUBMIT_TYPE } return "" } func (x *MapAppJobInfo) GetGAP_JOB_NAME() string { if x != nil { return x.GAP_JOB_NAME } return "" } func (x *MapAppJobInfo) GetGAP_WORK_DIR() string { if x != nil { return x.GAP_WORK_DIR } return "" } func (x *MapAppJobInfo) GetGAP_QUEUE() string { if x != nil { return x.GAP_QUEUE } return "" } func (x *MapAppJobInfo) GetGAP_NPROC() string { if x != nil { return x.GAP_NPROC } return "" } func (x *MapAppJobInfo) GetGAP_PPN() string { if x != nil { return x.GAP_PPN } return "" } func (x *MapAppJobInfo) GetGAP_NGPU() string { if x != nil { return x.GAP_NGPU } return "" } func (x *MapAppJobInfo) GetGAP_NDCU() string { if x != nil { return x.GAP_NDCU } return "" } func (x *MapAppJobInfo) GetGAP_JOB_MEM() string { if x != nil { return x.GAP_JOB_MEM } return "" } func (x *MapAppJobInfo) GetGAP_WALL_TIME() string { if x != nil { return x.GAP_WALL_TIME } return "" } func (x *MapAppJobInfo) GetGAP_EXCLUSIVE() string { if x != nil { return x.GAP_EXCLUSIVE } return "" } func (x *MapAppJobInfo) GetGAP_APPNAME() string { if x != nil { return x.GAP_APPNAME } return "" } func (x *MapAppJobInfo) GetGAP_MULTI_SUB() string { if x != nil { return x.GAP_MULTI_SUB } return "" } func (x *MapAppJobInfo) GetGAP_STD_OUT_FILE() string { if x != nil { return x.GAP_STD_OUT_FILE } return "" } func (x *MapAppJobInfo) GetGAP_STD_ERR_FILE() string { if x != nil { return x.GAP_STD_ERR_FILE } return "" } type FileContentResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" //状态码 示例:0 Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" //信息 示例:success Data *FileDataResp `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //对象数据 } func (x *FileContentResp) Reset() { *x = FileContentResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileContentResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileContentResp) ProtoMessage() {} func (x *FileContentResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileContentResp.ProtoReflect.Descriptor instead. func (*FileContentResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{12} } func (x *FileContentResp) GetCode() string { if x != nil { return x.Code } return "" } func (x *FileContentResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *FileContentResp) GetData() *FileDataResp { if x != nil { return x.Data } return nil } type FileDataReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields HostName string `protobuf:"bytes,1,opt,name=hostName,proto3" json:"hostName,omitempty"` // @gotags: copier:"HostName" //服务器hostname 示例:127.0.0.1 DirPath string `protobuf:"bytes,2,opt,name=dirPath,proto3" json:"dirPath,omitempty"` // @gotags: copier:"DirPath" //服务器文件绝对路径 示例:/public/home/test/BASE/STDIN_1210_114429/std.out.22 TriggerNum int32 `protobuf:"varint,3,opt,name=triggerNum,proto3" json:"triggerNum,omitempty"` // @gotags: copier:"TriggerNum" //翻页次数,第一次打开传1,文件每超过1000行,该参数累加1(类似分页,每页显示1000行数据) 示例:1 RollDirection string `protobuf:"bytes,4,opt,name=rollDirection,proto3" json:"rollDirection,omitempty"` // @gotags: copier:"RollDirection" //文件查看方向,传参UP,从文件尾向上看;传参DOWN,从文件头向下看 示例:UP } func (x *FileDataReq) Reset() { *x = FileDataReq{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileDataReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileDataReq) ProtoMessage() {} func (x *FileDataReq) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileDataReq.ProtoReflect.Descriptor instead. func (*FileDataReq) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{13} } func (x *FileDataReq) GetHostName() string { if x != nil { return x.HostName } return "" } func (x *FileDataReq) GetDirPath() string { if x != nil { return x.DirPath } return "" } func (x *FileDataReq) GetTriggerNum() int32 { if x != nil { return x.TriggerNum } return 0 } func (x *FileDataReq) GetRollDirection() string { if x != nil { return x.RollDirection } return "" } type FileDataResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AllLineTotal int32 `protobuf:"varint,1,opt,name=allLineTotal,proto3" json:"allLineTotal,omitempty"` // @gotags: copier:"AllLineTotal" //文件总行数 示例:100 Success string `protobuf:"bytes,2,opt,name=success,proto3" json:"success,omitempty"` // @gotags: copier:"Success" //请求是否成功 示例:true TotalTriggerTimes int32 `protobuf:"varint,3,opt,name=totalTriggerTimes,proto3" json:"totalTriggerTimes,omitempty"` // @gotags: copier:"TotalTriggerTimes" //总次数(类似分页总页数) 示例:1 Errmsg string `protobuf:"bytes,4,opt,name=errmsg,proto3" json:"errmsg,omitempty"` // @gotags: copier:"Errmsg" //错误信息 示例:false Data string `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //返回的文件内容 示例:start time is: 2021-10-14 } func (x *FileDataResp) Reset() { *x = FileDataResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FileDataResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*FileDataResp) ProtoMessage() {} func (x *FileDataResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FileDataResp.ProtoReflect.Descriptor instead. func (*FileDataResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{14} } func (x *FileDataResp) GetAllLineTotal() int32 { if x != nil { return x.AllLineTotal } return 0 } func (x *FileDataResp) GetSuccess() string { if x != nil { return x.Success } return "" } func (x *FileDataResp) GetTotalTriggerTimes() int32 { if x != nil { return x.TotalTriggerTimes } return 0 } func (x *FileDataResp) GetErrmsg() string { if x != nil { return x.Errmsg } return "" } func (x *FileDataResp) GetData() string { if x != nil { return x.Data } return "" } type QueueReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` // @gotags: copier:"User" //用户 示例:test StrJobManagerID string `protobuf:"bytes,2,opt,name=strJobManagerID,proto3" json:"strJobManagerID,omitempty"` // @gotags: copier:"StrJobManagerID" //调度器ID 示例:1626190154 } func (x *QueueReq) Reset() { *x = QueueReq{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueReq) ProtoMessage() {} func (x *QueueReq) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QueueReq.ProtoReflect.Descriptor instead. func (*QueueReq) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{15} } func (x *QueueReq) GetUser() string { if x != nil { return x.User } return "" } func (x *QueueReq) GetStrJobManagerID() string { if x != nil { return x.StrJobManagerID } return "" } type QueueResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" //状态码 示例:0 Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" //信息 示例:success Data []*QueueData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //队列数组 } func (x *QueueResp) Reset() { *x = QueueResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueResp) ProtoMessage() {} func (x *QueueResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QueueResp.ProtoReflect.Descriptor instead. func (*QueueResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{16} } func (x *QueueResp) GetCode() string { if x != nil { return x.Code } return "" } func (x *QueueResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *QueueResp) GetData() []*QueueData { if x != nil { return x.Data } return nil } type QueueData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields AclHosts string `protobuf:"bytes,1,opt,name=aclHosts,proto3" json:"aclHosts,omitempty"` // @gotags: copier:"aclHosts" //可用节点,多个节点用逗号隔开 示例:node1,node2 Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" //队列名称 示例:debug Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"` // @gotags: copier:"text" //队列名称 示例:debug QueNodes string `protobuf:"bytes,4,opt,name=queNodes,proto3" json:"queNodes,omitempty"` // @gotags: copier:"queNodes" //队列节点总数 示例:3 QueMinNodect string `protobuf:"bytes,5,opt,name=queMinNodect,proto3" json:"queMinNodect,omitempty"` // @gotags: copier:"queMinNodect" //队列最小节点数 示例:1 QueMaxNgpus string `protobuf:"bytes,6,opt,name=queMaxNgpus,proto3" json:"queMaxNgpus,omitempty"` // @gotags: copier:"queMaxNgpus" //队列最大GPU卡数 示例:0 QueMaxPPN string `protobuf:"bytes,7,opt,name=queMaxPPN,proto3" json:"queMaxPPN,omitempty"` // @gotags: copier:"queMaxPPN" //使用该队列作业最大CPU核心数 示例:4 QueChargeRate string `protobuf:"bytes,8,opt,name=queChargeRate,proto3" json:"queChargeRate,omitempty"` // @gotags: copier:"queChargeRate" //费率 示例:1 QueMaxNcpus string `protobuf:"bytes,9,opt,name=queMaxNcpus,proto3" json:"queMaxNcpus,omitempty"` // @gotags: copier:"queMaxNcpus" //用户最大可用核心数 示例:4 QueMaxNdcus string `protobuf:"bytes,10,opt,name=queMaxNdcus,proto3" json:"queMaxNdcus,omitempty"` // @gotags: copier:"queMaxNdcus" //队列总DCU卡数 示例:0 QueueName string `protobuf:"bytes,11,opt,name=queueName,proto3" json:"queueName,omitempty"` // @gotags: copier:"queueName" //队列名称 示例:debug QueMinNcpus string `protobuf:"bytes,12,opt,name=queMinNcpus,proto3" json:"queMinNcpus,omitempty"` // @gotags: copier:"queMinNcpus" //队列最小CPU核数 示例:1 QueFreeNodes string `protobuf:"bytes,13,opt,name=queFreeNodes,proto3" json:"queFreeNodes,omitempty"` // @gotags: copier:"queFreeNodes" //队列空闲节点数 示例:1 QueMaxNodect string `protobuf:"bytes,14,opt,name=queMaxNodect,proto3" json:"queMaxNodect,omitempty"` // @gotags: copier:"queMaxNodect" //队列作业最大节点数 示例:1 QueMaxGpuPN string `protobuf:"bytes,15,opt,name=queMaxGpuPN,proto3" json:"queMaxGpuPN,omitempty"` // @gotags: copier:"queMaxGpuPN" //队列单作业最大GPU卡数 示例:0 QueMaxWalltime string `protobuf:"bytes,16,opt,name=queMaxWalltime,proto3" json:"queMaxWalltime,omitempty"` // @gotags: copier:"queMaxWalltime" //队列最大运行时间 示例:unlimit QueMaxDcuPN string `protobuf:"bytes,17,opt,name=queMaxDcuPN,proto3" json:"queMaxDcuPN,omitempty"` // @gotags: copier:"queMaxDcuPN" //队列单作业最大DCU卡数 示例:0 } func (x *QueueData) Reset() { *x = QueueData{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueData) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueData) ProtoMessage() {} func (x *QueueData) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QueueData.ProtoReflect.Descriptor instead. func (*QueueData) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{17} } func (x *QueueData) GetAclHosts() string { if x != nil { return x.AclHosts } return "" } func (x *QueueData) GetId() string { if x != nil { return x.Id } return "" } func (x *QueueData) GetText() string { if x != nil { return x.Text } return "" } func (x *QueueData) GetQueNodes() string { if x != nil { return x.QueNodes } return "" } func (x *QueueData) GetQueMinNodect() string { if x != nil { return x.QueMinNodect } return "" } func (x *QueueData) GetQueMaxNgpus() string { if x != nil { return x.QueMaxNgpus } return "" } func (x *QueueData) GetQueMaxPPN() string { if x != nil { return x.QueMaxPPN } return "" } func (x *QueueData) GetQueChargeRate() string { if x != nil { return x.QueChargeRate } return "" } func (x *QueueData) GetQueMaxNcpus() string { if x != nil { return x.QueMaxNcpus } return "" } func (x *QueueData) GetQueMaxNdcus() string { if x != nil { return x.QueMaxNdcus } return "" } func (x *QueueData) GetQueueName() string { if x != nil { return x.QueueName } return "" } func (x *QueueData) GetQueMinNcpus() string { if x != nil { return x.QueMinNcpus } return "" } func (x *QueueData) GetQueFreeNodes() string { if x != nil { return x.QueFreeNodes } return "" } func (x *QueueData) GetQueMaxNodect() string { if x != nil { return x.QueMaxNodect } return "" } func (x *QueueData) GetQueMaxGpuPN() string { if x != nil { return x.QueMaxGpuPN } return "" } func (x *QueueData) GetQueMaxWalltime() string { if x != nil { return x.QueMaxWalltime } return "" } func (x *QueueData) GetQueMaxDcuPN() string { if x != nil { return x.QueMaxDcuPN } return "" } type QueueDetailsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" //状态码 示例:0 Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" //信息 示例:success Data []*QueueDetailsData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //队列数组 } func (x *QueueDetailsResp) Reset() { *x = QueueDetailsResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueDetailsResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueDetailsResp) ProtoMessage() {} func (x *QueueDetailsResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QueueDetailsResp.ProtoReflect.Descriptor instead. func (*QueueDetailsResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{18} } func (x *QueueDetailsResp) GetCode() string { if x != nil { return x.Code } return "" } func (x *QueueDetailsResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *QueueDetailsResp) GetData() []*QueueDetailsData { if x != nil { return x.Data } return nil } type QueueDetailsData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields QueNodes int32 `protobuf:"varint,1,opt,name=queNodes,proto3" json:"queNodes,omitempty"` // @gotags: copier:"queNodes" //队列节点总数 示例:3 QueMinNodect int32 `protobuf:"varint,2,opt,name=queMinNodect,proto3" json:"queMinNodect,omitempty"` // @gotags: copier:"queMinNodect" //队列最小节点数 示例:1 QueMaxNgpus int32 `protobuf:"varint,3,opt,name=queMaxNgpus,proto3" json:"queMaxNgpus,omitempty"` // @gotags: copier:"queMaxNgpus" //队列最大GPU卡数 示例:0 QueMaxPPN int32 `protobuf:"varint,4,opt,name=queMaxPPN,proto3" json:"queMaxPPN,omitempty"` // @gotags: copier:"queMaxPPN" //使用该队列作业最大CPU核心数 示例:4 QueChargeRate float32 `protobuf:"fixed32,5,opt,name=queChargeRate,proto3" json:"queChargeRate,omitempty"` // @gotags: copier:"queChargeRate" //费率 示例:1 QueMaxNcpus int32 `protobuf:"varint,6,opt,name=queMaxNcpus,proto3" json:"queMaxNcpus,omitempty"` // @gotags: copier:"queMaxNcpus" //用户最大可用核心数 示例:4 QueMaxNdcus int32 `protobuf:"varint,7,opt,name=queMaxNdcus,proto3" json:"queMaxNdcus,omitempty"` // @gotags: copier:"queMaxNdcus" //队列总DCU卡数 示例:0 QueueName string `protobuf:"bytes,8,opt,name=queueName,proto3" json:"queueName,omitempty"` // @gotags: copier:"queueName" //队列名称 示例:debug QueMinNcpus int32 `protobuf:"varint,9,opt,name=queMinNcpus,proto3" json:"queMinNcpus,omitempty"` // @gotags: copier:"queMinNcpus" //队列最小CPU核数 示例:1 QueFreeNodes int32 `protobuf:"varint,10,opt,name=queFreeNodes,proto3" json:"queFreeNodes,omitempty"` // @gotags: copier:"queFreeNodes" //队列空闲节点数 示例:1 QueMaxNodect int32 `protobuf:"varint,11,opt,name=queMaxNodect,proto3" json:"queMaxNodect,omitempty"` // @gotags: copier:"queMaxNodect" //队列作业最大节点数 示例:1 QueMaxGpuPN int32 `protobuf:"varint,12,opt,name=queMaxGpuPN,proto3" json:"queMaxGpuPN,omitempty"` // @gotags: copier:"queMaxGpuPN" //队列单作业最大GPU卡数 示例:0 QueMaxWalltime int32 `protobuf:"varint,13,opt,name=queMaxWalltime,proto3" json:"queMaxWalltime,omitempty"` // @gotags: copier:"queMaxWalltime" //队列最大运行时间 示例:unlimit QueMaxDcuPN int32 `protobuf:"varint,14,opt,name=queMaxDcuPN,proto3" json:"queMaxDcuPN,omitempty"` // @gotags: copier:"queMaxDcuPN" //队列单作业最大DCU卡数 示例:0 } func (x *QueueDetailsData) Reset() { *x = QueueDetailsData{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QueueDetailsData) String() string { return protoimpl.X.MessageStringOf(x) } func (*QueueDetailsData) ProtoMessage() {} func (x *QueueDetailsData) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QueueDetailsData.ProtoReflect.Descriptor instead. func (*QueueDetailsData) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{19} } func (x *QueueDetailsData) GetQueNodes() int32 { if x != nil { return x.QueNodes } return 0 } func (x *QueueDetailsData) GetQueMinNodect() int32 { if x != nil { return x.QueMinNodect } return 0 } func (x *QueueDetailsData) GetQueMaxNgpus() int32 { if x != nil { return x.QueMaxNgpus } return 0 } func (x *QueueDetailsData) GetQueMaxPPN() int32 { if x != nil { return x.QueMaxPPN } return 0 } func (x *QueueDetailsData) GetQueChargeRate() float32 { if x != nil { return x.QueChargeRate } return 0 } func (x *QueueDetailsData) GetQueMaxNcpus() int32 { if x != nil { return x.QueMaxNcpus } return 0 } func (x *QueueDetailsData) GetQueMaxNdcus() int32 { if x != nil { return x.QueMaxNdcus } return 0 } func (x *QueueDetailsData) GetQueueName() string { if x != nil { return x.QueueName } return "" } func (x *QueueDetailsData) GetQueMinNcpus() int32 { if x != nil { return x.QueMinNcpus } return 0 } func (x *QueueDetailsData) GetQueFreeNodes() int32 { if x != nil { return x.QueFreeNodes } return 0 } func (x *QueueDetailsData) GetQueMaxNodect() int32 { if x != nil { return x.QueMaxNodect } return 0 } func (x *QueueDetailsData) GetQueMaxGpuPN() int32 { if x != nil { return x.QueMaxGpuPN } return 0 } func (x *QueueDetailsData) GetQueMaxWalltime() int32 { if x != nil { return x.QueMaxWalltime } return 0 } func (x *QueueDetailsData) GetQueMaxDcuPN() int32 { if x != nil { return x.QueMaxDcuPN } return 0 } type UserQuotasLimitResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` // @gotags: copier:"Code" //状态码 示例:0 Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // @gotags: copier:"Msg" //信息 示例:success Data *UserQuotasLimitData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" //队列数组 } func (x *UserQuotasLimitResp) Reset() { *x = UserQuotasLimitResp{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserQuotasLimitResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserQuotasLimitResp) ProtoMessage() {} func (x *UserQuotasLimitResp) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserQuotasLimitResp.ProtoReflect.Descriptor instead. func (*UserQuotasLimitResp) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{20} } func (x *UserQuotasLimitResp) GetCode() string { if x != nil { return x.Code } return "" } func (x *UserQuotasLimitResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *UserQuotasLimitResp) GetData() *UserQuotasLimitData { if x != nil { return x.Data } return nil } type UserQuotasLimitData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` // @gotags: copier:"userName" //用户名称 AccountName string `protobuf:"bytes,2,opt,name=accountName,proto3" json:"accountName,omitempty"` // @gotags: copier:"accountName" //用户所关联的默认的账号名 UserMaxCpu int64 `protobuf:"varint,3,opt,name=userMaxCpu,proto3" json:"userMaxCpu,omitempty"` // @gotags: copier:"userMaxCpu" //用户最大CPU核数,单位:个,如果未做限制,则值为-1 UserMaxDcu int64 `protobuf:"varint,4,opt,name=userMaxDcu,proto3" json:"userMaxDcu,omitempty"` // @gotags: copier:"userMaxDcu" //用户最大DCU卡数,单位:个,如果未做限制,则值为-1 UserMaxGpu int64 `protobuf:"varint,5,opt,name=userMaxGpu,proto3" json:"userMaxGpu,omitempty"` // @gotags: copier:"userMaxGpu" //用户最大GPU卡数,单位:个,如果未做限制,则值为-1 UserMaxMlu int64 `protobuf:"varint,6,opt,name=userMaxMlu,proto3" json:"userMaxMlu,omitempty"` // @gotags: copier:"userMaxMlu" //用户最大MLU卡数,单位:个,如果未做限制,则值为-1 UserMaxMem int64 `protobuf:"varint,7,opt,name=userMaxMem,proto3" json:"userMaxMem,omitempty"` // @gotags: copier:"userMaxMem" //用户最大内存,单位:m,如果未做限制,则值为-1 UserMaxNode int64 `protobuf:"varint,8,opt,name=userMaxNode,proto3" json:"userMaxNode,omitempty"` // @gotags: copier:"userMaxNode" //用户最大节点数,单位:个,如果未做限制,则值为-1 UserMaxSubmitJob int64 `protobuf:"varint,9,opt,name=userMaxSubmitJob,proto3" json:"userMaxSubmitJob,omitempty"` // @gotags: copier:"userMaxSubmitJob" //用户最大提交作业数,单位:个,如果未做限制,则值为-1 UserMaxRunJob int64 `protobuf:"varint,10,opt,name=userMaxRunJob,proto3" json:"userMaxRunJob,omitempty"` // @gotags: copier:"userMaxRunJob" //用户最大运行作业数,单位:个,如果未做限制,则值为-1 AccountMaxCpu int64 `protobuf:"varint,11,opt,name=accountMaxCpu,proto3" json:"accountMaxCpu,omitempty"` // @gotags: copier:"accountMaxCpu" //账户最大CPU核数,单位:个,如果未做限制,则值为-1 AccountMaxDcu int64 `protobuf:"varint,12,opt,name=accountMaxDcu,proto3" json:"accountMaxDcu,omitempty"` // @gotags: copier:"accountMaxDcu" //账户最大DCU卡数,单位:个,如果未做限制,则值为-1 AccountMaxGpu int64 `protobuf:"varint,13,opt,name=accountMaxGpu,proto3" json:"accountMaxGpu,omitempty"` // @gotags: copier:"accountMaxGpu" //账户最大GPU卡数,单位:个,如果未做限制,则值为-1 AccountMaxMlu int64 `protobuf:"varint,14,opt,name=accountMaxMlu,proto3" json:"accountMaxMlu,omitempty"` // @gotags: copier:"accountMaxMlu" //账户最大MLU卡数,单位:个,如果未做限制,则值为-1 AccountMaxMem int64 `protobuf:"varint,15,opt,name=accountMaxMem,proto3" json:"accountMaxMem,omitempty"` // @gotags: copier:"accountMaxMem" //账户最大内存,单位:m,如果未做限制,则值为-1 AccountMaxNode int64 `protobuf:"varint,16,opt,name=accountMaxNode,proto3" json:"accountMaxNode,omitempty"` // @gotags: copier:"accountMaxNode" //账户最大节点数,单位:个,如果未做限制,则值为-1 AccountMaxSubmitJob int64 `protobuf:"varint,17,opt,name=accountMaxSubmitJob,proto3" json:"accountMaxSubmitJob,omitempty"` // @gotags: copier:"accountMaxSubmitJob" //账户最大提交作业数,单位:个,如果未做限制,则值为-1 AccountMaxRunJob int64 `protobuf:"varint,18,opt,name=accountMaxRunJob,proto3" json:"accountMaxRunJob,omitempty"` // @gotags: copier:"accountMaxRunJob" //账户最大运行作业数,单位:个,如果未做限制,则值为-1 UserMinCpu int64 `protobuf:"varint,19,opt,name=userMinCpu,proto3" json:"userMinCpu,omitempty"` // @gotags: copier:"userMinCpu" //用户最小CPU核数,单位:个,如果未做限制,则值为-1 UserMinNode int64 `protobuf:"varint,20,opt,name=userMinNode,proto3" json:"userMinNode,omitempty"` // @gotags: copier:"userMinNode" //用户最小节点数,单位:个,如果未做限制,则值为-1 MaxWallTime int64 `protobuf:"varint,21,opt,name=maxWallTime,proto3" json:"maxWallTime,omitempty"` // @gotags: copier:"maxWallTime" //用户关联的glod账号的机时,机时单位:s,如果未做限制,则值为-1 } func (x *UserQuotasLimitData) Reset() { *x = UserQuotasLimitData{} if protoimpl.UnsafeEnabled { mi := &file_hpcAC_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserQuotasLimitData) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserQuotasLimitData) ProtoMessage() {} func (x *UserQuotasLimitData) ProtoReflect() protoreflect.Message { mi := &file_hpcAC_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserQuotasLimitData.ProtoReflect.Descriptor instead. func (*UserQuotasLimitData) Descriptor() ([]byte, []int) { return file_hpcAC_proto_rawDescGZIP(), []int{21} } func (x *UserQuotasLimitData) GetUserName() string { if x != nil { return x.UserName } return "" } func (x *UserQuotasLimitData) GetAccountName() string { if x != nil { return x.AccountName } return "" } func (x *UserQuotasLimitData) GetUserMaxCpu() int64 { if x != nil { return x.UserMaxCpu } return 0 } func (x *UserQuotasLimitData) GetUserMaxDcu() int64 { if x != nil { return x.UserMaxDcu } return 0 } func (x *UserQuotasLimitData) GetUserMaxGpu() int64 { if x != nil { return x.UserMaxGpu } return 0 } func (x *UserQuotasLimitData) GetUserMaxMlu() int64 { if x != nil { return x.UserMaxMlu } return 0 } func (x *UserQuotasLimitData) GetUserMaxMem() int64 { if x != nil { return x.UserMaxMem } return 0 } func (x *UserQuotasLimitData) GetUserMaxNode() int64 { if x != nil { return x.UserMaxNode } return 0 } func (x *UserQuotasLimitData) GetUserMaxSubmitJob() int64 { if x != nil { return x.UserMaxSubmitJob } return 0 } func (x *UserQuotasLimitData) GetUserMaxRunJob() int64 { if x != nil { return x.UserMaxRunJob } return 0 } func (x *UserQuotasLimitData) GetAccountMaxCpu() int64 { if x != nil { return x.AccountMaxCpu } return 0 } func (x *UserQuotasLimitData) GetAccountMaxDcu() int64 { if x != nil { return x.AccountMaxDcu } return 0 } func (x *UserQuotasLimitData) GetAccountMaxGpu() int64 { if x != nil { return x.AccountMaxGpu } return 0 } func (x *UserQuotasLimitData) GetAccountMaxMlu() int64 { if x != nil { return x.AccountMaxMlu } return 0 } func (x *UserQuotasLimitData) GetAccountMaxMem() int64 { if x != nil { return x.AccountMaxMem } return 0 } func (x *UserQuotasLimitData) GetAccountMaxNode() int64 { if x != nil { return x.AccountMaxNode } return 0 } func (x *UserQuotasLimitData) GetAccountMaxSubmitJob() int64 { if x != nil { return x.AccountMaxSubmitJob } return 0 } func (x *UserQuotasLimitData) GetAccountMaxRunJob() int64 { if x != nil { return x.AccountMaxRunJob } return 0 } func (x *UserQuotasLimitData) GetUserMinCpu() int64 { if x != nil { return x.UserMinCpu } return 0 } func (x *UserQuotasLimitData) GetUserMinNode() int64 { if x != nil { return x.UserMinNode } return 0 } func (x *UserQuotasLimitData) GetMaxWallTime() int64 { if x != nil { return x.MaxWallTime } return 0 } var File_hpcAC_proto protoreflect.FileDescriptor var file_hpcAC_proto_rawDesc = []byte{ 0x0a, 0x0b, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x68, 0x70, 0x63, 0x41, 0x43, 0x22, 0xae, 0x01, 0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x22, 0x70, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x34, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x22, 0xcf, 0x0d, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x72, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x72, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x73, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x70, 0x75, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6c, 0x69, 0x67, 0x69, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x63, 0x73, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x63, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x6d, 0x70, 0x44, 0x69, 0x73, 0x6b, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6e, 0x62, 0x73, 0x63, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x50, 0x65, 0x72, 0x4e, 0x62, 0x73, 0x63, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x43, 0x70, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x6f, 0x73, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x71, 0x6f, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x62, 0x73, 0x63, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x71, 0x42, 0x73, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x52, 0x65, 0x71, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x73, 0x50, 0x72, 0x65, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x31, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x64, 0x45, 0x72, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x74, 0x64, 0x5f, 0x69, 0x6e, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x64, 0x49, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x64, 0x4f, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x72, 0x65, 0x73, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x72, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x22, 0xfb, 0x06, 0x0a, 0x11, 0x4a, 0x6f, 0x62, 0x56, 0x6e, 0x63, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x50, 0x69, 0x78, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6d, 0x61, 0x70, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x41, 0x75, 0x74, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x5f, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x47, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x6e, 0x63, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x93, 0x09, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x76, 0x65, 0x5f, 0x72, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x65, 0x52, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x6d, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x65, 0x56, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x70, 0x75, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x64, 0x63, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x63, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x63, 0x75, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x70, 0x75, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x41, 0x74, 0x74, 0x72, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x49, 0x6e, 0x69, 0x74, 0x41, 0x74, 0x74, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x56, 0x6e, 0x63, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x22, 0x25, 0x0a, 0x0c, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2f, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x37, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x10, 0x73, 0x74, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x22, 0xaa, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x38, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x04, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x63, 0x4e, 0x75, 0x6d, 0x55, 0x73, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x22, 0x76, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, <<<<<<< HEAD 0x12, 0x1e, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x6a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x85, 0x04, 0x0a, 0x0a, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x65, 0x63, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x45, 0x78, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6a, 0x6f, 0x62, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x69, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x0b, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x12, 0x3a, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xeb, 0x04, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x43, 0x4d, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x43, 0x4d, 0x44, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x4e, 0x4f, 0x44, 0x45, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x4e, 0x4e, 0x4f, 0x44, 0x45, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x4e, 0x4f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x59, 0x50, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x52, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x57, 0x4f, 0x52, 0x4b, 0x44, 0x49, 0x52, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x51, 0x55, 0x45, 0x55, 0x45, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x12, 0x17, 0x0a, 0x07, 0x47, 0x41, 0x50, 0x5f, 0x50, 0x50, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x41, 0x50, 0x50, 0x50, 0x4e, 0x12, 0x19, 0x0a, 0x08, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x47, 0x50, 0x55, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x41, 0x50, 0x4e, 0x47, 0x50, 0x55, 0x12, 0x19, 0x0a, 0x08, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x44, 0x43, 0x55, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x41, 0x50, 0x4e, 0x44, 0x43, 0x55, 0x12, 0x1e, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4d, 0x45, 0x4d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4d, 0x45, 0x4d, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x41, 0x50, 0x57, 0x41, 0x4c, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x47, 0x41, 0x50, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x12, 0x1f, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x53, 0x55, 0x42, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x41, 0x50, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x53, 0x55, 0x42, 0x12, 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x46, 0x49, 0x4c, 0x45, 0x32, 0xf1, 0x02, 0x0a, 0x05, 0x68, 0x70, 0x63, 0x41, 0x43, 0x12, 0x30, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x18, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x68, 0x70, 0x63, 0x41, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ======= 0x12, 0x34, 0x0a, 0x0c, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x0b, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x12, 0x3a, 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x49, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0xeb, 0x04, 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x41, 0x70, 0x70, 0x4a, 0x6f, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x43, 0x4d, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x43, 0x4d, 0x44, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x4e, 0x4f, 0x44, 0x45, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x4e, 0x4e, 0x4f, 0x44, 0x45, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x4e, 0x4f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x12, 0x26, 0x0a, 0x0f, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x59, 0x50, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x20, 0x0a, 0x0c, 0x47, 0x41, 0x50, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x49, 0x52, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x57, 0x4f, 0x52, 0x4b, 0x44, 0x49, 0x52, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x51, 0x55, 0x45, 0x55, 0x45, 0x12, 0x1b, 0x0a, 0x09, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x47, 0x41, 0x50, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x12, 0x17, 0x0a, 0x07, 0x47, 0x41, 0x50, 0x5f, 0x50, 0x50, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x47, 0x41, 0x50, 0x50, 0x50, 0x4e, 0x12, 0x19, 0x0a, 0x08, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x47, 0x50, 0x55, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x41, 0x50, 0x4e, 0x47, 0x50, 0x55, 0x12, 0x19, 0x0a, 0x08, 0x47, 0x41, 0x50, 0x5f, 0x4e, 0x44, 0x43, 0x55, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x41, 0x50, 0x4e, 0x44, 0x43, 0x55, 0x12, 0x1e, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x4a, 0x4f, 0x42, 0x5f, 0x4d, 0x45, 0x4d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x41, 0x50, 0x4a, 0x4f, 0x42, 0x4d, 0x45, 0x4d, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x41, 0x50, 0x57, 0x41, 0x4c, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x12, 0x23, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x47, 0x41, 0x50, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x12, 0x1f, 0x0a, 0x0b, 0x47, 0x41, 0x50, 0x5f, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x47, 0x41, 0x50, 0x41, 0x50, 0x50, 0x4e, 0x41, 0x4d, 0x45, 0x12, 0x22, 0x0a, 0x0d, 0x47, 0x41, 0x50, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x53, 0x55, 0x42, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x47, 0x41, 0x50, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x53, 0x55, 0x42, 0x12, 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x46, 0x49, 0x4c, 0x45, 0x12, 0x27, 0x0a, 0x10, 0x47, 0x41, 0x50, 0x5f, 0x53, 0x54, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x47, 0x41, 0x50, 0x53, 0x54, 0x44, 0x45, 0x52, 0x52, 0x46, 0x49, 0x4c, 0x45, 0x22, 0x60, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x89, 0x01, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x72, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x69, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x48, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x72, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x44, 0x22, 0x57, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa9, 0x04, 0x0a, 0x09, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x12, 0x26, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x22, 0x65, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf0, 0x03, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x50, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x12, 0x26, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x22, 0x6b, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x06, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x6c, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x32, 0xf2, 0x03, 0x0a, 0x05, 0x68, 0x70, 0x63, 0x41, 0x43, 0x12, 0x30, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x11, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x12, 0x18, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x13, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x11, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0f, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0f, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x0f, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x68, 0x70, 0x63, 0x41, 0x43, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x08, 0x5a, 0x06, 0x2f, 0x68, 0x70, 0x63, 0x41, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, >>>>>>> ff7628a455a0eb264866e5bde762cd1c671eb8f3 } var ( file_hpcAC_proto_rawDescOnce sync.Once file_hpcAC_proto_rawDescData = file_hpcAC_proto_rawDesc ) func file_hpcAC_proto_rawDescGZIP() []byte { file_hpcAC_proto_rawDescOnce.Do(func() { file_hpcAC_proto_rawDescData = protoimpl.X.CompressGZIP(file_hpcAC_proto_rawDescData) }) return file_hpcAC_proto_rawDescData } <<<<<<< HEAD var file_hpcAC_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_hpcAC_proto_goTypes = []interface{}{ (*JobManager)(nil), // 0: hpcAC.JobManager (*JobManagerReq)(nil), // 1: hpcAC.JobManagerReq (*ListJobManagerResp)(nil), // 2: hpcAC.ListJobManagerResp (*JobInitAttr)(nil), // 3: hpcAC.JobInitAttr (*JobVncSessionInfo)(nil), // 4: hpcAC.JobVncSessionInfo (*JobDetail)(nil), // 5: hpcAC.JobDetail (*JobDetailReq)(nil), // 6: hpcAC.JobDetailReq (*GetJobDetailResp)(nil), // 7: hpcAC.GetJobDetailResp (*DeleteJobReq)(nil), // 8: hpcAC.DeleteJobReq (*DeleteJobResp)(nil), // 9: hpcAC.DeleteJobResp (*Job)(nil), // 10: hpcAC.job (*ListJobReq)(nil), // 11: hpcAC.ListJobReq (*ListJobResp)(nil), // 12: hpcAC.ListJobResp (*HistoryJob)(nil), // 13: hpcAC.historyJob (*ListHistoryJobReq)(nil), // 14: hpcAC.ListHistoryJobReq (*ListHistoryJobResp)(nil), // 15: hpcAC.ListHistoryJobResp (*SubmitJobReq)(nil), // 16: hpcAC.SubmitJobReq (*SubmitJobResp)(nil), // 17: hpcAC.SubmitJobResp (*MapAppJobInfo)(nil), // 18: hpcAC.MapAppJobInfo nil, // 19: hpcAC.DeleteJobResp.ResultEntry } var file_hpcAC_proto_depIdxs = []int32{ 0, // 0: hpcAC.ListJobManagerResp.job_managers:type_name -> hpcAC.JobManager 3, // 1: hpcAC.JobDetail.job_init_attr:type_name -> hpcAC.JobInitAttr 4, // 2: hpcAC.JobDetail.job_session_info:type_name -> hpcAC.JobVncSessionInfo 5, // 3: hpcAC.GetJobDetailResp.job_detail:type_name -> hpcAC.JobDetail 19, // 4: hpcAC.DeleteJobResp.result:type_name -> hpcAC.DeleteJobResp.ResultEntry 10, // 5: hpcAC.ListJobResp.jobs:type_name -> hpcAC.job 13, // 6: hpcAC.ListHistoryJobResp.history_jobs:type_name -> hpcAC.historyJob 18, // 7: hpcAC.SubmitJobReq.mapAppJobInfo:type_name -> hpcAC.MapAppJobInfo 11, // 8: hpcAC.hpcAC.ListJob:input_type -> hpcAC.ListJobReq 14, // 9: hpcAC.hpcAC.ListHistoryJob:input_type -> hpcAC.ListHistoryJobReq 16, // 10: hpcAC.hpcAC.SubmitJob:input_type -> hpcAC.SubmitJobReq 1, // 11: hpcAC.hpcAC.ListJobManager:input_type -> hpcAC.JobManagerReq 6, // 12: hpcAC.hpcAC.GetJobDetail:input_type -> hpcAC.JobDetailReq 8, // 13: hpcAC.hpcAC.DeleteJob:input_type -> hpcAC.DeleteJobReq 12, // 14: hpcAC.hpcAC.ListJob:output_type -> hpcAC.ListJobResp 15, // 15: hpcAC.hpcAC.ListHistoryJob:output_type -> hpcAC.ListHistoryJobResp 17, // 16: hpcAC.hpcAC.SubmitJob:output_type -> hpcAC.SubmitJobResp 2, // 17: hpcAC.hpcAC.ListJobManager:output_type -> hpcAC.ListJobManagerResp 7, // 18: hpcAC.hpcAC.GetJobDetail:output_type -> hpcAC.GetJobDetailResp 9, // 19: hpcAC.hpcAC.DeleteJob:output_type -> hpcAC.DeleteJobResp 14, // [14:20] is the sub-list for method output_type 8, // [8:14] is the sub-list for method input_type ======= var file_hpcAC_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_hpcAC_proto_goTypes = []interface{}{ (*JobManager)(nil), // 0: hpcAC.JobManager (*JobManagerReq)(nil), // 1: hpcAC.JobManagerReq (*ListJobManagerResp)(nil), // 2: hpcAC.ListJobManagerResp (*Job)(nil), // 3: hpcAC.job (*ListJobReq)(nil), // 4: hpcAC.ListJobReq (*ListJobResp)(nil), // 5: hpcAC.ListJobResp (*HistoryJob)(nil), // 6: hpcAC.historyJob (*ListHistoryJobReq)(nil), // 7: hpcAC.ListHistoryJobReq (*ListHistoryJobResp)(nil), // 8: hpcAC.ListHistoryJobResp (*SubmitJobReq)(nil), // 9: hpcAC.SubmitJobReq (*SubmitJobResp)(nil), // 10: hpcAC.SubmitJobResp (*MapAppJobInfo)(nil), // 11: hpcAC.MapAppJobInfo (*FileContentResp)(nil), // 12: hpcAC.FileContentResp (*FileDataReq)(nil), // 13: hpcAC.FileDataReq (*FileDataResp)(nil), // 14: hpcAC.FileDataResp (*QueueReq)(nil), // 15: hpcAC.QueueReq (*QueueResp)(nil), // 16: hpcAC.QueueResp (*QueueData)(nil), // 17: hpcAC.QueueData (*QueueDetailsResp)(nil), // 18: hpcAC.QueueDetailsResp (*QueueDetailsData)(nil), // 19: hpcAC.QueueDetailsData (*UserQuotasLimitResp)(nil), // 20: hpcAC.UserQuotasLimitResp (*UserQuotasLimitData)(nil), // 21: hpcAC.UserQuotasLimitData } var file_hpcAC_proto_depIdxs = []int32{ 0, // 0: hpcAC.ListJobManagerResp.job_managers:type_name -> hpcAC.JobManager 3, // 1: hpcAC.ListJobResp.jobs:type_name -> hpcAC.job 6, // 2: hpcAC.ListHistoryJobResp.history_jobs:type_name -> hpcAC.historyJob 11, // 3: hpcAC.SubmitJobReq.mapAppJobInfo:type_name -> hpcAC.MapAppJobInfo 14, // 4: hpcAC.FileContentResp.data:type_name -> hpcAC.FileDataResp 17, // 5: hpcAC.QueueResp.data:type_name -> hpcAC.QueueData 19, // 6: hpcAC.QueueDetailsResp.data:type_name -> hpcAC.QueueDetailsData 21, // 7: hpcAC.UserQuotasLimitResp.data:type_name -> hpcAC.UserQuotasLimitData 4, // 8: hpcAC.hpcAC.ListJob:input_type -> hpcAC.ListJobReq 7, // 9: hpcAC.hpcAC.ListHistoryJob:input_type -> hpcAC.ListHistoryJobReq 9, // 10: hpcAC.hpcAC.SubmitJob:input_type -> hpcAC.SubmitJobReq 1, // 11: hpcAC.hpcAC.ListJobManager:input_type -> hpcAC.JobManagerReq 13, // 12: hpcAC.hpcAC.FileContent:input_type -> hpcAC.FileDataReq 15, // 13: hpcAC.hpcAC.SelectQueueByUser:input_type -> hpcAC.QueueReq 15, // 14: hpcAC.hpcAC.QueryQueueDetails:input_type -> hpcAC.QueueReq 15, // 15: hpcAC.hpcAC.QueryUserQuotasLimit:input_type -> hpcAC.QueueReq 5, // 16: hpcAC.hpcAC.ListJob:output_type -> hpcAC.ListJobResp 8, // 17: hpcAC.hpcAC.ListHistoryJob:output_type -> hpcAC.ListHistoryJobResp 10, // 18: hpcAC.hpcAC.SubmitJob:output_type -> hpcAC.SubmitJobResp 2, // 19: hpcAC.hpcAC.ListJobManager:output_type -> hpcAC.ListJobManagerResp 12, // 20: hpcAC.hpcAC.FileContent:output_type -> hpcAC.FileContentResp 16, // 21: hpcAC.hpcAC.SelectQueueByUser:output_type -> hpcAC.QueueResp 18, // 22: hpcAC.hpcAC.QueryQueueDetails:output_type -> hpcAC.QueueDetailsResp 20, // 23: hpcAC.hpcAC.QueryUserQuotasLimit:output_type -> hpcAC.UserQuotasLimitResp 16, // [16:24] is the sub-list for method output_type 8, // [8:16] is the sub-list for method input_type >>>>>>> ff7628a455a0eb264866e5bde762cd1c671eb8f3 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_hpcAC_proto_init() } func file_hpcAC_proto_init() { if File_hpcAC_proto != nil { return } if !protoimpl.UnsafeEnabled { file_hpcAC_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobManager); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobManagerReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListJobManagerResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobInitAttr); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobVncSessionInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobDetail); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JobDetailReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetJobDetailResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteJobReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteJobResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Job); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListJobReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListJobResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HistoryJob); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListHistoryJobReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListHistoryJobResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubmitJobReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubmitJobResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MapAppJobInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileContentResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileDataReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileDataResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueDetailsResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueueDetailsData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserQuotasLimitResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_hpcAC_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserQuotasLimitData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_hpcAC_proto_rawDesc, NumEnums: 0, <<<<<<< HEAD NumMessages: 20, ======= NumMessages: 22, >>>>>>> ff7628a455a0eb264866e5bde762cd1c671eb8f3 NumExtensions: 0, NumServices: 1, }, GoTypes: file_hpcAC_proto_goTypes, DependencyIndexes: file_hpcAC_proto_depIdxs, MessageInfos: file_hpcAC_proto_msgTypes, }.Build() File_hpcAC_proto = out.File file_hpcAC_proto_rawDesc = nil file_hpcAC_proto_goTypes = nil file_hpcAC_proto_depIdxs = nil }