swh:1:snp:e77894886b450c6109aac4a3cdd519d6ed38b51f
Raw File
Tip revision: 826657c14602a3f36263f3d6769451af0a75d18a authored by shibuiwilliam on 20 August 2018, 02:36:42 UTC
Corrected typos in hyperband example yml (#146)
Tip revision: 826657c
api.pb.go
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: api.proto

/*
Package api is a generated protocol buffer package.

It is generated from these files:
	api.proto

It has these top-level messages:
	FeasibleSpace
	ParameterConfig
	Parameter
	MetricsLogSet
	Metrics
	MetricsLog
	SuggestionParameter
	EarlyStoppingParameter
	Tag
	MountConf
	StudyOverview
	Trial
	WorkerConfig
	Worker
	StudyConfig
	CreateStudyRequest
	CreateStudyReply
	StopStudyRequest
	StopStudyReply
	GetStudyRequest
	GetStudyReply
	GetStudyListRequest
	GetStudyListReply
	CreateTrialRequest
	CreateTrialReply
	GetTrialsRequest
	GetTrialsReply
	RunTrialRequest
	RunTrialReply
	StopWorkersRequest
	StopWorkersReply
	GetWorkersRequest
	GetWorkersReply
	GetSuggestionsRequest
	GetSuggestionsReply
	GetShouldStopWorkersRequest
	GetShouldStopWorkersReply
	GetMetricsRequest
	GetMetricsReply
	ModelInfo
	DataSetInfo
	SaveStudyRequest
	SaveStudyReply
	SaveModelRequest
	SaveModelReply
	GetSavedStudiesRequest
	GetSavedStudiesReply
	GetSavedModelsRequest
	GetSavedModelsReply
	GetSavedModelRequest
	GetSavedModelReply
	SetSuggestionParametersRequest
	SetSuggestionParametersReply
	GetSuggestionParametersRequest
	GetSuggestionParametersReply
	GetSuggestionParameterListRequest
	SuggestionParameterSet
	GetSuggestionParameterListReply
	StopSuggestionRequest
	StopSuggestionReply
	SetEarlyStoppingParametersRequest
	SetEarlyStoppingParametersReply
	GetEarlyStoppingParametersRequest
	GetEarlyStoppingParametersReply
	GetEarlyStoppingParameterListRequest
	EarlyStoppingParameterSet
	GetEarlyStoppingParameterListReply
*/
package api

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type ParameterType int32

const (
	// Not used
	ParameterType_UNKNOWN_TYPE ParameterType = 0
	ParameterType_DOUBLE       ParameterType = 1
	ParameterType_INT          ParameterType = 2
	ParameterType_DISCRETE     ParameterType = 3
	ParameterType_CATEGORICAL  ParameterType = 4
)

var ParameterType_name = map[int32]string{
	0: "UNKNOWN_TYPE",
	1: "DOUBLE",
	2: "INT",
	3: "DISCRETE",
	4: "CATEGORICAL",
}
var ParameterType_value = map[string]int32{
	"UNKNOWN_TYPE": 0,
	"DOUBLE":       1,
	"INT":          2,
	"DISCRETE":     3,
	"CATEGORICAL":  4,
}

func (x ParameterType) String() string {
	return proto.EnumName(ParameterType_name, int32(x))
}
func (ParameterType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type OptimizationType int32

const (
	// Not used
	OptimizationType_UNKNOWN_OPTIMIZATION OptimizationType = 0
	OptimizationType_MINIMIZE             OptimizationType = 1
	OptimizationType_MAXIMIZE             OptimizationType = 2
)

var OptimizationType_name = map[int32]string{
	0: "UNKNOWN_OPTIMIZATION",
	1: "MINIMIZE",
	2: "MAXIMIZE",
}
var OptimizationType_value = map[string]int32{
	"UNKNOWN_OPTIMIZATION": 0,
	"MINIMIZE":             1,
	"MAXIMIZE":             2,
}

func (x OptimizationType) String() string {
	return proto.EnumName(OptimizationType_name, int32(x))
}
func (OptimizationType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

// This value is stored as TINYINT in MySQL.
type State int32

const (
	State_PENDING   State = 0
	State_RUNNING   State = 1
	State_COMPLETED State = 2
	State_KILLED    State = 3
	State_ERROR     State = 120
)

var State_name = map[int32]string{
	0:   "PENDING",
	1:   "RUNNING",
	2:   "COMPLETED",
	3:   "KILLED",
	120: "ERROR",
}
var State_value = map[string]int32{
	"PENDING":   0,
	"RUNNING":   1,
	"COMPLETED": 2,
	"KILLED":    3,
	"ERROR":     120,
}

func (x State) String() string {
	return proto.EnumName(State_name, int32(x))
}
func (State) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

type FeasibleSpace struct {
	Max  string   `protobuf:"bytes,1,opt,name=max" json:"max,omitempty"`
	Min  string   `protobuf:"bytes,2,opt,name=min" json:"min,omitempty"`
	List []string `protobuf:"bytes,3,rep,name=list" json:"list,omitempty"`
}

func (m *FeasibleSpace) Reset()                    { *m = FeasibleSpace{} }
func (m *FeasibleSpace) String() string            { return proto.CompactTextString(m) }
func (*FeasibleSpace) ProtoMessage()               {}
func (*FeasibleSpace) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *FeasibleSpace) GetMax() string {
	if m != nil {
		return m.Max
	}
	return ""
}

func (m *FeasibleSpace) GetMin() string {
	if m != nil {
		return m.Min
	}
	return ""
}

func (m *FeasibleSpace) GetList() []string {
	if m != nil {
		return m.List
	}
	return nil
}

type ParameterConfig struct {
	Name          string        `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	ParameterType ParameterType `protobuf:"varint,2,opt,name=parameter_type,json=parameterType,enum=api.ParameterType" json:"parameter_type,omitempty"`
	// The following values defines a feasible parameter space.
	Feasible *FeasibleSpace `protobuf:"bytes,3,opt,name=feasible" json:"feasible,omitempty"`
}

func (m *ParameterConfig) Reset()                    { *m = ParameterConfig{} }
func (m *ParameterConfig) String() string            { return proto.CompactTextString(m) }
func (*ParameterConfig) ProtoMessage()               {}
func (*ParameterConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *ParameterConfig) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *ParameterConfig) GetParameterType() ParameterType {
	if m != nil {
		return m.ParameterType
	}
	return ParameterType_UNKNOWN_TYPE
}

func (m *ParameterConfig) GetFeasible() *FeasibleSpace {
	if m != nil {
		return m.Feasible
	}
	return nil
}

type Parameter struct {
	Name          string        `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	ParameterType ParameterType `protobuf:"varint,2,opt,name=parameter_type,json=parameterType,enum=api.ParameterType" json:"parameter_type,omitempty"`
	Value         string        `protobuf:"bytes,3,opt,name=value" json:"value,omitempty"`
}

func (m *Parameter) Reset()                    { *m = Parameter{} }
func (m *Parameter) String() string            { return proto.CompactTextString(m) }
func (*Parameter) ProtoMessage()               {}
func (*Parameter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *Parameter) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Parameter) GetParameterType() ParameterType {
	if m != nil {
		return m.ParameterType
	}
	return ParameterType_UNKNOWN_TYPE
}

func (m *Parameter) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

type MetricsLogSet struct {
	WorkerId     string        `protobuf:"bytes,1,opt,name=worker_id,json=workerId" json:"worker_id,omitempty"`
	MetricsLogs  []*MetricsLog `protobuf:"bytes,2,rep,name=metrics_logs,json=metricsLogs" json:"metrics_logs,omitempty"`
	WorkerStatus State         `protobuf:"varint,3,opt,name=worker_status,json=workerStatus,enum=api.State" json:"worker_status,omitempty"`
}

func (m *MetricsLogSet) Reset()                    { *m = MetricsLogSet{} }
func (m *MetricsLogSet) String() string            { return proto.CompactTextString(m) }
func (*MetricsLogSet) ProtoMessage()               {}
func (*MetricsLogSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *MetricsLogSet) GetWorkerId() string {
	if m != nil {
		return m.WorkerId
	}
	return ""
}

func (m *MetricsLogSet) GetMetricsLogs() []*MetricsLog {
	if m != nil {
		return m.MetricsLogs
	}
	return nil
}

func (m *MetricsLogSet) GetWorkerStatus() State {
	if m != nil {
		return m.WorkerStatus
	}
	return State_PENDING
}

type Metrics struct {
	Name  string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}

func (m *Metrics) Reset()                    { *m = Metrics{} }
func (m *Metrics) String() string            { return proto.CompactTextString(m) }
func (*Metrics) ProtoMessage()               {}
func (*Metrics) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *Metrics) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Metrics) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

type MetricsLog struct {
	Name   string   `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Values []string `protobuf:"bytes,2,rep,name=values" json:"values,omitempty"`
}

func (m *MetricsLog) Reset()                    { *m = MetricsLog{} }
func (m *MetricsLog) String() string            { return proto.CompactTextString(m) }
func (*MetricsLog) ProtoMessage()               {}
func (*MetricsLog) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

func (m *MetricsLog) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *MetricsLog) GetValues() []string {
	if m != nil {
		return m.Values
	}
	return nil
}

type SuggestionParameter struct {
	Name  string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}

func (m *SuggestionParameter) Reset()                    { *m = SuggestionParameter{} }
func (m *SuggestionParameter) String() string            { return proto.CompactTextString(m) }
func (*SuggestionParameter) ProtoMessage()               {}
func (*SuggestionParameter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

func (m *SuggestionParameter) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *SuggestionParameter) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

type EarlyStoppingParameter struct {
	Name  string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}

func (m *EarlyStoppingParameter) Reset()                    { *m = EarlyStoppingParameter{} }
func (m *EarlyStoppingParameter) String() string            { return proto.CompactTextString(m) }
func (*EarlyStoppingParameter) ProtoMessage()               {}
func (*EarlyStoppingParameter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

func (m *EarlyStoppingParameter) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *EarlyStoppingParameter) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

type Tag struct {
	Name  string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}

func (m *Tag) Reset()                    { *m = Tag{} }
func (m *Tag) String() string            { return proto.CompactTextString(m) }
func (*Tag) ProtoMessage()               {}
func (*Tag) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

func (m *Tag) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Tag) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

type MountConf struct {
	Pvc  string `protobuf:"bytes,1,opt,name=pvc" json:"pvc,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"`
}

func (m *MountConf) Reset()                    { *m = MountConf{} }
func (m *MountConf) String() string            { return proto.CompactTextString(m) }
func (*MountConf) ProtoMessage()               {}
func (*MountConf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }

func (m *MountConf) GetPvc() string {
	if m != nil {
		return m.Pvc
	}
	return ""
}

func (m *MountConf) GetPath() string {
	if m != nil {
		return m.Path
	}
	return ""
}

type StudyOverview struct {
	Name        string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Owner       string `protobuf:"bytes,2,opt,name=owner" json:"owner,omitempty"`
	Id          string `protobuf:"bytes,3,opt,name=id" json:"id,omitempty"`
	Description string `protobuf:"bytes,4,opt,name=description" json:"description,omitempty"`
}

func (m *StudyOverview) Reset()                    { *m = StudyOverview{} }
func (m *StudyOverview) String() string            { return proto.CompactTextString(m) }
func (*StudyOverview) ProtoMessage()               {}
func (*StudyOverview) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }

func (m *StudyOverview) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *StudyOverview) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *StudyOverview) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *StudyOverview) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

type Trial struct {
	TrialId        string       `protobuf:"bytes,1,opt,name=trial_id,json=trialId" json:"trial_id,omitempty"`
	StudyId        string       `protobuf:"bytes,2,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	ParameterSet   []*Parameter `protobuf:"bytes,3,rep,name=parameter_set,json=parameterSet" json:"parameter_set,omitempty"`
	ObjectiveValue string       `protobuf:"bytes,4,opt,name=objective_value,json=objectiveValue" json:"objective_value,omitempty"`
	Tags           []*Tag       `protobuf:"bytes,5,rep,name=tags" json:"tags,omitempty"`
}

func (m *Trial) Reset()                    { *m = Trial{} }
func (m *Trial) String() string            { return proto.CompactTextString(m) }
func (*Trial) ProtoMessage()               {}
func (*Trial) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }

func (m *Trial) GetTrialId() string {
	if m != nil {
		return m.TrialId
	}
	return ""
}

func (m *Trial) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *Trial) GetParameterSet() []*Parameter {
	if m != nil {
		return m.ParameterSet
	}
	return nil
}

func (m *Trial) GetObjectiveValue() string {
	if m != nil {
		return m.ObjectiveValue
	}
	return ""
}

func (m *Trial) GetTags() []*Tag {
	if m != nil {
		return m.Tags
	}
	return nil
}

type WorkerConfig struct {
	Image      string     `protobuf:"bytes,1,opt,name=image" json:"image,omitempty"`
	Command    []string   `protobuf:"bytes,2,rep,name=command" json:"command,omitempty"`
	Gpu        int32      `protobuf:"varint,3,opt,name=gpu" json:"gpu,omitempty"`
	Scheduler  string     `protobuf:"bytes,4,opt,name=scheduler" json:"scheduler,omitempty"`
	Mount      *MountConf `protobuf:"bytes,5,opt,name=mount" json:"mount,omitempty"`
	PullSecret string     `protobuf:"bytes,6,opt,name=pull_secret,json=pullSecret" json:"pull_secret,omitempty"`
}

func (m *WorkerConfig) Reset()                    { *m = WorkerConfig{} }
func (m *WorkerConfig) String() string            { return proto.CompactTextString(m) }
func (*WorkerConfig) ProtoMessage()               {}
func (*WorkerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }

func (m *WorkerConfig) GetImage() string {
	if m != nil {
		return m.Image
	}
	return ""
}

func (m *WorkerConfig) GetCommand() []string {
	if m != nil {
		return m.Command
	}
	return nil
}

func (m *WorkerConfig) GetGpu() int32 {
	if m != nil {
		return m.Gpu
	}
	return 0
}

func (m *WorkerConfig) GetScheduler() string {
	if m != nil {
		return m.Scheduler
	}
	return ""
}

func (m *WorkerConfig) GetMount() *MountConf {
	if m != nil {
		return m.Mount
	}
	return nil
}

func (m *WorkerConfig) GetPullSecret() string {
	if m != nil {
		return m.PullSecret
	}
	return ""
}

type Worker struct {
	WorkerId string        `protobuf:"bytes,1,opt,name=worker_id,json=workerId" json:"worker_id,omitempty"`
	StudyId  string        `protobuf:"bytes,2,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	TrialId  string        `protobuf:"bytes,3,opt,name=trial_id,json=trialId" json:"trial_id,omitempty"`
	Runtime  string        `protobuf:"bytes,4,opt,name=runtime" json:"runtime,omitempty"`
	Status   State         `protobuf:"varint,5,opt,name=status,enum=api.State" json:"status,omitempty"`
	Config   *WorkerConfig `protobuf:"bytes,6,opt,name=config" json:"config,omitempty"`
	Tags     []*Tag        `protobuf:"bytes,7,rep,name=tags" json:"tags,omitempty"`
}

func (m *Worker) Reset()                    { *m = Worker{} }
func (m *Worker) String() string            { return proto.CompactTextString(m) }
func (*Worker) ProtoMessage()               {}
func (*Worker) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }

func (m *Worker) GetWorkerId() string {
	if m != nil {
		return m.WorkerId
	}
	return ""
}

func (m *Worker) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *Worker) GetTrialId() string {
	if m != nil {
		return m.TrialId
	}
	return ""
}

func (m *Worker) GetRuntime() string {
	if m != nil {
		return m.Runtime
	}
	return ""
}

func (m *Worker) GetStatus() State {
	if m != nil {
		return m.Status
	}
	return State_PENDING
}

func (m *Worker) GetConfig() *WorkerConfig {
	if m != nil {
		return m.Config
	}
	return nil
}

func (m *Worker) GetTags() []*Tag {
	if m != nil {
		return m.Tags
	}
	return nil
}

type StudyConfig struct {
	Name               string                        `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Owner              string                        `protobuf:"bytes,2,opt,name=owner" json:"owner,omitempty"`
	OptimizationType   OptimizationType              `protobuf:"varint,3,opt,name=optimization_type,json=optimizationType,enum=api.OptimizationType" json:"optimization_type,omitempty"`
	OptimizationGoal   float64                       `protobuf:"fixed64,4,opt,name=optimization_goal,json=optimizationGoal" json:"optimization_goal,omitempty"`
	ParameterConfigs   *StudyConfig_ParameterConfigs `protobuf:"bytes,5,opt,name=parameter_configs,json=parameterConfigs" json:"parameter_configs,omitempty"`
	AccessPermissions  []string                      `protobuf:"bytes,6,rep,name=access_permissions,json=accessPermissions" json:"access_permissions,omitempty"`
	Tags               []*Tag                        `protobuf:"bytes,7,rep,name=tags" json:"tags,omitempty"`
	ObjectiveValueName string                        `protobuf:"bytes,8,opt,name=objective_value_name,json=objectiveValueName" json:"objective_value_name,omitempty"`
	Metrics            []string                      `protobuf:"bytes,9,rep,name=metrics" json:"metrics,omitempty"`
}

func (m *StudyConfig) Reset()                    { *m = StudyConfig{} }
func (m *StudyConfig) String() string            { return proto.CompactTextString(m) }
func (*StudyConfig) ProtoMessage()               {}
func (*StudyConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }

func (m *StudyConfig) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *StudyConfig) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *StudyConfig) GetOptimizationType() OptimizationType {
	if m != nil {
		return m.OptimizationType
	}
	return OptimizationType_UNKNOWN_OPTIMIZATION
}

func (m *StudyConfig) GetOptimizationGoal() float64 {
	if m != nil {
		return m.OptimizationGoal
	}
	return 0
}

func (m *StudyConfig) GetParameterConfigs() *StudyConfig_ParameterConfigs {
	if m != nil {
		return m.ParameterConfigs
	}
	return nil
}

func (m *StudyConfig) GetAccessPermissions() []string {
	if m != nil {
		return m.AccessPermissions
	}
	return nil
}

func (m *StudyConfig) GetTags() []*Tag {
	if m != nil {
		return m.Tags
	}
	return nil
}

func (m *StudyConfig) GetObjectiveValueName() string {
	if m != nil {
		return m.ObjectiveValueName
	}
	return ""
}

func (m *StudyConfig) GetMetrics() []string {
	if m != nil {
		return m.Metrics
	}
	return nil
}

type StudyConfig_ParameterConfigs struct {
	Configs []*ParameterConfig `protobuf:"bytes,1,rep,name=configs" json:"configs,omitempty"`
}

func (m *StudyConfig_ParameterConfigs) Reset()         { *m = StudyConfig_ParameterConfigs{} }
func (m *StudyConfig_ParameterConfigs) String() string { return proto.CompactTextString(m) }
func (*StudyConfig_ParameterConfigs) ProtoMessage()    {}
func (*StudyConfig_ParameterConfigs) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{14, 0}
}

func (m *StudyConfig_ParameterConfigs) GetConfigs() []*ParameterConfig {
	if m != nil {
		return m.Configs
	}
	return nil
}

type CreateStudyRequest struct {
	StudyConfig *StudyConfig `protobuf:"bytes,1,opt,name=study_config,json=studyConfig" json:"study_config,omitempty"`
}

func (m *CreateStudyRequest) Reset()                    { *m = CreateStudyRequest{} }
func (m *CreateStudyRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateStudyRequest) ProtoMessage()               {}
func (*CreateStudyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }

func (m *CreateStudyRequest) GetStudyConfig() *StudyConfig {
	if m != nil {
		return m.StudyConfig
	}
	return nil
}

type CreateStudyReply struct {
	StudyId string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
}

func (m *CreateStudyReply) Reset()                    { *m = CreateStudyReply{} }
func (m *CreateStudyReply) String() string            { return proto.CompactTextString(m) }
func (*CreateStudyReply) ProtoMessage()               {}
func (*CreateStudyReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }

func (m *CreateStudyReply) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

type StopStudyRequest struct {
	StudyId string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
}

func (m *StopStudyRequest) Reset()                    { *m = StopStudyRequest{} }
func (m *StopStudyRequest) String() string            { return proto.CompactTextString(m) }
func (*StopStudyRequest) ProtoMessage()               {}
func (*StopStudyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }

func (m *StopStudyRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

type StopStudyReply struct {
}

func (m *StopStudyReply) Reset()                    { *m = StopStudyReply{} }
func (m *StopStudyReply) String() string            { return proto.CompactTextString(m) }
func (*StopStudyReply) ProtoMessage()               {}
func (*StopStudyReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }

type GetStudyRequest struct {
	StudyId string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
}

func (m *GetStudyRequest) Reset()                    { *m = GetStudyRequest{} }
func (m *GetStudyRequest) String() string            { return proto.CompactTextString(m) }
func (*GetStudyRequest) ProtoMessage()               {}
func (*GetStudyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }

func (m *GetStudyRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

type GetStudyReply struct {
	StudyConfig *StudyConfig `protobuf:"bytes,1,opt,name=study_config,json=studyConfig" json:"study_config,omitempty"`
}

func (m *GetStudyReply) Reset()                    { *m = GetStudyReply{} }
func (m *GetStudyReply) String() string            { return proto.CompactTextString(m) }
func (*GetStudyReply) ProtoMessage()               {}
func (*GetStudyReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }

func (m *GetStudyReply) GetStudyConfig() *StudyConfig {
	if m != nil {
		return m.StudyConfig
	}
	return nil
}

type GetStudyListRequest struct {
}

func (m *GetStudyListRequest) Reset()                    { *m = GetStudyListRequest{} }
func (m *GetStudyListRequest) String() string            { return proto.CompactTextString(m) }
func (*GetStudyListRequest) ProtoMessage()               {}
func (*GetStudyListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }

type GetStudyListReply struct {
	StudyOverviews []*StudyOverview `protobuf:"bytes,1,rep,name=study_overviews,json=studyOverviews" json:"study_overviews,omitempty"`
}

func (m *GetStudyListReply) Reset()                    { *m = GetStudyListReply{} }
func (m *GetStudyListReply) String() string            { return proto.CompactTextString(m) }
func (*GetStudyListReply) ProtoMessage()               {}
func (*GetStudyListReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }

func (m *GetStudyListReply) GetStudyOverviews() []*StudyOverview {
	if m != nil {
		return m.StudyOverviews
	}
	return nil
}

type CreateTrialRequest struct {
	Trial *Trial `protobuf:"bytes,1,opt,name=trial" json:"trial,omitempty"`
}

func (m *CreateTrialRequest) Reset()                    { *m = CreateTrialRequest{} }
func (m *CreateTrialRequest) String() string            { return proto.CompactTextString(m) }
func (*CreateTrialRequest) ProtoMessage()               {}
func (*CreateTrialRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }

func (m *CreateTrialRequest) GetTrial() *Trial {
	if m != nil {
		return m.Trial
	}
	return nil
}

type CreateTrialReply struct {
	TrialId string `protobuf:"bytes,1,opt,name=trial_id,json=trialId" json:"trial_id,omitempty"`
}

func (m *CreateTrialReply) Reset()                    { *m = CreateTrialReply{} }
func (m *CreateTrialReply) String() string            { return proto.CompactTextString(m) }
func (*CreateTrialReply) ProtoMessage()               {}
func (*CreateTrialReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }

func (m *CreateTrialReply) GetTrialId() string {
	if m != nil {
		return m.TrialId
	}
	return ""
}

type GetTrialsRequest struct {
	StudyId string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
}

func (m *GetTrialsRequest) Reset()                    { *m = GetTrialsRequest{} }
func (m *GetTrialsRequest) String() string            { return proto.CompactTextString(m) }
func (*GetTrialsRequest) ProtoMessage()               {}
func (*GetTrialsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }

func (m *GetTrialsRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

type GetTrialsReply struct {
	Trials []*Trial `protobuf:"bytes,1,rep,name=trials" json:"trials,omitempty"`
}

func (m *GetTrialsReply) Reset()                    { *m = GetTrialsReply{} }
func (m *GetTrialsReply) String() string            { return proto.CompactTextString(m) }
func (*GetTrialsReply) ProtoMessage()               {}
func (*GetTrialsReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }

func (m *GetTrialsReply) GetTrials() []*Trial {
	if m != nil {
		return m.Trials
	}
	return nil
}

type RunTrialRequest struct {
	StudyId      string        `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	TrialId      string        `protobuf:"bytes,2,opt,name=trial_id,json=trialId" json:"trial_id,omitempty"`
	Runtime      string        `protobuf:"bytes,3,opt,name=runtime" json:"runtime,omitempty"`
	WorkerConfig *WorkerConfig `protobuf:"bytes,4,opt,name=worker_config,json=workerConfig" json:"worker_config,omitempty"`
}

func (m *RunTrialRequest) Reset()                    { *m = RunTrialRequest{} }
func (m *RunTrialRequest) String() string            { return proto.CompactTextString(m) }
func (*RunTrialRequest) ProtoMessage()               {}
func (*RunTrialRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }

func (m *RunTrialRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *RunTrialRequest) GetTrialId() string {
	if m != nil {
		return m.TrialId
	}
	return ""
}

func (m *RunTrialRequest) GetRuntime() string {
	if m != nil {
		return m.Runtime
	}
	return ""
}

func (m *RunTrialRequest) GetWorkerConfig() *WorkerConfig {
	if m != nil {
		return m.WorkerConfig
	}
	return nil
}

type RunTrialReply struct {
	WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId" json:"worker_id,omitempty"`
}

func (m *RunTrialReply) Reset()                    { *m = RunTrialReply{} }
func (m *RunTrialReply) String() string            { return proto.CompactTextString(m) }
func (*RunTrialReply) ProtoMessage()               {}
func (*RunTrialReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }

func (m *RunTrialReply) GetWorkerId() string {
	if m != nil {
		return m.WorkerId
	}
	return ""
}

type StopWorkersRequest struct {
	StudyId    string   `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	WorkerIds  []string `protobuf:"bytes,2,rep,name=worker_ids,json=workerIds" json:"worker_ids,omitempty"`
	IsComplete bool     `protobuf:"varint,3,opt,name=is_complete,json=isComplete" json:"is_complete,omitempty"`
}

func (m *StopWorkersRequest) Reset()                    { *m = StopWorkersRequest{} }
func (m *StopWorkersRequest) String() string            { return proto.CompactTextString(m) }
func (*StopWorkersRequest) ProtoMessage()               {}
func (*StopWorkersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }

func (m *StopWorkersRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *StopWorkersRequest) GetWorkerIds() []string {
	if m != nil {
		return m.WorkerIds
	}
	return nil
}

func (m *StopWorkersRequest) GetIsComplete() bool {
	if m != nil {
		return m.IsComplete
	}
	return false
}

type StopWorkersReply struct {
}

func (m *StopWorkersReply) Reset()                    { *m = StopWorkersReply{} }
func (m *StopWorkersReply) String() string            { return proto.CompactTextString(m) }
func (*StopWorkersReply) ProtoMessage()               {}
func (*StopWorkersReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }

type GetWorkersRequest struct {
	StudyId  string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	TrialId  string `protobuf:"bytes,2,opt,name=trial_id,json=trialId" json:"trial_id,omitempty"`
	WorkerId string `protobuf:"bytes,3,opt,name=worker_id,json=workerId" json:"worker_id,omitempty"`
}

func (m *GetWorkersRequest) Reset()                    { *m = GetWorkersRequest{} }
func (m *GetWorkersRequest) String() string            { return proto.CompactTextString(m) }
func (*GetWorkersRequest) ProtoMessage()               {}
func (*GetWorkersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }

func (m *GetWorkersRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *GetWorkersRequest) GetTrialId() string {
	if m != nil {
		return m.TrialId
	}
	return ""
}

func (m *GetWorkersRequest) GetWorkerId() string {
	if m != nil {
		return m.WorkerId
	}
	return ""
}

type GetWorkersReply struct {
	Workers []*Worker `protobuf:"bytes,1,rep,name=workers" json:"workers,omitempty"`
}

func (m *GetWorkersReply) Reset()                    { *m = GetWorkersReply{} }
func (m *GetWorkersReply) String() string            { return proto.CompactTextString(m) }
func (*GetWorkersReply) ProtoMessage()               {}
func (*GetWorkersReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }

func (m *GetWorkersReply) GetWorkers() []*Worker {
	if m != nil {
		return m.Workers
	}
	return nil
}

type GetSuggestionsRequest struct {
	StudyId             string   `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	SuggestionAlgorithm string   `protobuf:"bytes,2,opt,name=suggestion_algorithm,json=suggestionAlgorithm" json:"suggestion_algorithm,omitempty"`
	RequestNumber       int32    `protobuf:"varint,3,opt,name=request_number,json=requestNumber" json:"request_number,omitempty"`
	LogWorkerIds        []string `protobuf:"bytes,4,rep,name=log_worker_ids,json=logWorkerIds" json:"log_worker_ids,omitempty"`
	ParamId             string   `protobuf:"bytes,5,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
}

func (m *GetSuggestionsRequest) Reset()                    { *m = GetSuggestionsRequest{} }
func (m *GetSuggestionsRequest) String() string            { return proto.CompactTextString(m) }
func (*GetSuggestionsRequest) ProtoMessage()               {}
func (*GetSuggestionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }

func (m *GetSuggestionsRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *GetSuggestionsRequest) GetSuggestionAlgorithm() string {
	if m != nil {
		return m.SuggestionAlgorithm
	}
	return ""
}

func (m *GetSuggestionsRequest) GetRequestNumber() int32 {
	if m != nil {
		return m.RequestNumber
	}
	return 0
}

func (m *GetSuggestionsRequest) GetLogWorkerIds() []string {
	if m != nil {
		return m.LogWorkerIds
	}
	return nil
}

func (m *GetSuggestionsRequest) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

type GetSuggestionsReply struct {
	Trials []*Trial `protobuf:"bytes,1,rep,name=trials" json:"trials,omitempty"`
}

func (m *GetSuggestionsReply) Reset()                    { *m = GetSuggestionsReply{} }
func (m *GetSuggestionsReply) String() string            { return proto.CompactTextString(m) }
func (*GetSuggestionsReply) ProtoMessage()               {}
func (*GetSuggestionsReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }

func (m *GetSuggestionsReply) GetTrials() []*Trial {
	if m != nil {
		return m.Trials
	}
	return nil
}

type GetShouldStopWorkersRequest struct {
	StudyId                string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	EarlyStoppingAlgorithm string `protobuf:"bytes,2,opt,name=early_stopping_algorithm,json=earlyStoppingAlgorithm" json:"early_stopping_algorithm,omitempty"`
	ParamId                string `protobuf:"bytes,5,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
}

func (m *GetShouldStopWorkersRequest) Reset()                    { *m = GetShouldStopWorkersRequest{} }
func (m *GetShouldStopWorkersRequest) String() string            { return proto.CompactTextString(m) }
func (*GetShouldStopWorkersRequest) ProtoMessage()               {}
func (*GetShouldStopWorkersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }

func (m *GetShouldStopWorkersRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *GetShouldStopWorkersRequest) GetEarlyStoppingAlgorithm() string {
	if m != nil {
		return m.EarlyStoppingAlgorithm
	}
	return ""
}

func (m *GetShouldStopWorkersRequest) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

type GetShouldStopWorkersReply struct {
	ShouldStopWorkerIds []string `protobuf:"bytes,1,rep,name=should_stop_worker_ids,json=shouldStopWorkerIds" json:"should_stop_worker_ids,omitempty"`
}

func (m *GetShouldStopWorkersReply) Reset()                    { *m = GetShouldStopWorkersReply{} }
func (m *GetShouldStopWorkersReply) String() string            { return proto.CompactTextString(m) }
func (*GetShouldStopWorkersReply) ProtoMessage()               {}
func (*GetShouldStopWorkersReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }

func (m *GetShouldStopWorkersReply) GetShouldStopWorkerIds() []string {
	if m != nil {
		return m.ShouldStopWorkerIds
	}
	return nil
}

type GetMetricsRequest struct {
	StudyId      string   `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	WorkerIds    []string `protobuf:"bytes,2,rep,name=worker_ids,json=workerIds" json:"worker_ids,omitempty"`
	MetricsNames []string `protobuf:"bytes,3,rep,name=metrics_names,json=metricsNames" json:"metrics_names,omitempty"`
}

func (m *GetMetricsRequest) Reset()                    { *m = GetMetricsRequest{} }
func (m *GetMetricsRequest) String() string            { return proto.CompactTextString(m) }
func (*GetMetricsRequest) ProtoMessage()               {}
func (*GetMetricsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }

func (m *GetMetricsRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *GetMetricsRequest) GetWorkerIds() []string {
	if m != nil {
		return m.WorkerIds
	}
	return nil
}

func (m *GetMetricsRequest) GetMetricsNames() []string {
	if m != nil {
		return m.MetricsNames
	}
	return nil
}

type GetMetricsReply struct {
	MetricsLogSets []*MetricsLogSet `protobuf:"bytes,1,rep,name=metrics_log_sets,json=metricsLogSets" json:"metrics_log_sets,omitempty"`
}

func (m *GetMetricsReply) Reset()                    { *m = GetMetricsReply{} }
func (m *GetMetricsReply) String() string            { return proto.CompactTextString(m) }
func (*GetMetricsReply) ProtoMessage()               {}
func (*GetMetricsReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }

func (m *GetMetricsReply) GetMetricsLogSets() []*MetricsLogSet {
	if m != nil {
		return m.MetricsLogSets
	}
	return nil
}

type ModelInfo struct {
	StudyName  string       `protobuf:"bytes,1,opt,name=study_name,json=studyName" json:"study_name,omitempty"`
	WorkerId   string       `protobuf:"bytes,2,opt,name=worker_id,json=workerId" json:"worker_id,omitempty"`
	Parameters []*Parameter `protobuf:"bytes,3,rep,name=parameters" json:"parameters,omitempty"`
	Metrics    []*Metrics   `protobuf:"bytes,4,rep,name=metrics" json:"metrics,omitempty"`
	ModelPath  string       `protobuf:"bytes,5,opt,name=model_path,json=modelPath" json:"model_path,omitempty"`
}

func (m *ModelInfo) Reset()                    { *m = ModelInfo{} }
func (m *ModelInfo) String() string            { return proto.CompactTextString(m) }
func (*ModelInfo) ProtoMessage()               {}
func (*ModelInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }

func (m *ModelInfo) GetStudyName() string {
	if m != nil {
		return m.StudyName
	}
	return ""
}

func (m *ModelInfo) GetWorkerId() string {
	if m != nil {
		return m.WorkerId
	}
	return ""
}

func (m *ModelInfo) GetParameters() []*Parameter {
	if m != nil {
		return m.Parameters
	}
	return nil
}

func (m *ModelInfo) GetMetrics() []*Metrics {
	if m != nil {
		return m.Metrics
	}
	return nil
}

func (m *ModelInfo) GetModelPath() string {
	if m != nil {
		return m.ModelPath
	}
	return ""
}

type DataSetInfo struct {
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"`
}

func (m *DataSetInfo) Reset()                    { *m = DataSetInfo{} }
func (m *DataSetInfo) String() string            { return proto.CompactTextString(m) }
func (*DataSetInfo) ProtoMessage()               {}
func (*DataSetInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }

func (m *DataSetInfo) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *DataSetInfo) GetPath() string {
	if m != nil {
		return m.Path
	}
	return ""
}

type SaveStudyRequest struct {
	StudyName   string `protobuf:"bytes,1,opt,name=study_name,json=studyName" json:"study_name,omitempty"`
	Owner       string `protobuf:"bytes,2,opt,name=owner" json:"owner,omitempty"`
	Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
}

func (m *SaveStudyRequest) Reset()                    { *m = SaveStudyRequest{} }
func (m *SaveStudyRequest) String() string            { return proto.CompactTextString(m) }
func (*SaveStudyRequest) ProtoMessage()               {}
func (*SaveStudyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }

func (m *SaveStudyRequest) GetStudyName() string {
	if m != nil {
		return m.StudyName
	}
	return ""
}

func (m *SaveStudyRequest) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *SaveStudyRequest) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

type SaveStudyReply struct {
}

func (m *SaveStudyReply) Reset()                    { *m = SaveStudyReply{} }
func (m *SaveStudyReply) String() string            { return proto.CompactTextString(m) }
func (*SaveStudyReply) ProtoMessage()               {}
func (*SaveStudyReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }

type SaveModelRequest struct {
	Model       *ModelInfo   `protobuf:"bytes,1,opt,name=model" json:"model,omitempty"`
	DataSet     *DataSetInfo `protobuf:"bytes,2,opt,name=data_set,json=dataSet" json:"data_set,omitempty"`
	TensorBoard bool         `protobuf:"varint,3,opt,name=tensor_board,json=tensorBoard" json:"tensor_board,omitempty"`
}

func (m *SaveModelRequest) Reset()                    { *m = SaveModelRequest{} }
func (m *SaveModelRequest) String() string            { return proto.CompactTextString(m) }
func (*SaveModelRequest) ProtoMessage()               {}
func (*SaveModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{43} }

func (m *SaveModelRequest) GetModel() *ModelInfo {
	if m != nil {
		return m.Model
	}
	return nil
}

func (m *SaveModelRequest) GetDataSet() *DataSetInfo {
	if m != nil {
		return m.DataSet
	}
	return nil
}

func (m *SaveModelRequest) GetTensorBoard() bool {
	if m != nil {
		return m.TensorBoard
	}
	return false
}

type SaveModelReply struct {
}

func (m *SaveModelReply) Reset()                    { *m = SaveModelReply{} }
func (m *SaveModelReply) String() string            { return proto.CompactTextString(m) }
func (*SaveModelReply) ProtoMessage()               {}
func (*SaveModelReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }

type GetSavedStudiesRequest struct {
}

func (m *GetSavedStudiesRequest) Reset()                    { *m = GetSavedStudiesRequest{} }
func (m *GetSavedStudiesRequest) String() string            { return proto.CompactTextString(m) }
func (*GetSavedStudiesRequest) ProtoMessage()               {}
func (*GetSavedStudiesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{45} }

type GetSavedStudiesReply struct {
	Studies []*StudyOverview `protobuf:"bytes,1,rep,name=studies" json:"studies,omitempty"`
}

func (m *GetSavedStudiesReply) Reset()                    { *m = GetSavedStudiesReply{} }
func (m *GetSavedStudiesReply) String() string            { return proto.CompactTextString(m) }
func (*GetSavedStudiesReply) ProtoMessage()               {}
func (*GetSavedStudiesReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{46} }

func (m *GetSavedStudiesReply) GetStudies() []*StudyOverview {
	if m != nil {
		return m.Studies
	}
	return nil
}

type GetSavedModelsRequest struct {
	StudyName string `protobuf:"bytes,1,opt,name=study_name,json=studyName" json:"study_name,omitempty"`
}

func (m *GetSavedModelsRequest) Reset()                    { *m = GetSavedModelsRequest{} }
func (m *GetSavedModelsRequest) String() string            { return proto.CompactTextString(m) }
func (*GetSavedModelsRequest) ProtoMessage()               {}
func (*GetSavedModelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{47} }

func (m *GetSavedModelsRequest) GetStudyName() string {
	if m != nil {
		return m.StudyName
	}
	return ""
}

type GetSavedModelsReply struct {
	Models []*ModelInfo `protobuf:"bytes,1,rep,name=models" json:"models,omitempty"`
}

func (m *GetSavedModelsReply) Reset()                    { *m = GetSavedModelsReply{} }
func (m *GetSavedModelsReply) String() string            { return proto.CompactTextString(m) }
func (*GetSavedModelsReply) ProtoMessage()               {}
func (*GetSavedModelsReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{48} }

func (m *GetSavedModelsReply) GetModels() []*ModelInfo {
	if m != nil {
		return m.Models
	}
	return nil
}

type GetSavedModelRequest struct {
	StudyName string `protobuf:"bytes,1,opt,name=study_name,json=studyName" json:"study_name,omitempty"`
	WorkerId  string `protobuf:"bytes,2,opt,name=worker_id,json=workerId" json:"worker_id,omitempty"`
}

func (m *GetSavedModelRequest) Reset()                    { *m = GetSavedModelRequest{} }
func (m *GetSavedModelRequest) String() string            { return proto.CompactTextString(m) }
func (*GetSavedModelRequest) ProtoMessage()               {}
func (*GetSavedModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{49} }

func (m *GetSavedModelRequest) GetStudyName() string {
	if m != nil {
		return m.StudyName
	}
	return ""
}

func (m *GetSavedModelRequest) GetWorkerId() string {
	if m != nil {
		return m.WorkerId
	}
	return ""
}

type GetSavedModelReply struct {
	Model *ModelInfo `protobuf:"bytes,1,opt,name=model" json:"model,omitempty"`
}

func (m *GetSavedModelReply) Reset()                    { *m = GetSavedModelReply{} }
func (m *GetSavedModelReply) String() string            { return proto.CompactTextString(m) }
func (*GetSavedModelReply) ProtoMessage()               {}
func (*GetSavedModelReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{50} }

func (m *GetSavedModelReply) GetModel() *ModelInfo {
	if m != nil {
		return m.Model
	}
	return nil
}

type SetSuggestionParametersRequest struct {
	StudyId              string                 `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	SuggestionAlgorithm  string                 `protobuf:"bytes,2,opt,name=suggestion_algorithm,json=suggestionAlgorithm" json:"suggestion_algorithm,omitempty"`
	ParamId              string                 `protobuf:"bytes,3,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
	SuggestionParameters []*SuggestionParameter `protobuf:"bytes,4,rep,name=suggestion_parameters,json=suggestionParameters" json:"suggestion_parameters,omitempty"`
}

func (m *SetSuggestionParametersRequest) Reset()                    { *m = SetSuggestionParametersRequest{} }
func (m *SetSuggestionParametersRequest) String() string            { return proto.CompactTextString(m) }
func (*SetSuggestionParametersRequest) ProtoMessage()               {}
func (*SetSuggestionParametersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{51} }

func (m *SetSuggestionParametersRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *SetSuggestionParametersRequest) GetSuggestionAlgorithm() string {
	if m != nil {
		return m.SuggestionAlgorithm
	}
	return ""
}

func (m *SetSuggestionParametersRequest) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

func (m *SetSuggestionParametersRequest) GetSuggestionParameters() []*SuggestionParameter {
	if m != nil {
		return m.SuggestionParameters
	}
	return nil
}

type SetSuggestionParametersReply struct {
	ParamId string `protobuf:"bytes,1,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
}

func (m *SetSuggestionParametersReply) Reset()                    { *m = SetSuggestionParametersReply{} }
func (m *SetSuggestionParametersReply) String() string            { return proto.CompactTextString(m) }
func (*SetSuggestionParametersReply) ProtoMessage()               {}
func (*SetSuggestionParametersReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{52} }

func (m *SetSuggestionParametersReply) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

type GetSuggestionParametersRequest struct {
	ParamId string `protobuf:"bytes,1,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
}

func (m *GetSuggestionParametersRequest) Reset()                    { *m = GetSuggestionParametersRequest{} }
func (m *GetSuggestionParametersRequest) String() string            { return proto.CompactTextString(m) }
func (*GetSuggestionParametersRequest) ProtoMessage()               {}
func (*GetSuggestionParametersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{53} }

func (m *GetSuggestionParametersRequest) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

type GetSuggestionParametersReply struct {
	SuggestionParameters []*SuggestionParameter `protobuf:"bytes,1,rep,name=suggestion_parameters,json=suggestionParameters" json:"suggestion_parameters,omitempty"`
}

func (m *GetSuggestionParametersReply) Reset()                    { *m = GetSuggestionParametersReply{} }
func (m *GetSuggestionParametersReply) String() string            { return proto.CompactTextString(m) }
func (*GetSuggestionParametersReply) ProtoMessage()               {}
func (*GetSuggestionParametersReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{54} }

func (m *GetSuggestionParametersReply) GetSuggestionParameters() []*SuggestionParameter {
	if m != nil {
		return m.SuggestionParameters
	}
	return nil
}

type GetSuggestionParameterListRequest struct {
	StudyId string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
}

func (m *GetSuggestionParameterListRequest) Reset()         { *m = GetSuggestionParameterListRequest{} }
func (m *GetSuggestionParameterListRequest) String() string { return proto.CompactTextString(m) }
func (*GetSuggestionParameterListRequest) ProtoMessage()    {}
func (*GetSuggestionParameterListRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{55}
}

func (m *GetSuggestionParameterListRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

type SuggestionParameterSet struct {
	ParamId              string                 `protobuf:"bytes,1,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
	SuggestionAlgorithm  string                 `protobuf:"bytes,2,opt,name=suggestion_algorithm,json=suggestionAlgorithm" json:"suggestion_algorithm,omitempty"`
	SuggestionParameters []*SuggestionParameter `protobuf:"bytes,3,rep,name=suggestion_parameters,json=suggestionParameters" json:"suggestion_parameters,omitempty"`
}

func (m *SuggestionParameterSet) Reset()                    { *m = SuggestionParameterSet{} }
func (m *SuggestionParameterSet) String() string            { return proto.CompactTextString(m) }
func (*SuggestionParameterSet) ProtoMessage()               {}
func (*SuggestionParameterSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{56} }

func (m *SuggestionParameterSet) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

func (m *SuggestionParameterSet) GetSuggestionAlgorithm() string {
	if m != nil {
		return m.SuggestionAlgorithm
	}
	return ""
}

func (m *SuggestionParameterSet) GetSuggestionParameters() []*SuggestionParameter {
	if m != nil {
		return m.SuggestionParameters
	}
	return nil
}

type GetSuggestionParameterListReply struct {
	SuggestionParameterSets []*SuggestionParameterSet `protobuf:"bytes,1,rep,name=suggestion_parameter_sets,json=suggestionParameterSets" json:"suggestion_parameter_sets,omitempty"`
}

func (m *GetSuggestionParameterListReply) Reset()         { *m = GetSuggestionParameterListReply{} }
func (m *GetSuggestionParameterListReply) String() string { return proto.CompactTextString(m) }
func (*GetSuggestionParameterListReply) ProtoMessage()    {}
func (*GetSuggestionParameterListReply) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{57}
}

func (m *GetSuggestionParameterListReply) GetSuggestionParameterSets() []*SuggestionParameterSet {
	if m != nil {
		return m.SuggestionParameterSets
	}
	return nil
}

type StopSuggestionRequest struct {
	StudyId string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
}

func (m *StopSuggestionRequest) Reset()                    { *m = StopSuggestionRequest{} }
func (m *StopSuggestionRequest) String() string            { return proto.CompactTextString(m) }
func (*StopSuggestionRequest) ProtoMessage()               {}
func (*StopSuggestionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{58} }

func (m *StopSuggestionRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

type StopSuggestionReply struct {
}

func (m *StopSuggestionReply) Reset()                    { *m = StopSuggestionReply{} }
func (m *StopSuggestionReply) String() string            { return proto.CompactTextString(m) }
func (*StopSuggestionReply) ProtoMessage()               {}
func (*StopSuggestionReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{59} }

type SetEarlyStoppingParametersRequest struct {
	StudyId                 string                    `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
	EarlyStoppingAlgorithm  string                    `protobuf:"bytes,2,opt,name=early_stopping_algorithm,json=earlyStoppingAlgorithm" json:"early_stopping_algorithm,omitempty"`
	ParamId                 string                    `protobuf:"bytes,3,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
	EarlyStoppingParameters []*EarlyStoppingParameter `protobuf:"bytes,4,rep,name=early_stopping_parameters,json=earlyStoppingParameters" json:"early_stopping_parameters,omitempty"`
}

func (m *SetEarlyStoppingParametersRequest) Reset()         { *m = SetEarlyStoppingParametersRequest{} }
func (m *SetEarlyStoppingParametersRequest) String() string { return proto.CompactTextString(m) }
func (*SetEarlyStoppingParametersRequest) ProtoMessage()    {}
func (*SetEarlyStoppingParametersRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{60}
}

func (m *SetEarlyStoppingParametersRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

func (m *SetEarlyStoppingParametersRequest) GetEarlyStoppingAlgorithm() string {
	if m != nil {
		return m.EarlyStoppingAlgorithm
	}
	return ""
}

func (m *SetEarlyStoppingParametersRequest) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

func (m *SetEarlyStoppingParametersRequest) GetEarlyStoppingParameters() []*EarlyStoppingParameter {
	if m != nil {
		return m.EarlyStoppingParameters
	}
	return nil
}

type SetEarlyStoppingParametersReply struct {
	ParamId string `protobuf:"bytes,1,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
}

func (m *SetEarlyStoppingParametersReply) Reset()         { *m = SetEarlyStoppingParametersReply{} }
func (m *SetEarlyStoppingParametersReply) String() string { return proto.CompactTextString(m) }
func (*SetEarlyStoppingParametersReply) ProtoMessage()    {}
func (*SetEarlyStoppingParametersReply) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{61}
}

func (m *SetEarlyStoppingParametersReply) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

type GetEarlyStoppingParametersRequest struct {
	ParamId string `protobuf:"bytes,1,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
}

func (m *GetEarlyStoppingParametersRequest) Reset()         { *m = GetEarlyStoppingParametersRequest{} }
func (m *GetEarlyStoppingParametersRequest) String() string { return proto.CompactTextString(m) }
func (*GetEarlyStoppingParametersRequest) ProtoMessage()    {}
func (*GetEarlyStoppingParametersRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{62}
}

func (m *GetEarlyStoppingParametersRequest) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

type GetEarlyStoppingParametersReply struct {
	EarlyStoppingParameters []*EarlyStoppingParameter `protobuf:"bytes,1,rep,name=early_stopping_parameters,json=earlyStoppingParameters" json:"early_stopping_parameters,omitempty"`
}

func (m *GetEarlyStoppingParametersReply) Reset()         { *m = GetEarlyStoppingParametersReply{} }
func (m *GetEarlyStoppingParametersReply) String() string { return proto.CompactTextString(m) }
func (*GetEarlyStoppingParametersReply) ProtoMessage()    {}
func (*GetEarlyStoppingParametersReply) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{63}
}

func (m *GetEarlyStoppingParametersReply) GetEarlyStoppingParameters() []*EarlyStoppingParameter {
	if m != nil {
		return m.EarlyStoppingParameters
	}
	return nil
}

type GetEarlyStoppingParameterListRequest struct {
	StudyId string `protobuf:"bytes,1,opt,name=study_id,json=studyId" json:"study_id,omitempty"`
}

func (m *GetEarlyStoppingParameterListRequest) Reset()         { *m = GetEarlyStoppingParameterListRequest{} }
func (m *GetEarlyStoppingParameterListRequest) String() string { return proto.CompactTextString(m) }
func (*GetEarlyStoppingParameterListRequest) ProtoMessage()    {}
func (*GetEarlyStoppingParameterListRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{64}
}

func (m *GetEarlyStoppingParameterListRequest) GetStudyId() string {
	if m != nil {
		return m.StudyId
	}
	return ""
}

type EarlyStoppingParameterSet struct {
	ParamId                 string                    `protobuf:"bytes,1,opt,name=param_id,json=paramId" json:"param_id,omitempty"`
	EarlyStoppingAlgorithm  string                    `protobuf:"bytes,2,opt,name=early_stopping_algorithm,json=earlyStoppingAlgorithm" json:"early_stopping_algorithm,omitempty"`
	EarlyStoppingParameters []*EarlyStoppingParameter `protobuf:"bytes,3,rep,name=early_stopping_parameters,json=earlyStoppingParameters" json:"early_stopping_parameters,omitempty"`
}

func (m *EarlyStoppingParameterSet) Reset()                    { *m = EarlyStoppingParameterSet{} }
func (m *EarlyStoppingParameterSet) String() string            { return proto.CompactTextString(m) }
func (*EarlyStoppingParameterSet) ProtoMessage()               {}
func (*EarlyStoppingParameterSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{65} }

func (m *EarlyStoppingParameterSet) GetParamId() string {
	if m != nil {
		return m.ParamId
	}
	return ""
}

func (m *EarlyStoppingParameterSet) GetEarlyStoppingAlgorithm() string {
	if m != nil {
		return m.EarlyStoppingAlgorithm
	}
	return ""
}

func (m *EarlyStoppingParameterSet) GetEarlyStoppingParameters() []*EarlyStoppingParameter {
	if m != nil {
		return m.EarlyStoppingParameters
	}
	return nil
}

type GetEarlyStoppingParameterListReply struct {
	EarlyStoppingParameterSets []*EarlyStoppingParameterSet `protobuf:"bytes,1,rep,name=early_stopping_parameter_sets,json=earlyStoppingParameterSets" json:"early_stopping_parameter_sets,omitempty"`
}

func (m *GetEarlyStoppingParameterListReply) Reset()         { *m = GetEarlyStoppingParameterListReply{} }
func (m *GetEarlyStoppingParameterListReply) String() string { return proto.CompactTextString(m) }
func (*GetEarlyStoppingParameterListReply) ProtoMessage()    {}
func (*GetEarlyStoppingParameterListReply) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{66}
}

func (m *GetEarlyStoppingParameterListReply) GetEarlyStoppingParameterSets() []*EarlyStoppingParameterSet {
	if m != nil {
		return m.EarlyStoppingParameterSets
	}
	return nil
}

func init() {
	proto.RegisterType((*FeasibleSpace)(nil), "api.FeasibleSpace")
	proto.RegisterType((*ParameterConfig)(nil), "api.ParameterConfig")
	proto.RegisterType((*Parameter)(nil), "api.Parameter")
	proto.RegisterType((*MetricsLogSet)(nil), "api.MetricsLogSet")
	proto.RegisterType((*Metrics)(nil), "api.Metrics")
	proto.RegisterType((*MetricsLog)(nil), "api.MetricsLog")
	proto.RegisterType((*SuggestionParameter)(nil), "api.SuggestionParameter")
	proto.RegisterType((*EarlyStoppingParameter)(nil), "api.EarlyStoppingParameter")
	proto.RegisterType((*Tag)(nil), "api.Tag")
	proto.RegisterType((*MountConf)(nil), "api.MountConf")
	proto.RegisterType((*StudyOverview)(nil), "api.StudyOverview")
	proto.RegisterType((*Trial)(nil), "api.Trial")
	proto.RegisterType((*WorkerConfig)(nil), "api.WorkerConfig")
	proto.RegisterType((*Worker)(nil), "api.Worker")
	proto.RegisterType((*StudyConfig)(nil), "api.StudyConfig")
	proto.RegisterType((*StudyConfig_ParameterConfigs)(nil), "api.StudyConfig.ParameterConfigs")
	proto.RegisterType((*CreateStudyRequest)(nil), "api.CreateStudyRequest")
	proto.RegisterType((*CreateStudyReply)(nil), "api.CreateStudyReply")
	proto.RegisterType((*StopStudyRequest)(nil), "api.StopStudyRequest")
	proto.RegisterType((*StopStudyReply)(nil), "api.StopStudyReply")
	proto.RegisterType((*GetStudyRequest)(nil), "api.GetStudyRequest")
	proto.RegisterType((*GetStudyReply)(nil), "api.GetStudyReply")
	proto.RegisterType((*GetStudyListRequest)(nil), "api.GetStudyListRequest")
	proto.RegisterType((*GetStudyListReply)(nil), "api.GetStudyListReply")
	proto.RegisterType((*CreateTrialRequest)(nil), "api.CreateTrialRequest")
	proto.RegisterType((*CreateTrialReply)(nil), "api.CreateTrialReply")
	proto.RegisterType((*GetTrialsRequest)(nil), "api.GetTrialsRequest")
	proto.RegisterType((*GetTrialsReply)(nil), "api.GetTrialsReply")
	proto.RegisterType((*RunTrialRequest)(nil), "api.RunTrialRequest")
	proto.RegisterType((*RunTrialReply)(nil), "api.RunTrialReply")
	proto.RegisterType((*StopWorkersRequest)(nil), "api.StopWorkersRequest")
	proto.RegisterType((*StopWorkersReply)(nil), "api.StopWorkersReply")
	proto.RegisterType((*GetWorkersRequest)(nil), "api.GetWorkersRequest")
	proto.RegisterType((*GetWorkersReply)(nil), "api.GetWorkersReply")
	proto.RegisterType((*GetSuggestionsRequest)(nil), "api.GetSuggestionsRequest")
	proto.RegisterType((*GetSuggestionsReply)(nil), "api.GetSuggestionsReply")
	proto.RegisterType((*GetShouldStopWorkersRequest)(nil), "api.GetShouldStopWorkersRequest")
	proto.RegisterType((*GetShouldStopWorkersReply)(nil), "api.GetShouldStopWorkersReply")
	proto.RegisterType((*GetMetricsRequest)(nil), "api.GetMetricsRequest")
	proto.RegisterType((*GetMetricsReply)(nil), "api.GetMetricsReply")
	proto.RegisterType((*ModelInfo)(nil), "api.ModelInfo")
	proto.RegisterType((*DataSetInfo)(nil), "api.DataSetInfo")
	proto.RegisterType((*SaveStudyRequest)(nil), "api.SaveStudyRequest")
	proto.RegisterType((*SaveStudyReply)(nil), "api.SaveStudyReply")
	proto.RegisterType((*SaveModelRequest)(nil), "api.SaveModelRequest")
	proto.RegisterType((*SaveModelReply)(nil), "api.SaveModelReply")
	proto.RegisterType((*GetSavedStudiesRequest)(nil), "api.GetSavedStudiesRequest")
	proto.RegisterType((*GetSavedStudiesReply)(nil), "api.GetSavedStudiesReply")
	proto.RegisterType((*GetSavedModelsRequest)(nil), "api.GetSavedModelsRequest")
	proto.RegisterType((*GetSavedModelsReply)(nil), "api.GetSavedModelsReply")
	proto.RegisterType((*GetSavedModelRequest)(nil), "api.GetSavedModelRequest")
	proto.RegisterType((*GetSavedModelReply)(nil), "api.GetSavedModelReply")
	proto.RegisterType((*SetSuggestionParametersRequest)(nil), "api.SetSuggestionParametersRequest")
	proto.RegisterType((*SetSuggestionParametersReply)(nil), "api.SetSuggestionParametersReply")
	proto.RegisterType((*GetSuggestionParametersRequest)(nil), "api.GetSuggestionParametersRequest")
	proto.RegisterType((*GetSuggestionParametersReply)(nil), "api.GetSuggestionParametersReply")
	proto.RegisterType((*GetSuggestionParameterListRequest)(nil), "api.GetSuggestionParameterListRequest")
	proto.RegisterType((*SuggestionParameterSet)(nil), "api.SuggestionParameterSet")
	proto.RegisterType((*GetSuggestionParameterListReply)(nil), "api.GetSuggestionParameterListReply")
	proto.RegisterType((*StopSuggestionRequest)(nil), "api.StopSuggestionRequest")
	proto.RegisterType((*StopSuggestionReply)(nil), "api.StopSuggestionReply")
	proto.RegisterType((*SetEarlyStoppingParametersRequest)(nil), "api.SetEarlyStoppingParametersRequest")
	proto.RegisterType((*SetEarlyStoppingParametersReply)(nil), "api.SetEarlyStoppingParametersReply")
	proto.RegisterType((*GetEarlyStoppingParametersRequest)(nil), "api.GetEarlyStoppingParametersRequest")
	proto.RegisterType((*GetEarlyStoppingParametersReply)(nil), "api.GetEarlyStoppingParametersReply")
	proto.RegisterType((*GetEarlyStoppingParameterListRequest)(nil), "api.GetEarlyStoppingParameterListRequest")
	proto.RegisterType((*EarlyStoppingParameterSet)(nil), "api.EarlyStoppingParameterSet")
	proto.RegisterType((*GetEarlyStoppingParameterListReply)(nil), "api.GetEarlyStoppingParameterListReply")
	proto.RegisterEnum("api.ParameterType", ParameterType_name, ParameterType_value)
	proto.RegisterEnum("api.OptimizationType", OptimizationType_name, OptimizationType_value)
	proto.RegisterEnum("api.State", State_name, State_value)
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// Client API for Manager service

type ManagerClient interface {
	CreateStudy(ctx context.Context, in *CreateStudyRequest, opts ...grpc.CallOption) (*CreateStudyReply, error)
	StopStudy(ctx context.Context, in *StopStudyRequest, opts ...grpc.CallOption) (*StopStudyReply, error)
	GetStudy(ctx context.Context, in *GetStudyRequest, opts ...grpc.CallOption) (*GetStudyReply, error)
	GetStudyList(ctx context.Context, in *GetStudyListRequest, opts ...grpc.CallOption) (*GetStudyListReply, error)
	CreateTrial(ctx context.Context, in *CreateTrialRequest, opts ...grpc.CallOption) (*CreateTrialReply, error)
	GetTrials(ctx context.Context, in *GetTrialsRequest, opts ...grpc.CallOption) (*GetTrialsReply, error)
	RunTrial(ctx context.Context, in *RunTrialRequest, opts ...grpc.CallOption) (*RunTrialReply, error)
	StopWorkers(ctx context.Context, in *StopWorkersRequest, opts ...grpc.CallOption) (*StopWorkersReply, error)
	GetWorkers(ctx context.Context, in *GetWorkersRequest, opts ...grpc.CallOption) (*GetWorkersReply, error)
	GetSuggestions(ctx context.Context, in *GetSuggestionsRequest, opts ...grpc.CallOption) (*GetSuggestionsReply, error)
	GetShouldStopWorkers(ctx context.Context, in *GetShouldStopWorkersRequest, opts ...grpc.CallOption) (*GetShouldStopWorkersReply, error)
	GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsReply, error)
	SetSuggestionParameters(ctx context.Context, in *SetSuggestionParametersRequest, opts ...grpc.CallOption) (*SetSuggestionParametersReply, error)
	GetSuggestionParameters(ctx context.Context, in *GetSuggestionParametersRequest, opts ...grpc.CallOption) (*GetSuggestionParametersReply, error)
	GetSuggestionParameterList(ctx context.Context, in *GetSuggestionParameterListRequest, opts ...grpc.CallOption) (*GetSuggestionParameterListReply, error)
	SetEarlyStoppingParameters(ctx context.Context, in *SetEarlyStoppingParametersRequest, opts ...grpc.CallOption) (*SetEarlyStoppingParametersReply, error)
	GetEarlyStoppingParameters(ctx context.Context, in *GetEarlyStoppingParametersRequest, opts ...grpc.CallOption) (*GetEarlyStoppingParametersReply, error)
	GetEarlyStoppingParameterList(ctx context.Context, in *GetEarlyStoppingParameterListRequest, opts ...grpc.CallOption) (*GetEarlyStoppingParameterListReply, error)
	SaveStudy(ctx context.Context, in *SaveStudyRequest, opts ...grpc.CallOption) (*SaveStudyReply, error)
	SaveModel(ctx context.Context, in *SaveModelRequest, opts ...grpc.CallOption) (*SaveModelReply, error)
	GetSavedStudies(ctx context.Context, in *GetSavedStudiesRequest, opts ...grpc.CallOption) (*GetSavedStudiesReply, error)
	GetSavedModels(ctx context.Context, in *GetSavedModelsRequest, opts ...grpc.CallOption) (*GetSavedModelsReply, error)
}

type managerClient struct {
	cc *grpc.ClientConn
}

func NewManagerClient(cc *grpc.ClientConn) ManagerClient {
	return &managerClient{cc}
}

func (c *managerClient) CreateStudy(ctx context.Context, in *CreateStudyRequest, opts ...grpc.CallOption) (*CreateStudyReply, error) {
	out := new(CreateStudyReply)
	err := grpc.Invoke(ctx, "/api.Manager/CreateStudy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) StopStudy(ctx context.Context, in *StopStudyRequest, opts ...grpc.CallOption) (*StopStudyReply, error) {
	out := new(StopStudyReply)
	err := grpc.Invoke(ctx, "/api.Manager/StopStudy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetStudy(ctx context.Context, in *GetStudyRequest, opts ...grpc.CallOption) (*GetStudyReply, error) {
	out := new(GetStudyReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetStudy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetStudyList(ctx context.Context, in *GetStudyListRequest, opts ...grpc.CallOption) (*GetStudyListReply, error) {
	out := new(GetStudyListReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetStudyList", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) CreateTrial(ctx context.Context, in *CreateTrialRequest, opts ...grpc.CallOption) (*CreateTrialReply, error) {
	out := new(CreateTrialReply)
	err := grpc.Invoke(ctx, "/api.Manager/CreateTrial", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetTrials(ctx context.Context, in *GetTrialsRequest, opts ...grpc.CallOption) (*GetTrialsReply, error) {
	out := new(GetTrialsReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetTrials", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) RunTrial(ctx context.Context, in *RunTrialRequest, opts ...grpc.CallOption) (*RunTrialReply, error) {
	out := new(RunTrialReply)
	err := grpc.Invoke(ctx, "/api.Manager/RunTrial", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) StopWorkers(ctx context.Context, in *StopWorkersRequest, opts ...grpc.CallOption) (*StopWorkersReply, error) {
	out := new(StopWorkersReply)
	err := grpc.Invoke(ctx, "/api.Manager/StopWorkers", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetWorkers(ctx context.Context, in *GetWorkersRequest, opts ...grpc.CallOption) (*GetWorkersReply, error) {
	out := new(GetWorkersReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetWorkers", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetSuggestions(ctx context.Context, in *GetSuggestionsRequest, opts ...grpc.CallOption) (*GetSuggestionsReply, error) {
	out := new(GetSuggestionsReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetSuggestions", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetShouldStopWorkers(ctx context.Context, in *GetShouldStopWorkersRequest, opts ...grpc.CallOption) (*GetShouldStopWorkersReply, error) {
	out := new(GetShouldStopWorkersReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetShouldStopWorkers", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsReply, error) {
	out := new(GetMetricsReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetMetrics", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) SetSuggestionParameters(ctx context.Context, in *SetSuggestionParametersRequest, opts ...grpc.CallOption) (*SetSuggestionParametersReply, error) {
	out := new(SetSuggestionParametersReply)
	err := grpc.Invoke(ctx, "/api.Manager/SetSuggestionParameters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetSuggestionParameters(ctx context.Context, in *GetSuggestionParametersRequest, opts ...grpc.CallOption) (*GetSuggestionParametersReply, error) {
	out := new(GetSuggestionParametersReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetSuggestionParameters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetSuggestionParameterList(ctx context.Context, in *GetSuggestionParameterListRequest, opts ...grpc.CallOption) (*GetSuggestionParameterListReply, error) {
	out := new(GetSuggestionParameterListReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetSuggestionParameterList", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) SetEarlyStoppingParameters(ctx context.Context, in *SetEarlyStoppingParametersRequest, opts ...grpc.CallOption) (*SetEarlyStoppingParametersReply, error) {
	out := new(SetEarlyStoppingParametersReply)
	err := grpc.Invoke(ctx, "/api.Manager/SetEarlyStoppingParameters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetEarlyStoppingParameters(ctx context.Context, in *GetEarlyStoppingParametersRequest, opts ...grpc.CallOption) (*GetEarlyStoppingParametersReply, error) {
	out := new(GetEarlyStoppingParametersReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetEarlyStoppingParameters", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetEarlyStoppingParameterList(ctx context.Context, in *GetEarlyStoppingParameterListRequest, opts ...grpc.CallOption) (*GetEarlyStoppingParameterListReply, error) {
	out := new(GetEarlyStoppingParameterListReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetEarlyStoppingParameterList", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) SaveStudy(ctx context.Context, in *SaveStudyRequest, opts ...grpc.CallOption) (*SaveStudyReply, error) {
	out := new(SaveStudyReply)
	err := grpc.Invoke(ctx, "/api.Manager/SaveStudy", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) SaveModel(ctx context.Context, in *SaveModelRequest, opts ...grpc.CallOption) (*SaveModelReply, error) {
	out := new(SaveModelReply)
	err := grpc.Invoke(ctx, "/api.Manager/SaveModel", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetSavedStudies(ctx context.Context, in *GetSavedStudiesRequest, opts ...grpc.CallOption) (*GetSavedStudiesReply, error) {
	out := new(GetSavedStudiesReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetSavedStudies", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *managerClient) GetSavedModels(ctx context.Context, in *GetSavedModelsRequest, opts ...grpc.CallOption) (*GetSavedModelsReply, error) {
	out := new(GetSavedModelsReply)
	err := grpc.Invoke(ctx, "/api.Manager/GetSavedModels", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for Manager service

type ManagerServer interface {
	CreateStudy(context.Context, *CreateStudyRequest) (*CreateStudyReply, error)
	StopStudy(context.Context, *StopStudyRequest) (*StopStudyReply, error)
	GetStudy(context.Context, *GetStudyRequest) (*GetStudyReply, error)
	GetStudyList(context.Context, *GetStudyListRequest) (*GetStudyListReply, error)
	CreateTrial(context.Context, *CreateTrialRequest) (*CreateTrialReply, error)
	GetTrials(context.Context, *GetTrialsRequest) (*GetTrialsReply, error)
	RunTrial(context.Context, *RunTrialRequest) (*RunTrialReply, error)
	StopWorkers(context.Context, *StopWorkersRequest) (*StopWorkersReply, error)
	GetWorkers(context.Context, *GetWorkersRequest) (*GetWorkersReply, error)
	GetSuggestions(context.Context, *GetSuggestionsRequest) (*GetSuggestionsReply, error)
	GetShouldStopWorkers(context.Context, *GetShouldStopWorkersRequest) (*GetShouldStopWorkersReply, error)
	GetMetrics(context.Context, *GetMetricsRequest) (*GetMetricsReply, error)
	SetSuggestionParameters(context.Context, *SetSuggestionParametersRequest) (*SetSuggestionParametersReply, error)
	GetSuggestionParameters(context.Context, *GetSuggestionParametersRequest) (*GetSuggestionParametersReply, error)
	GetSuggestionParameterList(context.Context, *GetSuggestionParameterListRequest) (*GetSuggestionParameterListReply, error)
	SetEarlyStoppingParameters(context.Context, *SetEarlyStoppingParametersRequest) (*SetEarlyStoppingParametersReply, error)
	GetEarlyStoppingParameters(context.Context, *GetEarlyStoppingParametersRequest) (*GetEarlyStoppingParametersReply, error)
	GetEarlyStoppingParameterList(context.Context, *GetEarlyStoppingParameterListRequest) (*GetEarlyStoppingParameterListReply, error)
	SaveStudy(context.Context, *SaveStudyRequest) (*SaveStudyReply, error)
	SaveModel(context.Context, *SaveModelRequest) (*SaveModelReply, error)
	GetSavedStudies(context.Context, *GetSavedStudiesRequest) (*GetSavedStudiesReply, error)
	GetSavedModels(context.Context, *GetSavedModelsRequest) (*GetSavedModelsReply, error)
}

func RegisterManagerServer(s *grpc.Server, srv ManagerServer) {
	s.RegisterService(&_Manager_serviceDesc, srv)
}

func _Manager_CreateStudy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateStudyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).CreateStudy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/CreateStudy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).CreateStudy(ctx, req.(*CreateStudyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_StopStudy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopStudyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).StopStudy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/StopStudy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).StopStudy(ctx, req.(*StopStudyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetStudy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetStudyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetStudy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetStudy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetStudy(ctx, req.(*GetStudyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetStudyList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetStudyListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetStudyList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetStudyList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetStudyList(ctx, req.(*GetStudyListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_CreateTrial_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateTrialRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).CreateTrial(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/CreateTrial",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).CreateTrial(ctx, req.(*CreateTrialRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetTrials_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTrialsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetTrials(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetTrials",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetTrials(ctx, req.(*GetTrialsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_RunTrial_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RunTrialRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).RunTrial(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/RunTrial",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).RunTrial(ctx, req.(*RunTrialRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_StopWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StopWorkersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).StopWorkers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/StopWorkers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).StopWorkers(ctx, req.(*StopWorkersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetWorkersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetWorkers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetWorkers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetWorkers(ctx, req.(*GetWorkersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetSuggestions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSuggestionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetSuggestions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetSuggestions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetSuggestions(ctx, req.(*GetSuggestionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetShouldStopWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetShouldStopWorkersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetShouldStopWorkers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetShouldStopWorkers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetShouldStopWorkers(ctx, req.(*GetShouldStopWorkersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetMetricsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetMetrics(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetMetrics",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetMetrics(ctx, req.(*GetMetricsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_SetSuggestionParameters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetSuggestionParametersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).SetSuggestionParameters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/SetSuggestionParameters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).SetSuggestionParameters(ctx, req.(*SetSuggestionParametersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetSuggestionParameters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSuggestionParametersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetSuggestionParameters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetSuggestionParameters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetSuggestionParameters(ctx, req.(*GetSuggestionParametersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetSuggestionParameterList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSuggestionParameterListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetSuggestionParameterList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetSuggestionParameterList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetSuggestionParameterList(ctx, req.(*GetSuggestionParameterListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_SetEarlyStoppingParameters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetEarlyStoppingParametersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).SetEarlyStoppingParameters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/SetEarlyStoppingParameters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).SetEarlyStoppingParameters(ctx, req.(*SetEarlyStoppingParametersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetEarlyStoppingParameters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetEarlyStoppingParametersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetEarlyStoppingParameters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetEarlyStoppingParameters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetEarlyStoppingParameters(ctx, req.(*GetEarlyStoppingParametersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetEarlyStoppingParameterList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetEarlyStoppingParameterListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetEarlyStoppingParameterList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetEarlyStoppingParameterList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetEarlyStoppingParameterList(ctx, req.(*GetEarlyStoppingParameterListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_SaveStudy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SaveStudyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).SaveStudy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/SaveStudy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).SaveStudy(ctx, req.(*SaveStudyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_SaveModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SaveModelRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).SaveModel(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/SaveModel",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).SaveModel(ctx, req.(*SaveModelRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetSavedStudies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSavedStudiesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetSavedStudies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetSavedStudies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetSavedStudies(ctx, req.(*GetSavedStudiesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Manager_GetSavedModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSavedModelsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ManagerServer).GetSavedModels(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Manager/GetSavedModels",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ManagerServer).GetSavedModels(ctx, req.(*GetSavedModelsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Manager_serviceDesc = grpc.ServiceDesc{
	ServiceName: "api.Manager",
	HandlerType: (*ManagerServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateStudy",
			Handler:    _Manager_CreateStudy_Handler,
		},
		{
			MethodName: "StopStudy",
			Handler:    _Manager_StopStudy_Handler,
		},
		{
			MethodName: "GetStudy",
			Handler:    _Manager_GetStudy_Handler,
		},
		{
			MethodName: "GetStudyList",
			Handler:    _Manager_GetStudyList_Handler,
		},
		{
			MethodName: "CreateTrial",
			Handler:    _Manager_CreateTrial_Handler,
		},
		{
			MethodName: "GetTrials",
			Handler:    _Manager_GetTrials_Handler,
		},
		{
			MethodName: "RunTrial",
			Handler:    _Manager_RunTrial_Handler,
		},
		{
			MethodName: "StopWorkers",
			Handler:    _Manager_StopWorkers_Handler,
		},
		{
			MethodName: "GetWorkers",
			Handler:    _Manager_GetWorkers_Handler,
		},
		{
			MethodName: "GetSuggestions",
			Handler:    _Manager_GetSuggestions_Handler,
		},
		{
			MethodName: "GetShouldStopWorkers",
			Handler:    _Manager_GetShouldStopWorkers_Handler,
		},
		{
			MethodName: "GetMetrics",
			Handler:    _Manager_GetMetrics_Handler,
		},
		{
			MethodName: "SetSuggestionParameters",
			Handler:    _Manager_SetSuggestionParameters_Handler,
		},
		{
			MethodName: "GetSuggestionParameters",
			Handler:    _Manager_GetSuggestionParameters_Handler,
		},
		{
			MethodName: "GetSuggestionParameterList",
			Handler:    _Manager_GetSuggestionParameterList_Handler,
		},
		{
			MethodName: "SetEarlyStoppingParameters",
			Handler:    _Manager_SetEarlyStoppingParameters_Handler,
		},
		{
			MethodName: "GetEarlyStoppingParameters",
			Handler:    _Manager_GetEarlyStoppingParameters_Handler,
		},
		{
			MethodName: "GetEarlyStoppingParameterList",
			Handler:    _Manager_GetEarlyStoppingParameterList_Handler,
		},
		{
			MethodName: "SaveStudy",
			Handler:    _Manager_SaveStudy_Handler,
		},
		{
			MethodName: "SaveModel",
			Handler:    _Manager_SaveModel_Handler,
		},
		{
			MethodName: "GetSavedStudies",
			Handler:    _Manager_GetSavedStudies_Handler,
		},
		{
			MethodName: "GetSavedModels",
			Handler:    _Manager_GetSavedModels_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

// Client API for Suggestion service

type SuggestionClient interface {
	GetSuggestions(ctx context.Context, in *GetSuggestionsRequest, opts ...grpc.CallOption) (*GetSuggestionsReply, error)
}

type suggestionClient struct {
	cc *grpc.ClientConn
}

func NewSuggestionClient(cc *grpc.ClientConn) SuggestionClient {
	return &suggestionClient{cc}
}

func (c *suggestionClient) GetSuggestions(ctx context.Context, in *GetSuggestionsRequest, opts ...grpc.CallOption) (*GetSuggestionsReply, error) {
	out := new(GetSuggestionsReply)
	err := grpc.Invoke(ctx, "/api.Suggestion/GetSuggestions", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for Suggestion service

type SuggestionServer interface {
	GetSuggestions(context.Context, *GetSuggestionsRequest) (*GetSuggestionsReply, error)
}

func RegisterSuggestionServer(s *grpc.Server, srv SuggestionServer) {
	s.RegisterService(&_Suggestion_serviceDesc, srv)
}

func _Suggestion_GetSuggestions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSuggestionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(SuggestionServer).GetSuggestions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.Suggestion/GetSuggestions",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(SuggestionServer).GetSuggestions(ctx, req.(*GetSuggestionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Suggestion_serviceDesc = grpc.ServiceDesc{
	ServiceName: "api.Suggestion",
	HandlerType: (*SuggestionServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetSuggestions",
			Handler:    _Suggestion_GetSuggestions_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

// Client API for EarlyStopping service

type EarlyStoppingClient interface {
	GetShouldStopWorkers(ctx context.Context, in *GetShouldStopWorkersRequest, opts ...grpc.CallOption) (*GetShouldStopWorkersReply, error)
}

type earlyStoppingClient struct {
	cc *grpc.ClientConn
}

func NewEarlyStoppingClient(cc *grpc.ClientConn) EarlyStoppingClient {
	return &earlyStoppingClient{cc}
}

func (c *earlyStoppingClient) GetShouldStopWorkers(ctx context.Context, in *GetShouldStopWorkersRequest, opts ...grpc.CallOption) (*GetShouldStopWorkersReply, error) {
	out := new(GetShouldStopWorkersReply)
	err := grpc.Invoke(ctx, "/api.EarlyStopping/GetShouldStopWorkers", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for EarlyStopping service

type EarlyStoppingServer interface {
	GetShouldStopWorkers(context.Context, *GetShouldStopWorkersRequest) (*GetShouldStopWorkersReply, error)
}

func RegisterEarlyStoppingServer(s *grpc.Server, srv EarlyStoppingServer) {
	s.RegisterService(&_EarlyStopping_serviceDesc, srv)
}

func _EarlyStopping_GetShouldStopWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetShouldStopWorkersRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(EarlyStoppingServer).GetShouldStopWorkers(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/api.EarlyStopping/GetShouldStopWorkers",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(EarlyStoppingServer).GetShouldStopWorkers(ctx, req.(*GetShouldStopWorkersRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _EarlyStopping_serviceDesc = grpc.ServiceDesc{
	ServiceName: "api.EarlyStopping",
	HandlerType: (*EarlyStoppingServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetShouldStopWorkers",
			Handler:    _EarlyStopping_GetShouldStopWorkers_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "api.proto",
}

func init() { proto.RegisterFile("api.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 2384 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x3a, 0xcd, 0x73, 0xdb, 0xc6,
	0xf5, 0x06, 0x29, 0x8a, 0xe4, 0xe3, 0x87, 0xe0, 0xd5, 0x87, 0x21, 0xfa, 0x4b, 0x46, 0x1c, 0xc7,
	0x71, 0x1c, 0xe5, 0x17, 0xd9, 0x3f, 0xc7, 0x4e, 0xe2, 0xb6, 0xb2, 0xc4, 0xb0, 0x9c, 0x48, 0x94,
	0x06, 0xa4, 0xeb, 0xb4, 0x17, 0x0e, 0x4c, 0xae, 0x69, 0x24, 0x24, 0x81, 0x62, 0x41, 0x39, 0xca,
	0xb9, 0x33, 0xed, 0xa5, 0x33, 0xed, 0xb1, 0x7f, 0x48, 0x0e, 0xbd, 0xf4, 0xde, 0x43, 0x8f, 0x9d,
	0xe9, 0xb9, 0xe7, 0xfe, 0x11, 0x9d, 0xfd, 0x00, 0xb0, 0x00, 0x01, 0x90, 0x91, 0x93, 0xde, 0xb0,
	0xfb, 0xde, 0xbe, 0xef, 0xf7, 0xf6, 0xbd, 0x25, 0xa1, 0x6c, 0x3a, 0xd6, 0xae, 0xe3, 0xda, 0x9e,
	0x8d, 0xf2, 0xa6, 0x63, 0xe9, 0x2d, 0xa8, 0x7d, 0x81, 0x4d, 0x62, 0xbd, 0x1c, 0xe3, 0xae, 0x63,
	0x0e, 0x30, 0x52, 0x21, 0x3f, 0x31, 0xbf, 0xd5, 0x94, 0x1d, 0xe5, 0x6e, 0xd9, 0xa0, 0x9f, 0x6c,
	0xc7, 0x9a, 0x6a, 0x39, 0xb1, 0x63, 0x4d, 0x11, 0x82, 0x95, 0xb1, 0x45, 0x3c, 0x2d, 0xbf, 0x93,
	0xbf, 0x5b, 0x36, 0xd8, 0xb7, 0xfe, 0x27, 0x05, 0xd6, 0x4e, 0x4d, 0xd7, 0x9c, 0x60, 0x0f, 0xbb,
	0x07, 0xf6, 0xf4, 0x95, 0x35, 0xa2, 0x78, 0x53, 0x73, 0x82, 0x05, 0x31, 0xf6, 0x8d, 0x9e, 0x40,
	0xdd, 0xf1, 0xd1, 0xfa, 0xde, 0xb9, 0x83, 0x19, 0xe1, 0xfa, 0x1e, 0xda, 0xa5, 0x92, 0x05, 0x14,
	0x7a, 0xe7, 0x0e, 0x36, 0x6a, 0x8e, 0xbc, 0x44, 0xbb, 0x50, 0x7a, 0x25, 0x64, 0xd5, 0xf2, 0x3b,
	0xca, 0xdd, 0x8a, 0x38, 0x14, 0x51, 0xc0, 0x08, 0x70, 0x74, 0x07, 0xca, 0x01, 0xbd, 0x1f, 0x5b,
	0x96, 0x0d, 0x28, 0x9c, 0x99, 0xe3, 0x19, 0x17, 0xa4, 0x6c, 0xf0, 0x85, 0xfe, 0x67, 0x05, 0x6a,
	0xc7, 0xd8, 0x73, 0xad, 0x01, 0x39, 0xb2, 0x47, 0x5d, 0xec, 0xa1, 0xab, 0x50, 0x7e, 0x63, 0xbb,
	0xdf, 0x60, 0xb7, 0x6f, 0x0d, 0x05, 0xef, 0x12, 0xdf, 0x68, 0x0f, 0xd1, 0x1e, 0x54, 0x27, 0x1c,
	0xbb, 0x3f, 0xb6, 0x47, 0x44, 0xcb, 0xed, 0xe4, 0xef, 0x56, 0xf6, 0xd6, 0x18, 0xf7, 0x90, 0x8c,
	0x51, 0x99, 0x04, 0xdf, 0x04, 0x7d, 0x04, 0x35, 0x41, 0x90, 0x78, 0xa6, 0x37, 0x23, 0x4c, 0x80,
	0xfa, 0x1e, 0xb0, 0x43, 0x5d, 0xcf, 0xf4, 0xb0, 0x51, 0xe5, 0x08, 0x5d, 0x06, 0xd7, 0x1f, 0x40,
	0x51, 0xd0, 0x4a, 0xb4, 0x41, 0xa0, 0x48, 0x4e, 0x56, 0xe4, 0x31, 0x40, 0x28, 0x40, 0xe2, 0xb9,
	0x2d, 0x58, 0x65, 0xa8, 0x5c, 0xea, 0xb2, 0x21, 0x56, 0xfa, 0xcf, 0x61, 0xbd, 0x3b, 0x1b, 0x8d,
	0x30, 0xf1, 0x2c, 0x7b, 0x9a, 0x6d, 0xfe, 0x64, 0xd6, 0xcf, 0x60, 0xab, 0x69, 0xba, 0xe3, 0xf3,
	0xae, 0x67, 0x3b, 0x8e, 0x35, 0x1d, 0x5d, 0x84, 0xc6, 0x47, 0x90, 0xef, 0x99, 0xa3, 0x1f, 0x70,
	0xe0, 0x63, 0x28, 0x1f, 0xdb, 0xb3, 0xa9, 0x47, 0x03, 0x97, 0x06, 0xbc, 0x73, 0x36, 0xf0, 0x53,
	0xc0, 0x39, 0x1b, 0x50, 0x42, 0x8e, 0xe9, 0xbd, 0x16, 0x67, 0xd8, 0xb7, 0xfe, 0x0d, 0xd4, 0xba,
	0xde, 0x6c, 0x78, 0x7e, 0x72, 0x86, 0xdd, 0x33, 0x0b, 0xbf, 0x49, 0xe3, 0x66, 0xbf, 0x99, 0x62,
	0xd7, 0xe7, 0xc6, 0x16, 0xa8, 0x0e, 0x39, 0x6b, 0x28, 0x22, 0x27, 0x67, 0x0d, 0xd1, 0x0e, 0x54,
	0x86, 0x98, 0x0c, 0x5c, 0xcb, 0xa1, 0x46, 0xd3, 0x56, 0x18, 0x40, 0xde, 0xd2, 0xff, 0xaa, 0x40,
	0xa1, 0xe7, 0x5a, 0xe6, 0x18, 0x6d, 0x43, 0xc9, 0xa3, 0x1f, 0x61, 0x3c, 0x15, 0xd9, 0xba, 0x3d,
	0xa4, 0x20, 0x42, 0x25, 0xa2, 0x20, 0xce, 0xaf, 0xc8, 0xd6, 0xed, 0x21, 0x7a, 0x00, 0x61, 0xfc,
	0xf6, 0x09, 0xe6, 0xa9, 0x5b, 0xd9, 0xab, 0x47, 0x03, 0xdd, 0xa8, 0x06, 0x48, 0x34, 0x76, 0xdf,
	0x83, 0x35, 0xfb, 0xe5, 0xd7, 0x78, 0xe0, 0x59, 0x67, 0xb8, 0xcf, 0x8d, 0xc6, 0x45, 0xab, 0x07,
	0xdb, 0xbf, 0xa2, 0xbb, 0xe8, 0x1a, 0xac, 0x78, 0xe6, 0x88, 0x68, 0x05, 0x46, 0xb4, 0xc4, 0x88,
	0xf6, 0xcc, 0x91, 0xc1, 0x76, 0xf5, 0xef, 0x15, 0xa8, 0xbe, 0x60, 0x11, 0x29, 0xca, 0xc2, 0x06,
	0x14, 0xac, 0x89, 0x39, 0xf2, 0x2d, 0xc5, 0x17, 0x48, 0x83, 0xe2, 0xc0, 0x9e, 0x4c, 0xcc, 0xe9,
	0x50, 0x44, 0x94, 0xbf, 0xa4, 0xfe, 0x18, 0x39, 0x33, 0x66, 0xaf, 0x82, 0x41, 0x3f, 0xd1, 0x35,
	0x28, 0x93, 0xc1, 0x6b, 0x3c, 0x9c, 0x8d, 0xb1, 0x2b, 0x64, 0x0a, 0x37, 0xd0, 0x6d, 0x28, 0x4c,
	0xa8, 0x33, 0xb5, 0x02, 0x2b, 0x12, 0x5c, 0xc9, 0xc0, 0xbd, 0x06, 0x07, 0xa2, 0x9b, 0x50, 0x71,
	0x66, 0xe3, 0x71, 0x9f, 0xe0, 0x81, 0x8b, 0x3d, 0x6d, 0x95, 0x51, 0x01, 0xba, 0xd5, 0x65, 0x3b,
	0xfa, 0xbf, 0x15, 0x58, 0xe5, 0x72, 0x67, 0x67, 0x71, 0x86, 0xd9, 0x65, 0x67, 0xe5, 0xa3, 0xce,
	0xd2, 0xa0, 0xe8, 0xce, 0xa6, 0x9e, 0x35, 0xf1, 0x8d, 0xea, 0x2f, 0x91, 0x0e, 0xab, 0x22, 0xb5,
	0x0b, 0x73, 0xa9, 0x2d, 0x20, 0xe8, 0x7d, 0x58, 0x1d, 0x30, 0x63, 0x32, 0xb9, 0x2b, 0x7b, 0x97,
	0x19, 0x8e, 0x6c, 0x65, 0x43, 0x20, 0x04, 0xce, 0x29, 0x26, 0x3a, 0xe7, 0x9f, 0x79, 0xa8, 0xb0,
	0x30, 0xce, 0x28, 0xd9, 0xc9, 0x41, 0xfc, 0x0c, 0x2e, 0xdb, 0x8e, 0x67, 0x4d, 0xac, 0xef, 0x4c,
	0x1a, 0xa2, 0xbc, 0x7e, 0xf2, 0x62, 0xb4, 0xc9, 0x98, 0x9c, 0x48, 0x50, 0x56, 0x42, 0x55, 0x3b,
	0xb6, 0x83, 0x3e, 0x88, 0xd1, 0x18, 0xd9, 0xe6, 0x98, 0x99, 0x43, 0x89, 0x22, 0xb7, 0x6c, 0x73,
	0x8c, 0x3a, 0x70, 0x39, 0x8c, 0x61, 0xae, 0x1c, 0x11, 0x2e, 0xbe, 0x25, 0x4c, 0x14, 0xe8, 0xb1,
	0x1b, 0xbb, 0x8a, 0x88, 0xa1, 0x3a, 0xb1, 0x1d, 0xf4, 0x21, 0x20, 0x73, 0x30, 0xc0, 0x84, 0xf4,
	0x1d, 0xec, 0x4e, 0x2c, 0x42, 0x2c, 0x7b, 0x4a, 0xb4, 0x55, 0x16, 0x7b, 0x97, 0x39, 0xe4, 0x34,
	0x04, 0x64, 0xdb, 0x11, 0xfd, 0x1f, 0x6c, 0xc4, 0x72, 0xa5, 0xcf, 0xec, 0x58, 0x62, 0x26, 0x43,
	0xd1, 0x84, 0xe9, 0x50, 0xab, 0x6a, 0x50, 0x14, 0x75, 0x5d, 0x2b, 0xf3, 0x78, 0x17, 0xcb, 0xc6,
	0x33, 0x50, 0xe3, 0xe2, 0xa3, 0x5d, 0x9a, 0x1d, 0x5c, 0x65, 0x85, 0x09, 0xb0, 0x11, 0x4d, 0x5d,
	0xe1, 0x74, 0x1f, 0x49, 0x6f, 0x03, 0x3a, 0x70, 0xb1, 0xe9, 0x61, 0x66, 0x14, 0x03, 0xff, 0x76,
	0x86, 0x89, 0x87, 0x1e, 0x40, 0x95, 0x87, 0xaa, 0x08, 0x1e, 0x85, 0x59, 0x4f, 0x8d, 0x5b, 0xcf,
	0xa8, 0x90, 0x70, 0xa1, 0x7f, 0x08, 0x6a, 0x84, 0x94, 0x33, 0x3e, 0x8f, 0xc4, 0xbc, 0x12, 0x89,
	0x79, 0x8a, 0x4e, 0x4b, 0x77, 0x84, 0x6f, 0x06, 0xba, 0x0a, 0x75, 0x09, 0xdd, 0x19, 0x9f, 0xeb,
	0xf7, 0x61, 0xad, 0x85, 0xbd, 0x65, 0xcf, 0x1f, 0x42, 0x2d, 0xc4, 0xa6, 0xa2, 0x5d, 0x48, 0xc7,
	0x4d, 0x58, 0xf7, 0xa9, 0x1c, 0x59, 0xc4, 0x13, 0x7c, 0xf5, 0x53, 0xb8, 0x1c, 0xdd, 0xa6, 0x0c,
	0x3e, 0x83, 0x35, 0xce, 0xc0, 0x16, 0x95, 0xdf, 0x77, 0x09, 0x0a, 0x79, 0xf8, 0x97, 0x82, 0x51,
	0x27, 0xf2, 0x92, 0xe8, 0x8f, 0x7c, 0xbf, 0xb0, 0x6a, 0xee, 0xeb, 0xb7, 0x03, 0x05, 0x56, 0x17,
	0x84, 0xb0, 0x3c, 0xe3, 0x39, 0x06, 0x07, 0x84, 0x4e, 0x10, 0xe7, 0x84, 0x13, 0x52, 0xae, 0x02,
	0x8a, 0xde, 0xc2, 0x1e, 0xc3, 0x25, 0x4b, 0x18, 0xf1, 0x21, 0xd4, 0x25, 0x74, 0x4a, 0x5b, 0x87,
	0x55, 0x46, 0xcb, 0xd7, 0x4d, 0x16, 0x49, 0x40, 0xf4, 0xbf, 0x28, 0xb0, 0x66, 0xcc, 0xa6, 0x11,
	0x4d, 0xd2, 0x99, 0x44, 0xc4, 0xcd, 0xa5, 0x16, 0xc3, 0x7c, 0xb4, 0x18, 0x3e, 0x0a, 0xda, 0x1d,
	0xe1, 0xce, 0x95, 0xb4, 0x7a, 0x27, 0xba, 0x1e, 0xe1, 0xd0, 0xfb, 0x50, 0x0b, 0x45, 0xa3, 0x0a,
	0x65, 0x95, 0x70, 0xdd, 0x06, 0x44, 0x83, 0x90, 0xd3, 0x5b, 0xc2, 0x60, 0xe8, 0x3a, 0x40, 0x40,
	0xcd, 0xef, 0x80, 0xca, 0x3e, 0x39, 0x42, 0xef, 0x16, 0x8b, 0xf4, 0x07, 0xf6, 0xc4, 0x19, 0x63,
	0x8f, 0xeb, 0x54, 0x32, 0xc0, 0x22, 0x07, 0x62, 0x47, 0x47, 0x3c, 0x49, 0x02, 0x86, 0x34, 0xee,
	0x5f, 0xb1, 0x60, 0x5b, 0x5e, 0x86, 0x0c, 0x7b, 0x46, 0x94, 0xcd, 0xc7, 0x94, 0x7d, 0xcc, 0xf2,
	0x4b, 0x66, 0x8d, 0xde, 0x85, 0x22, 0x07, 0xfb, 0xee, 0xae, 0x48, 0xf6, 0x35, 0x7c, 0x98, 0xfe,
	0x0f, 0x05, 0x36, 0x69, 0x3e, 0x04, 0xfd, 0xdd, 0x32, 0x62, 0x7e, 0x0c, 0x1b, 0x24, 0x38, 0xd0,
	0x37, 0xc7, 0x23, 0xdb, 0xb5, 0xbc, 0xd7, 0x13, 0x21, 0xf2, 0x7a, 0x08, 0xdb, 0xf7, 0x41, 0xe8,
	0x5d, 0xa8, 0xbb, 0x9c, 0x70, 0x7f, 0x3a, 0x9b, 0xbc, 0xc4, 0xae, 0xb8, 0xfb, 0x6b, 0x62, 0xb7,
	0xc3, 0x36, 0xd1, 0x6d, 0xa8, 0x8f, 0xed, 0x51, 0x5f, 0x72, 0xc4, 0x0a, 0x73, 0x44, 0x75, 0x6c,
	0x8f, 0x5e, 0x04, 0xbe, 0xd8, 0x86, 0x12, 0x2b, 0xfd, 0x54, 0xb4, 0x02, 0x17, 0x8d, 0xad, 0xdb,
	0x43, 0xfd, 0x09, 0xcf, 0x7a, 0x59, 0x9d, 0x65, 0x63, 0xff, 0x8f, 0x0a, 0x5c, 0xa5, 0x67, 0x5f,
	0xdb, 0xb3, 0xf1, 0xf0, 0x87, 0xc5, 0xce, 0x63, 0xd0, 0x30, 0x6d, 0x70, 0xfb, 0x44, 0x74, 0xb8,
	0x73, 0x46, 0xd9, 0xc2, 0x72, 0x03, 0x1c, 0xda, 0x25, 0x43, 0x95, 0x53, 0xd8, 0x4e, 0x16, 0x87,
	0x97, 0xc4, 0x2d, 0xc2, 0x20, 0x8c, 0xa5, 0x6c, 0x30, 0x85, 0x19, 0x6c, 0x9d, 0xc4, 0xce, 0xb5,
	0x87, 0x44, 0x77, 0x59, 0x38, 0x8a, 0x29, 0xe0, 0xed, 0x53, 0xe2, 0x1d, 0xa8, 0xf9, 0xb3, 0x0e,
	0xbd, 0x18, 0x89, 0x18, 0x1e, 0xfd, 0x01, 0x88, 0x5e, 0x89, 0x44, 0x3f, 0x61, 0xa1, 0x19, 0xf0,
	0xa4, 0xb2, 0x7f, 0x0e, 0xaa, 0x34, 0x23, 0xd1, 0xde, 0x35, 0x5a, 0x6e, 0x23, 0xe3, 0x96, 0x51,
	0x9f, 0xc8, 0x4b, 0xa2, 0xff, 0x4d, 0xa1, 0x8d, 0xfd, 0x10, 0x8f, 0xdb, 0xd3, 0x57, 0x36, 0x15,
	0x91, 0x4b, 0x2f, 0xb5, 0x38, 0x65, 0xb6, 0xc3, 0x6e, 0xe4, 0x48, 0xd6, 0xe4, 0x62, 0x5d, 0xde,
	0x2e, 0x40, 0xd0, 0x41, 0x90, 0x94, 0xf6, 0x59, 0xc2, 0x40, 0x77, 0xc2, 0xeb, 0x7d, 0x85, 0x21,
	0x57, 0x65, 0x71, 0x83, 0xcb, 0x9e, 0xca, 0x34, 0xa1, 0x02, 0xf6, 0xd9, 0x80, 0xc1, 0xbd, 0x5a,
	0x66, 0x3b, 0xa7, 0x74, 0xca, 0xf8, 0x7f, 0xa8, 0x1c, 0x9a, 0x9e, 0xd9, 0xc5, 0x1e, 0xd3, 0x20,
	0xa9, 0x3d, 0x4b, 0x1a, 0x4e, 0x2c, 0x50, 0xbb, 0xe6, 0x59, 0xf4, 0xf2, 0x5f, 0xa0, 0x7d, 0x72,
	0x97, 0x17, 0x1b, 0x4d, 0xf2, 0xf3, 0xa3, 0x09, 0xbd, 0xc0, 0x43, 0x56, 0xb4, 0x90, 0xfd, 0x41,
	0xe1, 0xdc, 0x99, 0xe1, 0x7d, 0xee, 0xac, 0x29, 0x1f, 0x62, 0xff, 0x8a, 0xf3, 0x9b, 0x72, 0xe1,
	0x1a, 0x83, 0x03, 0xd1, 0x07, 0x50, 0x1a, 0x9a, 0x9e, 0xc9, 0x46, 0x94, 0x9c, 0x74, 0x71, 0x4b,
	0x36, 0x30, 0x8a, 0x43, 0xbe, 0x40, 0xb7, 0xa0, 0xea, 0xe1, 0x29, 0xb1, 0xdd, 0xfe, 0x4b, 0xdb,
	0x74, 0x87, 0xa2, 0xcc, 0x56, 0xf8, 0xde, 0x33, 0xba, 0xe5, 0x0b, 0x27, 0x24, 0xa1, 0xc2, 0x69,
	0xb0, 0x45, 0x13, 0xc5, 0x3c, 0xc3, 0x43, 0x2a, 0xb2, 0x85, 0xfd, 0xd8, 0xd6, 0x0f, 0x61, 0x63,
	0x0e, 0x42, 0x23, 0xf0, 0x3e, 0xb0, 0x18, 0xb7, 0x70, 0xd6, 0x3d, 0xef, 0xa3, 0xe8, 0x8f, 0x78,
	0x89, 0xa4, 0x54, 0x18, 0x57, 0xb2, 0x9c, 0xf9, 0xf5, 0xa7, 0xbc, 0x16, 0xc9, 0xe7, 0x28, 0xf3,
	0x3b, 0xb0, 0xca, 0x2c, 0xe3, 0xf3, 0x8e, 0xdb, 0x4d, 0x40, 0x75, 0x23, 0x14, 0x3e, 0x62, 0xf6,
	0xb7, 0x08, 0x79, 0xfd, 0x53, 0x40, 0x31, 0x9a, 0x54, 0xa2, 0xa5, 0x1c, 0xa9, 0xff, 0x4b, 0x81,
	0x1b, 0x5d, 0xb9, 0xb6, 0x06, 0x59, 0xf2, 0x13, 0xdd, 0x19, 0x72, 0x6d, 0xcc, 0x47, 0x6a, 0x23,
	0x3a, 0x86, 0x4d, 0x89, 0x9a, 0x94, 0xc5, 0x3c, 0x31, 0x35, 0xee, 0xce, 0x79, 0x49, 0x0d, 0x49,
	0x88, 0x50, 0x7c, 0xfd, 0x09, 0x5c, 0x4b, 0xd5, 0x4c, 0xb4, 0x65, 0x81, 0x24, 0x4a, 0xb4, 0x4a,
	0x7f, 0x06, 0x37, 0x5a, 0x0b, 0x8d, 0x92, 0x76, 0x78, 0x02, 0xd7, 0x5a, 0x59, 0x7c, 0x53, 0xd5,
	0x54, 0x2e, 0xa4, 0xe6, 0xcf, 0xe0, 0x56, 0x32, 0x3b, 0xa9, 0x41, 0xce, 0xea, 0x29, 0xbf, 0x57,
	0x60, 0x2b, 0xe1, 0x34, 0x4d, 0xdc, 0x74, 0x25, 0x2f, 0xe2, 0xf9, 0x54, 0xbd, 0xf3, 0x17, 0xd2,
	0xfb, 0x3b, 0xb8, 0x99, 0xa5, 0x37, 0xb5, 0xf4, 0x0b, 0xd8, 0x4e, 0xe2, 0x28, 0x5f, 0x4e, 0x57,
	0xd3, 0xb8, 0xd2, 0x5b, 0xea, 0x0a, 0x49, 0xdc, 0x27, 0xfa, 0x1e, 0x6c, 0xb2, 0x61, 0x28, 0x00,
	0x2f, 0x61, 0xe7, 0x4d, 0x58, 0x8f, 0x9f, 0xa1, 0x75, 0xee, 0x3f, 0x0a, 0xdc, 0xea, 0x62, 0x2f,
	0xf9, 0x29, 0xed, 0x7f, 0xd7, 0xa6, 0xc4, 0x52, 0xf1, 0x05, 0x6c, 0xc7, 0x88, 0xce, 0xa5, 0x23,
	0xb7, 0x5c, 0xb2, 0xdc, 0xc6, 0x15, 0x9c, 0xac, 0x8f, 0xfe, 0x39, 0xdc, 0xcc, 0xd2, 0x76, 0x41,
	0x5e, 0xf2, 0x58, 0x5f, 0x6c, 0xab, 0xb4, 0xf3, 0x3c, 0x66, 0x32, 0xb9, 0x67, 0x6a, 0xae, 0xbc,
	0x85, 0xe6, 0xfb, 0x70, 0x3b, 0x95, 0xf7, 0x92, 0xa9, 0xfa, 0x77, 0x05, 0xb6, 0x93, 0x09, 0x2c,
	0xc8, 0xd6, 0x8b, 0xc7, 0x48, 0xa6, 0x39, 0xf2, 0x6f, 0x61, 0x8e, 0xdf, 0x2b, 0xa0, 0x2f, 0xb0,
	0x07, 0x75, 0x87, 0x09, 0xd7, 0xd3, 0xf8, 0xcb, 0x69, 0x7c, 0x23, 0x43, 0x06, 0x9a, 0xc9, 0x0d,
	0x9c, 0x06, 0x22, 0xf7, 0x9e, 0x43, 0x2d, 0xf2, 0x13, 0x02, 0x52, 0xa1, 0xfa, 0xbc, 0xf3, 0x65,
	0xe7, 0xe4, 0x45, 0xa7, 0xdf, 0xfb, 0xf5, 0x69, 0x53, 0xbd, 0x84, 0x00, 0x56, 0x0f, 0x4f, 0x9e,
	0x3f, 0x3b, 0x6a, 0xaa, 0x0a, 0x2a, 0x42, 0xbe, 0xdd, 0xe9, 0xa9, 0x39, 0x54, 0x85, 0xd2, 0x61,
	0xbb, 0x7b, 0x60, 0x34, 0x7b, 0x4d, 0x35, 0x8f, 0xd6, 0xa0, 0x72, 0xb0, 0xdf, 0x6b, 0xb6, 0x4e,
	0x8c, 0xf6, 0xc1, 0xfe, 0x91, 0xba, 0x72, 0xef, 0x97, 0xa0, 0xc6, 0x5f, 0xd6, 0x90, 0x06, 0x1b,
	0x3e, 0xe5, 0x93, 0xd3, 0x5e, 0xfb, 0xb8, 0xfd, 0x9b, 0xfd, 0x5e, 0xfb, 0xa4, 0xa3, 0x5e, 0xa2,
	0xc4, 0x8e, 0xdb, 0x1d, 0xba, 0x43, 0x79, 0xd0, 0xd5, 0xfe, 0x57, 0x7c, 0x95, 0xbb, 0xd7, 0x82,
	0x02, 0x7b, 0x55, 0x44, 0x15, 0x28, 0x9e, 0x36, 0x3b, 0x87, 0xed, 0x4e, 0x4b, 0xbd, 0x44, 0x17,
	0xc6, 0xf3, 0x4e, 0x87, 0x2e, 0x14, 0x54, 0x83, 0xf2, 0xc1, 0xc9, 0xf1, 0xe9, 0x51, 0xb3, 0xd7,
	0x3c, 0x54, 0x73, 0x54, 0xde, 0x2f, 0xdb, 0x47, 0x47, 0xcd, 0x43, 0x35, 0x8f, 0xca, 0x50, 0x68,
	0x1a, 0xc6, 0x89, 0xa1, 0x7e, 0xbb, 0xf7, 0xbb, 0x1a, 0x14, 0x8f, 0xcd, 0xa9, 0x39, 0xc2, 0x2e,
	0x7a, 0x0a, 0x15, 0xe9, 0xb5, 0x08, 0x5d, 0x61, 0x06, 0x9c, 0x7f, 0x8a, 0x6a, 0x6c, 0xce, 0x03,
	0xa8, 0x5f, 0x3e, 0x81, 0x72, 0xf0, 0x1c, 0x84, 0x36, 0x45, 0xa3, 0x15, 0x7d, 0x4d, 0x6a, 0xac,
	0xc7, 0xb7, 0xe9, 0xc1, 0x87, 0x50, 0xf2, 0x9f, 0x6a, 0x10, 0x7f, 0x1b, 0x8b, 0x3d, 0x22, 0x35,
	0x50, 0x6c, 0x97, 0x9e, 0xfa, 0x05, 0x54, 0xe5, 0x07, 0x1e, 0xa4, 0x45, 0x70, 0xa4, 0xf4, 0x69,
	0x6c, 0x25, 0x40, 0x28, 0x85, 0x40, 0x5f, 0xfe, 0x3c, 0x2f, 0xeb, 0x2b, 0x3f, 0x8c, 0x44, 0xf4,
	0x95, 0x9e, 0x25, 0x3e, 0x81, 0x72, 0xf0, 0xf2, 0x22, 0xf4, 0x8d, 0x3f, 0xdc, 0x08, 0x7d, 0x63,
	0x0f, 0x34, 0x0f, 0xa1, 0xe4, 0x3f, 0x70, 0x08, 0x7d, 0x63, 0x4f, 0x31, 0x42, 0xdf, 0xe8, 0x2b,
	0xc8, 0x53, 0xa8, 0x48, 0xd3, 0xa1, 0x90, 0x76, 0x7e, 0x7c, 0x6d, 0x6c, 0xce, 0x03, 0xe8, 0xf1,
	0x4f, 0x01, 0xc2, 0xa7, 0x03, 0x14, 0x98, 0x24, 0x76, 0x78, 0x63, 0x6e, 0x9f, 0x9e, 0xfd, 0x82,
	0xbd, 0x31, 0x49, 0xc3, 0x36, 0x6a, 0x04, 0x26, 0x9d, 0x7b, 0x50, 0x68, 0x68, 0x89, 0x30, 0x4a,
	0xe7, 0x2b, 0xde, 0xe9, 0xc6, 0x27, 0x5d, 0xb4, 0x13, 0x9c, 0x48, 0x99, 0xc9, 0x1b, 0x37, 0x32,
	0x30, 0x42, 0xed, 0xfc, 0x1f, 0xcb, 0x02, 0xed, 0xa2, 0x23, 0x70, 0xa8, 0x5d, 0x64, 0x4c, 0x35,
	0xe1, 0x4a, 0x4a, 0x53, 0x88, 0xde, 0xe1, 0xb6, 0xcc, 0xec, 0xfb, 0x1a, 0xb7, 0xb2, 0x91, 0x04,
	0x8b, 0x56, 0x26, 0x8b, 0xd6, 0x32, 0x2c, 0x32, 0x5b, 0xc8, 0xaf, 0xa1, 0x91, 0xde, 0xfb, 0xa0,
	0x3b, 0x19, 0x04, 0xe4, 0x54, 0xb9, 0xbd, 0x10, 0x4f, 0xf0, 0x4a, 0xbf, 0xb1, 0x05, 0xaf, 0x85,
	0x0d, 0x8c, 0xe0, 0xb5, 0xe8, 0xea, 0xe7, 0x7a, 0x65, 0xf3, 0x6a, 0x2d, 0xc9, 0x6b, 0xd1, 0x45,
	0x4f, 0xe0, 0x7a, 0xe6, 0xfd, 0x83, 0xde, 0xcf, 0x26, 0x23, 0x5b, 0xf2, 0xbd, 0x65, 0x50, 0xfd,
	0xb2, 0xe9, 0x0f, 0xe1, 0x7e, 0xd9, 0x8c, 0xcd, 0xff, 0x7e, 0xd9, 0x8c, 0xcc, 0xea, 0xfe, 0x41,
	0x36, 0xbf, 0x49, 0x07, 0xe5, 0x19, 0x52, 0x3a, 0x28, 0x8d, 0x81, 0x6d, 0xfe, 0x4a, 0x2f, 0x4d,
	0xcb, 0xe8, 0x6a, 0xe0, 0xf7, 0xf9, 0xe9, 0xba, 0xb1, 0x9d, 0x0c, 0x94, 0x2a, 0x43, 0x38, 0xfa,
	0x4a, 0x95, 0x61, 0x6e, 0x8e, 0x96, 0x2a, 0x43, 0x6c, 0x56, 0xde, 0xeb, 0x01, 0x84, 0x11, 0xf7,
	0x63, 0xd5, 0x9b, 0x3d, 0x0b, 0x6a, 0x11, 0xeb, 0xff, 0x74, 0x05, 0xe8, 0xe5, 0x2a, 0xfb, 0x63,
	0xc6, 0x83, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x6d, 0xfe, 0xa2, 0xa5, 0x21, 0x00, 0x00,
}
back to top