// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.35.2
// 	protoc        v4.25.7
// source: google/cloud/bigquery/v2/job.proto

package bigquerypb

import (
	context "context"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Projection is used to control what job information is returned.
type ListJobsRequest_Projection int32

const (
	// Does not include the job configuration
	ListJobsRequest_minimal ListJobsRequest_Projection = 0
	// Does not include the job configuration
	ListJobsRequest_MINIMAL ListJobsRequest_Projection = 0
	// Includes all job data
	ListJobsRequest_full ListJobsRequest_Projection = 1
	// Includes all job data
	ListJobsRequest_FULL ListJobsRequest_Projection = 1
)

// Enum value maps for ListJobsRequest_Projection.
var (
	ListJobsRequest_Projection_name = map[int32]string{
		0: "minimal",
		// Duplicate value: 0: "MINIMAL",
		1: "full",
		// Duplicate value: 1: "FULL",
	}
	ListJobsRequest_Projection_value = map[string]int32{
		"minimal": 0,
		"MINIMAL": 0,
		"full":    1,
		"FULL":    1,
	}
)

func (x ListJobsRequest_Projection) Enum() *ListJobsRequest_Projection {
	p := new(ListJobsRequest_Projection)
	*p = x
	return p
}

func (x ListJobsRequest_Projection) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ListJobsRequest_Projection) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_v2_job_proto_enumTypes[0].Descriptor()
}

func (ListJobsRequest_Projection) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_v2_job_proto_enumTypes[0]
}

func (x ListJobsRequest_Projection) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ListJobsRequest_Projection.Descriptor instead.
func (ListJobsRequest_Projection) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{6, 0}
}

// StateFilter allows filtration by job execution state.
type ListJobsRequest_StateFilter int32

const (
	// Finished jobs
	ListJobsRequest_done ListJobsRequest_StateFilter = 0
	// Finished jobs
	ListJobsRequest_DONE ListJobsRequest_StateFilter = 0
	// Pending jobs
	ListJobsRequest_pending ListJobsRequest_StateFilter = 1
	// Pending jobs
	ListJobsRequest_PENDING ListJobsRequest_StateFilter = 1
	// Running jobs
	ListJobsRequest_running ListJobsRequest_StateFilter = 2
	// Running jobs.
	ListJobsRequest_RUNNING ListJobsRequest_StateFilter = 2
)

// Enum value maps for ListJobsRequest_StateFilter.
var (
	ListJobsRequest_StateFilter_name = map[int32]string{
		0: "done",
		// Duplicate value: 0: "DONE",
		1: "pending",
		// Duplicate value: 1: "PENDING",
		2: "running",
		// Duplicate value: 2: "RUNNING",
	}
	ListJobsRequest_StateFilter_value = map[string]int32{
		"done":    0,
		"DONE":    0,
		"pending": 1,
		"PENDING": 1,
		"running": 2,
		"RUNNING": 2,
	}
)

func (x ListJobsRequest_StateFilter) Enum() *ListJobsRequest_StateFilter {
	p := new(ListJobsRequest_StateFilter)
	*p = x
	return p
}

func (x ListJobsRequest_StateFilter) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ListJobsRequest_StateFilter) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_v2_job_proto_enumTypes[1].Descriptor()
}

func (ListJobsRequest_StateFilter) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_v2_job_proto_enumTypes[1]
}

func (x ListJobsRequest_StateFilter) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ListJobsRequest_StateFilter.Descriptor instead.
func (ListJobsRequest_StateFilter) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{6, 1}
}

// Job Creation Mode provides different options on job creation.
type QueryRequest_JobCreationMode int32

const (
	// If unspecified JOB_CREATION_REQUIRED is the default.
	QueryRequest_JOB_CREATION_MODE_UNSPECIFIED QueryRequest_JobCreationMode = 0
	// Default. Job creation is always required.
	QueryRequest_JOB_CREATION_REQUIRED QueryRequest_JobCreationMode = 1
	// Job creation is optional. Returning immediate results is prioritized.
	// BigQuery will automatically determine if a Job needs to be created.
	// The conditions under which BigQuery can decide to not create a Job are
	// subject to change. If Job creation is required, JOB_CREATION_REQUIRED
	// mode should be used, which is the default.
	QueryRequest_JOB_CREATION_OPTIONAL QueryRequest_JobCreationMode = 2
)

// Enum value maps for QueryRequest_JobCreationMode.
var (
	QueryRequest_JobCreationMode_name = map[int32]string{
		0: "JOB_CREATION_MODE_UNSPECIFIED",
		1: "JOB_CREATION_REQUIRED",
		2: "JOB_CREATION_OPTIONAL",
	}
	QueryRequest_JobCreationMode_value = map[string]int32{
		"JOB_CREATION_MODE_UNSPECIFIED": 0,
		"JOB_CREATION_REQUIRED":         1,
		"JOB_CREATION_OPTIONAL":         2,
	}
)

func (x QueryRequest_JobCreationMode) Enum() *QueryRequest_JobCreationMode {
	p := new(QueryRequest_JobCreationMode)
	*p = x
	return p
}

func (x QueryRequest_JobCreationMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (QueryRequest_JobCreationMode) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_v2_job_proto_enumTypes[2].Descriptor()
}

func (QueryRequest_JobCreationMode) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_v2_job_proto_enumTypes[2]
}

func (x QueryRequest_JobCreationMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use QueryRequest_JobCreationMode.Descriptor instead.
func (QueryRequest_JobCreationMode) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{12, 0}
}

type Job struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Output only. The type of the resource.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// Output only. A hash of this resource.
	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
	// Output only. Opaque ID field of the job.
	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	// Output only. A URL that can be used to access the resource again.
	SelfLink string `protobuf:"bytes,4,opt,name=self_link,json=selfLink,proto3" json:"self_link,omitempty"`
	// Output only. Email address of the user who ran the job.
	UserEmail string `protobuf:"bytes,5,opt,name=user_email,proto3" json:"user_email,omitempty"`
	// Required. Describes the job configuration.
	Configuration *JobConfiguration `protobuf:"bytes,6,opt,name=configuration,proto3" json:"configuration,omitempty"`
	// Optional. Reference describing the unique-per-user name of the job.
	JobReference *JobReference `protobuf:"bytes,7,opt,name=job_reference,json=jobReference,proto3" json:"job_reference,omitempty"`
	// Output only. Information about the job, including starting time and ending
	// time of the job.
	Statistics *JobStatistics `protobuf:"bytes,8,opt,name=statistics,proto3" json:"statistics,omitempty"`
	// Output only. The status of this job. Examine this value when polling an
	// asynchronous job to see if the job is complete.
	Status *JobStatus `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"`
	// Output only. [Full-projection-only] String representation of identity of
	// requesting party. Populated for both first- and third-party identities.
	// Only present for APIs that support third-party identities.
	PrincipalSubject string `protobuf:"bytes,13,opt,name=principal_subject,proto3" json:"principal_subject,omitempty"`
	// Output only. The reason why a Job was created.
	JobCreationReason *JobCreationReason `protobuf:"bytes,14,opt,name=job_creation_reason,json=jobCreationReason,proto3" json:"job_creation_reason,omitempty"`
}

func (x *Job) Reset() {
	*x = Job{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Job) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Job) ProtoMessage() {}

func (x *Job) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Job.ProtoReflect.Descriptor instead.
func (*Job) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{0}
}

func (x *Job) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *Job) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

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

func (x *Job) GetSelfLink() string {
	if x != nil {
		return x.SelfLink
	}
	return ""
}

func (x *Job) GetUserEmail() string {
	if x != nil {
		return x.UserEmail
	}
	return ""
}

func (x *Job) GetConfiguration() *JobConfiguration {
	if x != nil {
		return x.Configuration
	}
	return nil
}

func (x *Job) GetJobReference() *JobReference {
	if x != nil {
		return x.JobReference
	}
	return nil
}

func (x *Job) GetStatistics() *JobStatistics {
	if x != nil {
		return x.Statistics
	}
	return nil
}

func (x *Job) GetStatus() *JobStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *Job) GetPrincipalSubject() string {
	if x != nil {
		return x.PrincipalSubject
	}
	return ""
}

func (x *Job) GetJobCreationReason() *JobCreationReason {
	if x != nil {
		return x.JobCreationReason
	}
	return nil
}

// Describes format of a jobs cancellation request.
type CancelJobRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the job to cancel
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Job ID of the job to cancel
	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// The geographic location of the job. You must
	// [specify the
	// location](https://cloud.google.com/bigquery/docs/locations#specify_locations)
	// to run the job for the following scenarios:
	//
	//   - If the location to run a job is not in the `us` or
	//     the `eu` multi-regional location
	//   - If the job's location is in a single region (for example,
	//     `us-central1`)
	Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
}

func (x *CancelJobRequest) Reset() {
	*x = CancelJobRequest{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CancelJobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelJobRequest) ProtoMessage() {}

func (x *CancelJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelJobRequest.ProtoReflect.Descriptor instead.
func (*CancelJobRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{1}
}

func (x *CancelJobRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *CancelJobRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *CancelJobRequest) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

// Describes format of a jobs cancellation response.
type JobCancelResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The resource type of the response.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// The final state of the job.
	Job *Job `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"`
}

func (x *JobCancelResponse) Reset() {
	*x = JobCancelResponse{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *JobCancelResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*JobCancelResponse) ProtoMessage() {}

func (x *JobCancelResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use JobCancelResponse.ProtoReflect.Descriptor instead.
func (*JobCancelResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{2}
}

func (x *JobCancelResponse) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *JobCancelResponse) GetJob() *Job {
	if x != nil {
		return x.Job
	}
	return nil
}

// Describes format of a jobs get request.
type GetJobRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the requested job.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Job ID of the requested job.
	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// The geographic location of the job. You must specify the location to run
	// the job for the following scenarios:
	//
	//   - If the location to run a job is not in the `us` or
	//     the `eu` multi-regional location
	//   - If the job's location is in a single region (for example,
	//     `us-central1`)
	//
	// For more information, see how to
	// [specify
	// locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).
	Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
}

func (x *GetJobRequest) Reset() {
	*x = GetJobRequest{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetJobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetJobRequest) ProtoMessage() {}

func (x *GetJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetJobRequest.ProtoReflect.Descriptor instead.
func (*GetJobRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{3}
}

func (x *GetJobRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *GetJobRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *GetJobRequest) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

// Describes format of a job insertion request.
type InsertJobRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Project ID of project that will be billed for the job.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Jobs resource to insert.
	Job *Job `protobuf:"bytes,3,opt,name=job,proto3" json:"job,omitempty"`
}

func (x *InsertJobRequest) Reset() {
	*x = InsertJobRequest{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InsertJobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InsertJobRequest) ProtoMessage() {}

func (x *InsertJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InsertJobRequest.ProtoReflect.Descriptor instead.
func (*InsertJobRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{4}
}

func (x *InsertJobRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *InsertJobRequest) GetJob() *Job {
	if x != nil {
		return x.Job
	}
	return nil
}

// Describes the format of a jobs deletion request.
type DeleteJobRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the job for which metadata is to be deleted.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Job ID of the job for which metadata is to be deleted. If this is
	// a parent job which has child jobs, the metadata from all child jobs will be
	// deleted as well. Direct deletion of the metadata of child jobs is not
	// allowed.
	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// The geographic location of the job. Required.
	//
	// For more information, see how to
	// [specify
	// locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).
	Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"`
}

func (x *DeleteJobRequest) Reset() {
	*x = DeleteJobRequest{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteJobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteJobRequest) ProtoMessage() {}

func (x *DeleteJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteJobRequest.ProtoReflect.Descriptor instead.
func (*DeleteJobRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{5}
}

func (x *DeleteJobRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *DeleteJobRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *DeleteJobRequest) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

// Describes the format of the list jobs request.
type ListJobsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Project ID of the jobs to list.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Whether to display jobs owned by all users in the project. Default False.
	AllUsers bool `protobuf:"varint,2,opt,name=all_users,json=allUsers,proto3" json:"all_users,omitempty"`
	// The maximum number of results to return in a single response page.
	// Leverage the page tokens to iterate through the entire collection.
	MaxResults *wrapperspb.Int32Value `protobuf:"bytes,3,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
	// Min value for job creation time, in milliseconds since the POSIX epoch.
	// If set, only jobs created after or at this timestamp are returned.
	MinCreationTime uint64 `protobuf:"varint,4,opt,name=min_creation_time,json=minCreationTime,proto3" json:"min_creation_time,omitempty"`
	// Max value for job creation time, in milliseconds since the POSIX epoch.
	// If set, only jobs created before or at this timestamp are returned.
	MaxCreationTime *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=max_creation_time,json=maxCreationTime,proto3" json:"max_creation_time,omitempty"`
	// Page token, returned by a previous call, to request the next page of
	// results.
	PageToken string `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// Restrict information returned to a set of selected fields
	Projection ListJobsRequest_Projection `protobuf:"varint,7,opt,name=projection,proto3,enum=google.cloud.bigquery.v2.ListJobsRequest_Projection" json:"projection,omitempty"`
	// Filter for job state
	StateFilter []ListJobsRequest_StateFilter `protobuf:"varint,8,rep,packed,name=state_filter,json=stateFilter,proto3,enum=google.cloud.bigquery.v2.ListJobsRequest_StateFilter" json:"state_filter,omitempty"`
	// If set, show only child jobs of the specified parent.  Otherwise, show all
	// top-level jobs.
	ParentJobId string `protobuf:"bytes,9,opt,name=parent_job_id,json=parentJobId,proto3" json:"parent_job_id,omitempty"`
}

func (x *ListJobsRequest) Reset() {
	*x = ListJobsRequest{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListJobsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListJobsRequest) ProtoMessage() {}

func (x *ListJobsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListJobsRequest.ProtoReflect.Descriptor instead.
func (*ListJobsRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{6}
}

func (x *ListJobsRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *ListJobsRequest) GetAllUsers() bool {
	if x != nil {
		return x.AllUsers
	}
	return false
}

func (x *ListJobsRequest) GetMaxResults() *wrapperspb.Int32Value {
	if x != nil {
		return x.MaxResults
	}
	return nil
}

func (x *ListJobsRequest) GetMinCreationTime() uint64 {
	if x != nil {
		return x.MinCreationTime
	}
	return 0
}

func (x *ListJobsRequest) GetMaxCreationTime() *wrapperspb.UInt64Value {
	if x != nil {
		return x.MaxCreationTime
	}
	return nil
}

func (x *ListJobsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

func (x *ListJobsRequest) GetProjection() ListJobsRequest_Projection {
	if x != nil {
		return x.Projection
	}
	return ListJobsRequest_minimal
}

func (x *ListJobsRequest) GetStateFilter() []ListJobsRequest_StateFilter {
	if x != nil {
		return x.StateFilter
	}
	return nil
}

func (x *ListJobsRequest) GetParentJobId() string {
	if x != nil {
		return x.ParentJobId
	}
	return ""
}

// ListFormatJob is a partial projection of job information returned as part
// of a jobs.list response.
type ListFormatJob struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Unique opaque ID of the job.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The resource type.
	Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
	// Unique opaque ID of the job.
	JobReference *JobReference `protobuf:"bytes,3,opt,name=job_reference,json=jobReference,proto3" json:"job_reference,omitempty"`
	// Running state of the job. When the state is DONE, errorResult can be
	// checked to determine whether the job succeeded or failed.
	State string `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"`
	// A result object that will be present only if the job has failed.
	ErrorResult *ErrorProto `protobuf:"bytes,5,opt,name=error_result,json=errorResult,proto3" json:"error_result,omitempty"`
	// Output only. Information about the job, including starting time and ending
	// time of the job.
	Statistics *JobStatistics `protobuf:"bytes,6,opt,name=statistics,proto3" json:"statistics,omitempty"`
	// Required. Describes the job configuration.
	Configuration *JobConfiguration `protobuf:"bytes,7,opt,name=configuration,proto3" json:"configuration,omitempty"`
	// [Full-projection-only] Describes the status of this job.
	Status *JobStatus `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
	// [Full-projection-only] Email address of the user who ran the job.
	UserEmail string `protobuf:"bytes,9,opt,name=user_email,proto3" json:"user_email,omitempty"`
	// [Full-projection-only] String representation of identity of requesting
	// party. Populated for both first- and third-party identities. Only present
	// for APIs that support third-party identities.
	PrincipalSubject string `protobuf:"bytes,10,opt,name=principal_subject,proto3" json:"principal_subject,omitempty"`
}

func (x *ListFormatJob) Reset() {
	*x = ListFormatJob{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListFormatJob) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListFormatJob) ProtoMessage() {}

func (x *ListFormatJob) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListFormatJob.ProtoReflect.Descriptor instead.
func (*ListFormatJob) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{7}
}

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

func (x *ListFormatJob) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *ListFormatJob) GetJobReference() *JobReference {
	if x != nil {
		return x.JobReference
	}
	return nil
}

func (x *ListFormatJob) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *ListFormatJob) GetErrorResult() *ErrorProto {
	if x != nil {
		return x.ErrorResult
	}
	return nil
}

func (x *ListFormatJob) GetStatistics() *JobStatistics {
	if x != nil {
		return x.Statistics
	}
	return nil
}

func (x *ListFormatJob) GetConfiguration() *JobConfiguration {
	if x != nil {
		return x.Configuration
	}
	return nil
}

func (x *ListFormatJob) GetStatus() *JobStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *ListFormatJob) GetUserEmail() string {
	if x != nil {
		return x.UserEmail
	}
	return ""
}

func (x *ListFormatJob) GetPrincipalSubject() string {
	if x != nil {
		return x.PrincipalSubject
	}
	return ""
}

// JobList is the response format for a jobs.list call.
type JobList struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// A hash of this page of results.
	Etag string `protobuf:"bytes,1,opt,name=etag,proto3" json:"etag,omitempty"`
	// The resource type of the response.
	Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
	// A token to request the next page of results.
	NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// List of jobs that were requested.
	Jobs []*ListFormatJob `protobuf:"bytes,4,rep,name=jobs,proto3" json:"jobs,omitempty"`
	// A list of skipped locations that were unreachable. For more information
	// about BigQuery locations, see:
	// https://cloud.google.com/bigquery/docs/locations. Example: "europe-west5"
	Unreachable []string `protobuf:"bytes,5,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
}

func (x *JobList) Reset() {
	*x = JobList{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *JobList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*JobList) ProtoMessage() {}

func (x *JobList) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use JobList.ProtoReflect.Descriptor instead.
func (*JobList) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{8}
}

func (x *JobList) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

func (x *JobList) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *JobList) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

func (x *JobList) GetJobs() []*ListFormatJob {
	if x != nil {
		return x.Jobs
	}
	return nil
}

func (x *JobList) GetUnreachable() []string {
	if x != nil {
		return x.Unreachable
	}
	return nil
}

// Request object of GetQueryResults.
type GetQueryResultsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the query job.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// Required. Job ID of the query job.
	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
	// Zero-based index of the starting row.
	StartIndex *wrapperspb.UInt64Value `protobuf:"bytes,3,opt,name=start_index,json=startIndex,proto3" json:"start_index,omitempty"`
	// Page token, returned by a previous call, to request the next page of
	// results.
	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// Maximum number of results to read.
	MaxResults *wrapperspb.UInt32Value `protobuf:"bytes,5,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
	// Optional: Specifies the maximum amount of time, in milliseconds, that the
	// client is willing to wait for the query to complete. By default, this limit
	// is 10 seconds (10,000 milliseconds). If the query is complete, the
	// jobComplete field in the response is true. If the query has not yet
	// completed, jobComplete is false.
	//
	// You can request a longer timeout period in the timeoutMs field.  However,
	// the call is not guaranteed to wait for the specified timeout; it typically
	// returns after around 200 seconds (200,000 milliseconds), even if the query
	// is not complete.
	//
	// If jobComplete is false, you can continue to wait for the query to complete
	// by calling the getQueryResults method until the jobComplete field in the
	// getQueryResults response is true.
	TimeoutMs *wrapperspb.UInt32Value `protobuf:"bytes,6,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"`
	// The geographic location of the job. You must specify the location to run
	// the job for the following scenarios:
	//
	//   - If the location to run a job is not in the `us` or
	//     the `eu` multi-regional location
	//   - If the job's location is in a single region (for example,
	//
	// `us-central1`)
	//
	// For more information, see how to
	// [specify
	// locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).
	Location string `protobuf:"bytes,7,opt,name=location,proto3" json:"location,omitempty"`
	// Optional. Output format adjustments.
	FormatOptions *DataFormatOptions `protobuf:"bytes,8,opt,name=format_options,json=formatOptions,proto3" json:"format_options,omitempty"`
}

func (x *GetQueryResultsRequest) Reset() {
	*x = GetQueryResultsRequest{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetQueryResultsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetQueryResultsRequest) ProtoMessage() {}

func (x *GetQueryResultsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetQueryResultsRequest.ProtoReflect.Descriptor instead.
func (*GetQueryResultsRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{9}
}

func (x *GetQueryResultsRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *GetQueryResultsRequest) GetJobId() string {
	if x != nil {
		return x.JobId
	}
	return ""
}

func (x *GetQueryResultsRequest) GetStartIndex() *wrapperspb.UInt64Value {
	if x != nil {
		return x.StartIndex
	}
	return nil
}

func (x *GetQueryResultsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

func (x *GetQueryResultsRequest) GetMaxResults() *wrapperspb.UInt32Value {
	if x != nil {
		return x.MaxResults
	}
	return nil
}

func (x *GetQueryResultsRequest) GetTimeoutMs() *wrapperspb.UInt32Value {
	if x != nil {
		return x.TimeoutMs
	}
	return nil
}

func (x *GetQueryResultsRequest) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *GetQueryResultsRequest) GetFormatOptions() *DataFormatOptions {
	if x != nil {
		return x.FormatOptions
	}
	return nil
}

// Response object of GetQueryResults.
type GetQueryResultsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The resource type of the response.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// A hash of this response.
	Etag string `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"`
	// The schema of the results. Present only when the query completes
	// successfully.
	Schema *TableSchema `protobuf:"bytes,3,opt,name=schema,proto3" json:"schema,omitempty"`
	// Reference to the BigQuery Job that was created to run the query. This field
	// will be present even if the original request timed out, in which case
	// GetQueryResults can be used to read the results once the query has
	// completed. Since this API only returns the first page of results,
	// subsequent pages can be fetched via the same mechanism (GetQueryResults).
	JobReference *JobReference `protobuf:"bytes,4,opt,name=job_reference,json=jobReference,proto3" json:"job_reference,omitempty"`
	// The total number of rows in the complete query result set, which can be
	// more than the number of rows in this single page of results. Present only
	// when the query completes successfully.
	TotalRows *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=total_rows,json=totalRows,proto3" json:"total_rows,omitempty"`
	// A token used for paging results.  When this token is non-empty, it
	// indicates additional results are available.
	PageToken string `protobuf:"bytes,6,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// An object with as many results as can be contained within the maximum
	// permitted reply size. To get any additional rows, you can call
	// GetQueryResults and specify the jobReference returned above. Present only
	// when the query completes successfully.
	//
	// The REST-based representation of this data leverages a series of
	// JSON f,v objects for indicating fields and values.
	Rows []*structpb.Struct `protobuf:"bytes,7,rep,name=rows,proto3" json:"rows,omitempty"`
	// The total number of bytes processed for this query.
	TotalBytesProcessed *wrapperspb.Int64Value `protobuf:"bytes,8,opt,name=total_bytes_processed,json=totalBytesProcessed,proto3" json:"total_bytes_processed,omitempty"`
	// Whether the query has completed or not. If rows or totalRows are present,
	// this will always be true. If this is false, totalRows will not be
	// available.
	JobComplete *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=job_complete,json=jobComplete,proto3" json:"job_complete,omitempty"`
	// Output only. The first errors or warnings encountered during the running
	// of the job. The final message includes the number of errors that caused the
	// process to stop. Errors here do not necessarily mean that the job has
	// completed or was unsuccessful. For more information about error messages,
	// see [Error
	// messages](https://cloud.google.com/bigquery/docs/error-messages).
	Errors []*ErrorProto `protobuf:"bytes,10,rep,name=errors,proto3" json:"errors,omitempty"`
	// Whether the query result was fetched from the query cache.
	CacheHit *wrapperspb.BoolValue `protobuf:"bytes,11,opt,name=cache_hit,json=cacheHit,proto3" json:"cache_hit,omitempty"`
	// Output only. The number of rows affected by a DML statement. Present only
	// for DML statements INSERT, UPDATE or DELETE.
	NumDmlAffectedRows *wrapperspb.Int64Value `protobuf:"bytes,12,opt,name=num_dml_affected_rows,json=numDmlAffectedRows,proto3" json:"num_dml_affected_rows,omitempty"`
}

func (x *GetQueryResultsResponse) Reset() {
	*x = GetQueryResultsResponse{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetQueryResultsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetQueryResultsResponse) ProtoMessage() {}

func (x *GetQueryResultsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetQueryResultsResponse.ProtoReflect.Descriptor instead.
func (*GetQueryResultsResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{10}
}

func (x *GetQueryResultsResponse) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *GetQueryResultsResponse) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

func (x *GetQueryResultsResponse) GetSchema() *TableSchema {
	if x != nil {
		return x.Schema
	}
	return nil
}

func (x *GetQueryResultsResponse) GetJobReference() *JobReference {
	if x != nil {
		return x.JobReference
	}
	return nil
}

func (x *GetQueryResultsResponse) GetTotalRows() *wrapperspb.UInt64Value {
	if x != nil {
		return x.TotalRows
	}
	return nil
}

func (x *GetQueryResultsResponse) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

func (x *GetQueryResultsResponse) GetRows() []*structpb.Struct {
	if x != nil {
		return x.Rows
	}
	return nil
}

func (x *GetQueryResultsResponse) GetTotalBytesProcessed() *wrapperspb.Int64Value {
	if x != nil {
		return x.TotalBytesProcessed
	}
	return nil
}

func (x *GetQueryResultsResponse) GetJobComplete() *wrapperspb.BoolValue {
	if x != nil {
		return x.JobComplete
	}
	return nil
}

func (x *GetQueryResultsResponse) GetErrors() []*ErrorProto {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *GetQueryResultsResponse) GetCacheHit() *wrapperspb.BoolValue {
	if x != nil {
		return x.CacheHit
	}
	return nil
}

func (x *GetQueryResultsResponse) GetNumDmlAffectedRows() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumDmlAffectedRows
	}
	return nil
}

// Request format for the query request.
type PostQueryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Required. Project ID of the query request.
	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// The query request body.
	QueryRequest *QueryRequest `protobuf:"bytes,2,opt,name=query_request,json=queryRequest,proto3" json:"query_request,omitempty"`
}

func (x *PostQueryRequest) Reset() {
	*x = PostQueryRequest{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PostQueryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PostQueryRequest) ProtoMessage() {}

func (x *PostQueryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PostQueryRequest.ProtoReflect.Descriptor instead.
func (*PostQueryRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{11}
}

func (x *PostQueryRequest) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

func (x *PostQueryRequest) GetQueryRequest() *QueryRequest {
	if x != nil {
		return x.QueryRequest
	}
	return nil
}

// Describes the format of the jobs.query request.
type QueryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The resource type of the request.
	Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
	// Required. A query string to execute, using Google Standard SQL or legacy
	// SQL syntax. Example: "SELECT COUNT(f1) FROM
	// myProjectId.myDatasetId.myTableId".
	Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"`
	// Optional. The maximum number of rows of data to return per page of
	// results. Setting this flag to a small value such as 1000 and then paging
	// through results might improve reliability when the query result set is
	// large. In addition to this limit, responses are also limited to 10 MB. By
	// default, there is no maximum row count, and only the byte limit applies.
	MaxResults *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
	// Optional. Specifies the default datasetId and projectId to assume for any
	// unqualified table names in the query. If not set, all table names in the
	// query string must be qualified in the format 'datasetId.tableId'.
	DefaultDataset *DatasetReference `protobuf:"bytes,5,opt,name=default_dataset,json=defaultDataset,proto3" json:"default_dataset,omitempty"`
	// Optional. Optional: Specifies the maximum amount of time, in milliseconds,
	// that the client is willing to wait for the query to complete. By default,
	// this limit is 10 seconds (10,000 milliseconds). If the query is complete,
	// the jobComplete field in the response is true. If the query has not yet
	// completed, jobComplete is false.
	//
	// You can request a longer timeout period in the timeoutMs field.  However,
	// the call is not guaranteed to wait for the specified timeout; it typically
	// returns after around 200 seconds (200,000 milliseconds), even if the query
	// is not complete.
	//
	// If jobComplete is false, you can continue to wait for the query to complete
	// by calling the getQueryResults method until the jobComplete field in the
	// getQueryResults response is true.
	TimeoutMs *wrapperspb.UInt32Value `protobuf:"bytes,6,opt,name=timeout_ms,json=timeoutMs,proto3" json:"timeout_ms,omitempty"`
	// Optional. Job timeout in milliseconds. If this time limit is exceeded,
	// BigQuery will attempt to stop a longer job, but may not always succeed in
	// canceling it before the job completes. For example, a job that takes more
	// than 60 seconds to complete has a better chance of being stopped than a job
	// that takes 10 seconds to complete. This timeout applies to the query even
	// if a job does not need to be created.
	JobTimeoutMs *int64 `protobuf:"varint,26,opt,name=job_timeout_ms,json=jobTimeoutMs,proto3,oneof" json:"job_timeout_ms,omitempty"`
	// Optional. INTERNAL: DO NOT USE. The maximum rate of slot consumption to
	// allow for this job.
	//
	// If set, the number of slots used to execute the job will be throttled
	// to try and keep its slot consumption below the requested rate. This limit
	// is best effort.
	MaxSlots *int32 `protobuf:"varint,28,opt,name=max_slots,json=maxSlots,proto3,oneof" json:"max_slots,omitempty"`
	// Optional. Custom encryption configuration (e.g., Cloud KMS keys)
	DestinationEncryptionConfiguration *EncryptionConfiguration `protobuf:"bytes,27,opt,name=destination_encryption_configuration,json=destinationEncryptionConfiguration,proto3" json:"destination_encryption_configuration,omitempty"`
	// Optional. If set to true, BigQuery doesn't run the job. Instead, if the
	// query is valid, BigQuery returns statistics about the job such as how many
	// bytes would be processed. If the query is invalid, an error returns. The
	// default value is false.
	DryRun bool `protobuf:"varint,7,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
	// Optional. Whether to look for the result in the query cache. The query
	// cache is a best-effort cache that will be flushed whenever tables in the
	// query are modified. The default value is true.
	UseQueryCache *wrapperspb.BoolValue `protobuf:"bytes,9,opt,name=use_query_cache,json=useQueryCache,proto3" json:"use_query_cache,omitempty"`
	// Specifies whether to use BigQuery's legacy SQL dialect for this query. The
	// default value is true. If set to false, the query will use BigQuery's
	// GoogleSQL: https://cloud.google.com/bigquery/sql-reference/ When
	// useLegacySql is set to false, the value of flattenResults is ignored; query
	// will be run as if flattenResults is false.
	UseLegacySql *wrapperspb.BoolValue `protobuf:"bytes,10,opt,name=use_legacy_sql,json=useLegacySql,proto3" json:"use_legacy_sql,omitempty"`
	// GoogleSQL only. Set to POSITIONAL to use positional (?) query parameters
	// or to NAMED to use named (@myparam) query parameters in this query.
	ParameterMode string `protobuf:"bytes,11,opt,name=parameter_mode,json=parameterMode,proto3" json:"parameter_mode,omitempty"`
	// Query parameters for GoogleSQL queries.
	QueryParameters []*QueryParameter `protobuf:"bytes,12,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"`
	// The geographic location where the job should run.
	// For more information, see how to
	// [specify
	// locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).
	Location string `protobuf:"bytes,13,opt,name=location,proto3" json:"location,omitempty"`
	// Optional. Output format adjustments.
	FormatOptions *DataFormatOptions `protobuf:"bytes,15,opt,name=format_options,json=formatOptions,proto3" json:"format_options,omitempty"`
	// Optional. Connection properties which can modify the query behavior.
	ConnectionProperties []*ConnectionProperty `protobuf:"bytes,16,rep,name=connection_properties,json=connectionProperties,proto3" json:"connection_properties,omitempty"`
	// Optional. The labels associated with this query.
	// Labels can be used to organize and group query jobs.
	// Label keys and values can be no longer than 63 characters, can only contain
	// lowercase letters, numeric characters, underscores and dashes.
	// International characters are allowed. Label keys must start with a letter
	// and each label in the list must have a different key.
	Labels map[string]string `protobuf:"bytes,17,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Optional. Limits the bytes billed for this query. Queries with
	// bytes billed above this limit will fail (without incurring a charge).
	// If unspecified, the project default is used.
	MaximumBytesBilled *wrapperspb.Int64Value `protobuf:"bytes,18,opt,name=maximum_bytes_billed,json=maximumBytesBilled,proto3" json:"maximum_bytes_billed,omitempty"`
	// Optional. A unique user provided identifier to ensure idempotent behavior
	// for queries. Note that this is different from the job_id. It has the
	// following properties:
	//
	//  1. It is case-sensitive, limited to up to 36 ASCII characters. A UUID is
	//     recommended.
	//
	//  2. Read only queries can ignore this token since they are nullipotent by
	//     definition.
	//
	//  3. For the purposes of idempotency ensured by the request_id, a request
	//     is considered duplicate of another only if they have the same request_id
	//     and are actually duplicates. When determining whether a request is a
	//     duplicate of another request, all parameters in the request that
	//     may affect the result are considered. For example, query,
	//     connection_properties, query_parameters, use_legacy_sql are parameters
	//     that affect the result and are considered when determining whether a
	//     request is a duplicate, but properties like timeout_ms don't
	//     affect the result and are thus not considered. Dry run query
	//     requests are never considered duplicate of another request.
	//
	//  4. When a duplicate mutating query request is detected, it returns:
	//     a. the results of the mutation if it completes successfully within
	//     the timeout.
	//     b. the running operation if it is still in progress at the end of the
	//     timeout.
	//
	//  5. Its lifetime is limited to 15 minutes. In other words, if two
	//     requests are sent with the same request_id, but more than 15 minutes
	//     apart, idempotency is not guaranteed.
	RequestId string `protobuf:"bytes,19,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Optional. If true, creates a new session using a randomly generated
	// session_id. If false, runs query with an existing session_id passed in
	// ConnectionProperty, otherwise runs query in non-session mode.
	//
	// The session location will be set to QueryRequest.location if it is present,
	// otherwise it's set to the default location based on existing routing logic.
	CreateSession *wrapperspb.BoolValue `protobuf:"bytes,20,opt,name=create_session,json=createSession,proto3" json:"create_session,omitempty"`
	// Optional. If not set, jobs are always required.
	//
	// If set, the query request will follow the behavior described
	// JobCreationMode.
	JobCreationMode QueryRequest_JobCreationMode `protobuf:"varint,22,opt,name=job_creation_mode,json=jobCreationMode,proto3,enum=google.cloud.bigquery.v2.QueryRequest_JobCreationMode" json:"job_creation_mode,omitempty"`
	// Optional. The reservation that jobs.query request would use. User can
	// specify a reservation to execute the job.query. The expected format is
	// `projects/{project}/locations/{location}/reservations/{reservation}`.
	Reservation *string `protobuf:"bytes,24,opt,name=reservation,proto3,oneof" json:"reservation,omitempty"`
	// Optional. This is only supported for SELECT query. If set, the query is
	// allowed to write results incrementally to the temporary result table. This
	// may incur a performance penalty. This option cannot be used with Legacy
	// SQL. This feature is not yet available.
	WriteIncrementalResults bool `protobuf:"varint,25,opt,name=write_incremental_results,json=writeIncrementalResults,proto3" json:"write_incremental_results,omitempty"`
}

func (x *QueryRequest) Reset() {
	*x = QueryRequest{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryRequest) ProtoMessage() {}

func (x *QueryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryRequest.ProtoReflect.Descriptor instead.
func (*QueryRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{12}
}

func (x *QueryRequest) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *QueryRequest) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *QueryRequest) GetMaxResults() *wrapperspb.UInt32Value {
	if x != nil {
		return x.MaxResults
	}
	return nil
}

func (x *QueryRequest) GetDefaultDataset() *DatasetReference {
	if x != nil {
		return x.DefaultDataset
	}
	return nil
}

func (x *QueryRequest) GetTimeoutMs() *wrapperspb.UInt32Value {
	if x != nil {
		return x.TimeoutMs
	}
	return nil
}

func (x *QueryRequest) GetJobTimeoutMs() int64 {
	if x != nil && x.JobTimeoutMs != nil {
		return *x.JobTimeoutMs
	}
	return 0
}

func (x *QueryRequest) GetMaxSlots() int32 {
	if x != nil && x.MaxSlots != nil {
		return *x.MaxSlots
	}
	return 0
}

func (x *QueryRequest) GetDestinationEncryptionConfiguration() *EncryptionConfiguration {
	if x != nil {
		return x.DestinationEncryptionConfiguration
	}
	return nil
}

func (x *QueryRequest) GetDryRun() bool {
	if x != nil {
		return x.DryRun
	}
	return false
}

func (x *QueryRequest) GetUseQueryCache() *wrapperspb.BoolValue {
	if x != nil {
		return x.UseQueryCache
	}
	return nil
}

func (x *QueryRequest) GetUseLegacySql() *wrapperspb.BoolValue {
	if x != nil {
		return x.UseLegacySql
	}
	return nil
}

func (x *QueryRequest) GetParameterMode() string {
	if x != nil {
		return x.ParameterMode
	}
	return ""
}

func (x *QueryRequest) GetQueryParameters() []*QueryParameter {
	if x != nil {
		return x.QueryParameters
	}
	return nil
}

func (x *QueryRequest) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *QueryRequest) GetFormatOptions() *DataFormatOptions {
	if x != nil {
		return x.FormatOptions
	}
	return nil
}

func (x *QueryRequest) GetConnectionProperties() []*ConnectionProperty {
	if x != nil {
		return x.ConnectionProperties
	}
	return nil
}

func (x *QueryRequest) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *QueryRequest) GetMaximumBytesBilled() *wrapperspb.Int64Value {
	if x != nil {
		return x.MaximumBytesBilled
	}
	return nil
}

func (x *QueryRequest) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *QueryRequest) GetCreateSession() *wrapperspb.BoolValue {
	if x != nil {
		return x.CreateSession
	}
	return nil
}

func (x *QueryRequest) GetJobCreationMode() QueryRequest_JobCreationMode {
	if x != nil {
		return x.JobCreationMode
	}
	return QueryRequest_JOB_CREATION_MODE_UNSPECIFIED
}

func (x *QueryRequest) GetReservation() string {
	if x != nil && x.Reservation != nil {
		return *x.Reservation
	}
	return ""
}

func (x *QueryRequest) GetWriteIncrementalResults() bool {
	if x != nil {
		return x.WriteIncrementalResults
	}
	return false
}

type QueryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The resource type.
	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
	// The schema of the results. Present only when the query completes
	// successfully.
	Schema *TableSchema `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"`
	// Reference to the Job that was created to run the query. This field will be
	// present even if the original request timed out, in which case
	// GetQueryResults can be used to read the results once the query has
	// completed. Since this API only returns the first page of results,
	// subsequent pages can be fetched via the same mechanism (GetQueryResults).
	//
	// If job_creation_mode was set to `JOB_CREATION_OPTIONAL` and the query
	// completes without creating a job, this field will be empty.
	JobReference *JobReference `protobuf:"bytes,3,opt,name=job_reference,json=jobReference,proto3" json:"job_reference,omitempty"`
	// Optional. The reason why a Job was created.
	//
	// Only relevant when a job_reference is present in the response.
	// If job_reference is not present it will always be unset.
	JobCreationReason *JobCreationReason `protobuf:"bytes,15,opt,name=job_creation_reason,json=jobCreationReason,proto3" json:"job_creation_reason,omitempty"`
	// Auto-generated ID for the query.
	QueryId string `protobuf:"bytes,14,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
	// Output only. The geographic location of the query.
	//
	// For more information about BigQuery locations, see:
	// https://cloud.google.com/bigquery/docs/locations
	Location string `protobuf:"bytes,18,opt,name=location,proto3" json:"location,omitempty"`
	// The total number of rows in the complete query result set, which can be
	// more than the number of rows in this single page of results.
	TotalRows *wrapperspb.UInt64Value `protobuf:"bytes,4,opt,name=total_rows,json=totalRows,proto3" json:"total_rows,omitempty"`
	// A token used for paging results. A non-empty token indicates that
	// additional results are available. To see additional results,
	// query the
	// [`jobs.getQueryResults`](https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/getQueryResults)
	// method. For more information, see [Paging through table
	// data](https://cloud.google.com/bigquery/docs/paging-results).
	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// An object with as many results as can be contained within the maximum
	// permitted reply size. To get any additional rows, you can call
	// GetQueryResults and specify the jobReference returned above.
	Rows []*structpb.Struct `protobuf:"bytes,6,rep,name=rows,proto3" json:"rows,omitempty"`
	// The total number of bytes processed for this query. If this query was a dry
	// run, this is the number of bytes that would be processed if the query were
	// run.
	TotalBytesProcessed *wrapperspb.Int64Value `protobuf:"bytes,7,opt,name=total_bytes_processed,json=totalBytesProcessed,proto3" json:"total_bytes_processed,omitempty"`
	// Output only. If the project is configured to use on-demand pricing,
	// then this field contains the total bytes billed for the job.
	// If the project is configured to use flat-rate pricing, then you are
	// not billed for bytes and this field is informational only.
	TotalBytesBilled *int64 `protobuf:"varint,16,opt,name=total_bytes_billed,json=totalBytesBilled,proto3,oneof" json:"total_bytes_billed,omitempty"`
	// Output only. Number of slot ms the user is actually billed for.
	TotalSlotMs *int64 `protobuf:"varint,17,opt,name=total_slot_ms,json=totalSlotMs,proto3,oneof" json:"total_slot_ms,omitempty"`
	// Whether the query has completed or not. If rows or totalRows are present,
	// this will always be true. If this is false, totalRows will not be
	// available.
	JobComplete *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=job_complete,json=jobComplete,proto3" json:"job_complete,omitempty"`
	// Output only. The first errors or warnings encountered during the running of
	// the job. The final message includes the number of errors that caused the
	// process to stop. Errors here do not necessarily mean that the job has
	// completed or was unsuccessful. For more information about error messages,
	// see [Error
	// messages](https://cloud.google.com/bigquery/docs/error-messages).
	Errors []*ErrorProto `protobuf:"bytes,9,rep,name=errors,proto3" json:"errors,omitempty"`
	// Whether the query result was fetched from the query cache.
	CacheHit *wrapperspb.BoolValue `protobuf:"bytes,10,opt,name=cache_hit,json=cacheHit,proto3" json:"cache_hit,omitempty"`
	// Output only. The number of rows affected by a DML statement. Present only
	// for DML statements INSERT, UPDATE or DELETE.
	NumDmlAffectedRows *wrapperspb.Int64Value `protobuf:"bytes,11,opt,name=num_dml_affected_rows,json=numDmlAffectedRows,proto3" json:"num_dml_affected_rows,omitempty"`
	// Output only. Information of the session if this job is part of one.
	SessionInfo *SessionInfo `protobuf:"bytes,12,opt,name=session_info,json=sessionInfo,proto3" json:"session_info,omitempty"`
	// Output only. Detailed statistics for DML statements INSERT, UPDATE, DELETE,
	// MERGE or TRUNCATE.
	DmlStats *DmlStats `protobuf:"bytes,13,opt,name=dml_stats,json=dmlStats,proto3" json:"dml_stats,omitempty"`
	// Output only. Creation time of this query, in milliseconds since the epoch.
	// This field will be present on all queries.
	CreationTime *int64 `protobuf:"varint,19,opt,name=creation_time,json=creationTime,proto3,oneof" json:"creation_time,omitempty"`
	// Output only. Start time of this query, in milliseconds since the epoch.
	// This field will be present when the query job transitions from the PENDING
	// state to either RUNNING or DONE.
	StartTime *int64 `protobuf:"varint,20,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"`
	// Output only. End time of this query, in milliseconds since the epoch. This
	// field will be present whenever a query job is in the DONE state.
	EndTime *int64 `protobuf:"varint,21,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"`
}

func (x *QueryResponse) Reset() {
	*x = QueryResponse{}
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryResponse) ProtoMessage() {}

func (x *QueryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_v2_job_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryResponse.ProtoReflect.Descriptor instead.
func (*QueryResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_v2_job_proto_rawDescGZIP(), []int{13}
}

func (x *QueryResponse) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *QueryResponse) GetSchema() *TableSchema {
	if x != nil {
		return x.Schema
	}
	return nil
}

func (x *QueryResponse) GetJobReference() *JobReference {
	if x != nil {
		return x.JobReference
	}
	return nil
}

func (x *QueryResponse) GetJobCreationReason() *JobCreationReason {
	if x != nil {
		return x.JobCreationReason
	}
	return nil
}

func (x *QueryResponse) GetQueryId() string {
	if x != nil {
		return x.QueryId
	}
	return ""
}

func (x *QueryResponse) GetLocation() string {
	if x != nil {
		return x.Location
	}
	return ""
}

func (x *QueryResponse) GetTotalRows() *wrapperspb.UInt64Value {
	if x != nil {
		return x.TotalRows
	}
	return nil
}

func (x *QueryResponse) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

func (x *QueryResponse) GetRows() []*structpb.Struct {
	if x != nil {
		return x.Rows
	}
	return nil
}

func (x *QueryResponse) GetTotalBytesProcessed() *wrapperspb.Int64Value {
	if x != nil {
		return x.TotalBytesProcessed
	}
	return nil
}

func (x *QueryResponse) GetTotalBytesBilled() int64 {
	if x != nil && x.TotalBytesBilled != nil {
		return *x.TotalBytesBilled
	}
	return 0
}

func (x *QueryResponse) GetTotalSlotMs() int64 {
	if x != nil && x.TotalSlotMs != nil {
		return *x.TotalSlotMs
	}
	return 0
}

func (x *QueryResponse) GetJobComplete() *wrapperspb.BoolValue {
	if x != nil {
		return x.JobComplete
	}
	return nil
}

func (x *QueryResponse) GetErrors() []*ErrorProto {
	if x != nil {
		return x.Errors
	}
	return nil
}

func (x *QueryResponse) GetCacheHit() *wrapperspb.BoolValue {
	if x != nil {
		return x.CacheHit
	}
	return nil
}

func (x *QueryResponse) GetNumDmlAffectedRows() *wrapperspb.Int64Value {
	if x != nil {
		return x.NumDmlAffectedRows
	}
	return nil
}

func (x *QueryResponse) GetSessionInfo() *SessionInfo {
	if x != nil {
		return x.SessionInfo
	}
	return nil
}

func (x *QueryResponse) GetDmlStats() *DmlStats {
	if x != nil {
		return x.DmlStats
	}
	return nil
}

func (x *QueryResponse) GetCreationTime() int64 {
	if x != nil && x.CreationTime != nil {
		return *x.CreationTime
	}
	return 0
}

func (x *QueryResponse) GetStartTime() int64 {
	if x != nil && x.StartTime != nil {
		return *x.StartTime
	}
	return 0
}

func (x *QueryResponse) GetEndTime() int64 {
	if x != nil && x.EndTime != nil {
		return *x.EndTime
	}
	return 0
}

var File_google_cloud_bigquery_v2_job_proto protoreflect.FileDescriptor

var file_google_cloud_bigquery_v2_job_proto_rawDesc = []byte{
	0x0a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6a, 0x6f, 0x62, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x1a, 0x1c,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
	0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
	0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61,
	0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f,
	0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76,
	0x32, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2f, 0x76, 0x32, 0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x66,
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32,
	0x2f, 0x6a, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73,
	0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70,
	0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x04, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x17,
	0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67,
	0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69,
	0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x73,
	0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x23, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f,
	0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
	0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x55, 0x0a, 0x0d,
	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a,
	0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72,
	0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x66, 0x65,
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
	0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69,
	0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
	0x69, 0x63, 0x73, 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a,
	0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x11, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70,
	0x61, 0x6c, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c,
	0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x60, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
	0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
	0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x6a, 0x6f, 0x62, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x6e, 0x0a, 0x10, 0x43, 0x61,
	0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22,
	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1a,
	0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x58, 0x0a, 0x11, 0x4a, 0x6f,
	0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b,
	0x69, 0x6e, 0x64, 0x12, 0x2f, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x52,
	0x03, 0x6a, 0x6f, 0x62, 0x22, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05,
	0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x22, 0x62, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62,
	0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0x6e, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a,
	0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a,
	0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x05, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f,
	0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x5f,
	0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6c, 0x6c,
	0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
	0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f,
	0x6d, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
	0x48, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e,
	0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67,
	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x54, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58,
	0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x08,
	0x20, 0x03, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
	0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x0a,
	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x6d, 0x69,
	0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x49, 0x4d,
	0x41, 0x4c, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x66, 0x75, 0x6c, 0x6c, 0x10, 0x01, 0x12, 0x08,
	0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x1a, 0x02, 0x10, 0x01, 0x22, 0x59, 0x0a, 0x0b,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x08, 0x0a, 0x04, 0x64,
	0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12,
	0x0b, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07,
	0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x72, 0x75, 0x6e,
	0x6e, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e,
	0x47, 0x10, 0x02, 0x1a, 0x02, 0x10, 0x01, 0x22, 0x8f, 0x04, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74,
	0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x4b, 0x0a,
	0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
	0x4a, 0x6f, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x6a, 0x6f,
	0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
	0x12, 0x47, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
	0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x0b, 0x65, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x74, 0x61,
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74,
	0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x74, 0x61,
	0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x55, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69,
	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
	0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b,
	0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x75,
	0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x70,
	0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61,
	0x6c, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xb8, 0x01, 0x0a, 0x07, 0x4a, 0x6f,
	0x62, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x26, 0x0a,
	0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3b, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c,
	0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f,
	0x62, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c,
	0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68,
	0x61, 0x62, 0x6c, 0x65, 0x22, 0xa7, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72,
	0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12,
	0x3d, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d,
	0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3d, 0x0a,
	0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x0a,
	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67,
	0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72,
	0x6d, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
	0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xb7,
	0x05, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69,
	0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74,
	0x61, 0x67, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61,
	0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d,
	0x61, 0x12, 0x4b, 0x0a, 0x0d, 0x6a, 0x6f, 0x62, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
	0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3b,
	0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
	0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2b, 0x0a, 0x04, 0x72, 0x6f,
	0x77, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63,
	0x74, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x4f, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50,
	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f,
	0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x43,
	0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x32, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x03, 0xe0,
	0x41, 0x03, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x63, 0x61,
	0x63, 0x68, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x48, 0x69, 0x74, 0x12, 0x53, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x64, 0x6d, 0x6c, 0x5f, 0x61,
	0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x44, 0x6d, 0x6c, 0x41, 0x66, 0x66, 0x65,
	0x63, 0x74, 0x65, 0x64, 0x52, 0x6f, 0x77, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x10, 0x50, 0x6f, 0x73,
	0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
	0x64, 0x12, 0x4b, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x52, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf3,
	0x0d, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b,
	0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x42,
	0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x61,
	0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65,
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x64, 0x65,
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x40, 0x0a, 0x0a,
	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03,
	0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x12, 0x2e,
	0x0a, 0x0e, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73,
	0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x6a,
	0x6f, 0x62, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25,
	0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28,
	0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x6c, 0x6f,
	0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x88, 0x01, 0x0a, 0x24, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1b,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e,
	0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x22, 0x64, 0x65,
	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x1c, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x47,
	0x0a, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x61, 0x63, 0x68,
	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x51, 0x75, 0x65,
	0x72, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x5f, 0x6c,
	0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x73, 0x71, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x75, 0x73, 0x65,
	0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x53, 0x71, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72,
	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65,
	0x12, 0x53, 0x0a, 0x10, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
	0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d,
	0x65, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d,
	0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x57, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x66, 0x6f, 0x72,
	0x6d, 0x61, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x15, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62,
	0x65, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x62,
	0x79, 0x74, 0x65, 0x73, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03,
	0xe0, 0x41, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x74, 0x65,
	0x73, 0x42, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
	0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
	0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x11, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x6a, 0x6f, 0x62,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x5d, 0x0a, 0x0b,
	0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x36, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x30, 0x0a, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x65,
	0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x73,
	0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x19, 0x77,
	0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c,
	0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03,
	0xe0, 0x41, 0x01, 0x52, 0x17, 0x77, 0x72, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d,
	0x65, 0x6e, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x39, 0x0a, 0x0b,
	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, 0x0f, 0x4a, 0x6f, 0x62, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x4a, 0x4f,
	0x42, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f,
	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a,
	0x15, 0x4a, 0x4f, 0x42, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45,
	0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x4f, 0x42, 0x5f,
	0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41,
	0x4c, 0x10, 0x02, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73,
	0x6c, 0x6f, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x0a, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x63,
	0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d,
	0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x4b, 0x0a, 0x0d, 0x6a, 0x6f, 0x62,
	0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
	0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x52,
	0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x66,
	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0f, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a,
	0x6f, 0x62, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x6a, 0x6f, 0x62, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x6f,
	0x77, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36,
	0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x77,
	0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x12, 0x2b, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x4f, 0x0a,
	0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x72, 0x6f,
	0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49,
	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x36,
	0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x62, 0x69,
	0x6c, 0x6c, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48,
	0x00, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x69, 0x6c,
	0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
	0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0,
	0x41, 0x03, 0x48, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x6c, 0x6f, 0x74, 0x4d,
	0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0c, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
	0x6c, 0x65, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f,
	0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
	0x65, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x09, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
	0x68, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x63, 0x61, 0x63, 0x68, 0x65, 0x48, 0x69, 0x74, 0x12,
	0x53, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x64, 0x6d, 0x6c, 0x5f, 0x61, 0x66, 0x66, 0x65, 0x63,
	0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03,
	0x52, 0x12, 0x6e, 0x75, 0x6d, 0x44, 0x6d, 0x6c, 0x41, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64,
	0x52, 0x6f, 0x77, 0x73, 0x12, 0x4d, 0x0a, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
	0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
	0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x09, 0x64, 0x6d, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73,
	0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
	0x32, 0x2e, 0x44, 0x6d, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
	0x08, 0x64, 0x6d, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x0d, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03,
	0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x02, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41,
	0x03, 0x48, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01,
	0x01, 0x12, 0x23, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20,
	0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
	0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x42, 0x10, 0x0a,
	0x0e, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x73, 0x42,
	0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x32, 0xb1, 0x0b,
	0x0a, 0x0a, 0x4a, 0x6f, 0x62, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa9, 0x01, 0x0a,
	0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65,
	0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
	0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x3b, 0x2f, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a,
	0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x3d, 0x2a,
	0x7d, 0x2f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x8e, 0x01, 0x0a, 0x06, 0x47, 0x65, 0x74,
	0x4a, 0x6f, 0x62, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x47,
	0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x22, 0x3c, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76,
	0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f, 0x7b,
	0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x09, 0x49, 0x6e,
	0x73, 0x65, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e,
	0x76, 0x32, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a,
	0x6f, 0x62, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x03, 0x6a, 0x6f, 0x62, 0x22,
	0x29, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x94, 0x01, 0x0a, 0x09, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x43, 0x82, 0xd3,
	0xe4, 0x93, 0x02, 0x3d, 0x2a, 0x3b, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f,
	0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x2f,
	0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x12, 0x8b, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x29,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4a, 0x6f,
	0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x2e, 0x76, 0x32, 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x31, 0x82, 0xd3,
	0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f,
	0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x6a, 0x6f, 0x62, 0x73, 0x12,
	0xb7, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x73, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x47,
	0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32,
	0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39,
	0x12, 0x37, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x7b,
	0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x12, 0xa1, 0x01, 0x0a, 0x05, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x50,
	0x6f, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
	0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d,
	0x3a, 0x0d, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22,
	0x2c, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xd1, 0x02,
	0xca, 0x41, 0x17, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0xb3, 0x02, 0x68, 0x74,
	0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61,
	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77,
	0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74,
	0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68,
	0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64,
	0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77,
	0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
	0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
	0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70,
	0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73,
	0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74,
	0x65, 0x42, 0x65, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76,
	0x32, 0x42, 0x08, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x3b, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f,
	0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x70, 0x69,
	0x76, 0x32, 0x2f, 0x62, 0x69, 0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x70, 0x62, 0x3b, 0x62, 0x69,
	0x67, 0x71, 0x75, 0x65, 0x72, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_google_cloud_bigquery_v2_job_proto_rawDescOnce sync.Once
	file_google_cloud_bigquery_v2_job_proto_rawDescData = file_google_cloud_bigquery_v2_job_proto_rawDesc
)

func file_google_cloud_bigquery_v2_job_proto_rawDescGZIP() []byte {
	file_google_cloud_bigquery_v2_job_proto_rawDescOnce.Do(func() {
		file_google_cloud_bigquery_v2_job_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_bigquery_v2_job_proto_rawDescData)
	})
	return file_google_cloud_bigquery_v2_job_proto_rawDescData
}

var file_google_cloud_bigquery_v2_job_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_google_cloud_bigquery_v2_job_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_google_cloud_bigquery_v2_job_proto_goTypes = []any{
	(ListJobsRequest_Projection)(0),   // 0: google.cloud.bigquery.v2.ListJobsRequest.Projection
	(ListJobsRequest_StateFilter)(0),  // 1: google.cloud.bigquery.v2.ListJobsRequest.StateFilter
	(QueryRequest_JobCreationMode)(0), // 2: google.cloud.bigquery.v2.QueryRequest.JobCreationMode
	(*Job)(nil),                       // 3: google.cloud.bigquery.v2.Job
	(*CancelJobRequest)(nil),          // 4: google.cloud.bigquery.v2.CancelJobRequest
	(*JobCancelResponse)(nil),         // 5: google.cloud.bigquery.v2.JobCancelResponse
	(*GetJobRequest)(nil),             // 6: google.cloud.bigquery.v2.GetJobRequest
	(*InsertJobRequest)(nil),          // 7: google.cloud.bigquery.v2.InsertJobRequest
	(*DeleteJobRequest)(nil),          // 8: google.cloud.bigquery.v2.DeleteJobRequest
	(*ListJobsRequest)(nil),           // 9: google.cloud.bigquery.v2.ListJobsRequest
	(*ListFormatJob)(nil),             // 10: google.cloud.bigquery.v2.ListFormatJob
	(*JobList)(nil),                   // 11: google.cloud.bigquery.v2.JobList
	(*GetQueryResultsRequest)(nil),    // 12: google.cloud.bigquery.v2.GetQueryResultsRequest
	(*GetQueryResultsResponse)(nil),   // 13: google.cloud.bigquery.v2.GetQueryResultsResponse
	(*PostQueryRequest)(nil),          // 14: google.cloud.bigquery.v2.PostQueryRequest
	(*QueryRequest)(nil),              // 15: google.cloud.bigquery.v2.QueryRequest
	(*QueryResponse)(nil),             // 16: google.cloud.bigquery.v2.QueryResponse
	nil,                               // 17: google.cloud.bigquery.v2.QueryRequest.LabelsEntry
	(*JobConfiguration)(nil),          // 18: google.cloud.bigquery.v2.JobConfiguration
	(*JobReference)(nil),              // 19: google.cloud.bigquery.v2.JobReference
	(*JobStatistics)(nil),             // 20: google.cloud.bigquery.v2.JobStatistics
	(*JobStatus)(nil),                 // 21: google.cloud.bigquery.v2.JobStatus
	(*JobCreationReason)(nil),         // 22: google.cloud.bigquery.v2.JobCreationReason
	(*wrapperspb.Int32Value)(nil),     // 23: google.protobuf.Int32Value
	(*wrapperspb.UInt64Value)(nil),    // 24: google.protobuf.UInt64Value
	(*ErrorProto)(nil),                // 25: google.cloud.bigquery.v2.ErrorProto
	(*wrapperspb.UInt32Value)(nil),    // 26: google.protobuf.UInt32Value
	(*DataFormatOptions)(nil),         // 27: google.cloud.bigquery.v2.DataFormatOptions
	(*TableSchema)(nil),               // 28: google.cloud.bigquery.v2.TableSchema
	(*structpb.Struct)(nil),           // 29: google.protobuf.Struct
	(*wrapperspb.Int64Value)(nil),     // 30: google.protobuf.Int64Value
	(*wrapperspb.BoolValue)(nil),      // 31: google.protobuf.BoolValue
	(*DatasetReference)(nil),          // 32: google.cloud.bigquery.v2.DatasetReference
	(*EncryptionConfiguration)(nil),   // 33: google.cloud.bigquery.v2.EncryptionConfiguration
	(*QueryParameter)(nil),            // 34: google.cloud.bigquery.v2.QueryParameter
	(*ConnectionProperty)(nil),        // 35: google.cloud.bigquery.v2.ConnectionProperty
	(*SessionInfo)(nil),               // 36: google.cloud.bigquery.v2.SessionInfo
	(*DmlStats)(nil),                  // 37: google.cloud.bigquery.v2.DmlStats
	(*emptypb.Empty)(nil),             // 38: google.protobuf.Empty
}
var file_google_cloud_bigquery_v2_job_proto_depIdxs = []int32{
	18, // 0: google.cloud.bigquery.v2.Job.configuration:type_name -> google.cloud.bigquery.v2.JobConfiguration
	19, // 1: google.cloud.bigquery.v2.Job.job_reference:type_name -> google.cloud.bigquery.v2.JobReference
	20, // 2: google.cloud.bigquery.v2.Job.statistics:type_name -> google.cloud.bigquery.v2.JobStatistics
	21, // 3: google.cloud.bigquery.v2.Job.status:type_name -> google.cloud.bigquery.v2.JobStatus
	22, // 4: google.cloud.bigquery.v2.Job.job_creation_reason:type_name -> google.cloud.bigquery.v2.JobCreationReason
	3,  // 5: google.cloud.bigquery.v2.JobCancelResponse.job:type_name -> google.cloud.bigquery.v2.Job
	3,  // 6: google.cloud.bigquery.v2.InsertJobRequest.job:type_name -> google.cloud.bigquery.v2.Job
	23, // 7: google.cloud.bigquery.v2.ListJobsRequest.max_results:type_name -> google.protobuf.Int32Value
	24, // 8: google.cloud.bigquery.v2.ListJobsRequest.max_creation_time:type_name -> google.protobuf.UInt64Value
	0,  // 9: google.cloud.bigquery.v2.ListJobsRequest.projection:type_name -> google.cloud.bigquery.v2.ListJobsRequest.Projection
	1,  // 10: google.cloud.bigquery.v2.ListJobsRequest.state_filter:type_name -> google.cloud.bigquery.v2.ListJobsRequest.StateFilter
	19, // 11: google.cloud.bigquery.v2.ListFormatJob.job_reference:type_name -> google.cloud.bigquery.v2.JobReference
	25, // 12: google.cloud.bigquery.v2.ListFormatJob.error_result:type_name -> google.cloud.bigquery.v2.ErrorProto
	20, // 13: google.cloud.bigquery.v2.ListFormatJob.statistics:type_name -> google.cloud.bigquery.v2.JobStatistics
	18, // 14: google.cloud.bigquery.v2.ListFormatJob.configuration:type_name -> google.cloud.bigquery.v2.JobConfiguration
	21, // 15: google.cloud.bigquery.v2.ListFormatJob.status:type_name -> google.cloud.bigquery.v2.JobStatus
	10, // 16: google.cloud.bigquery.v2.JobList.jobs:type_name -> google.cloud.bigquery.v2.ListFormatJob
	24, // 17: google.cloud.bigquery.v2.GetQueryResultsRequest.start_index:type_name -> google.protobuf.UInt64Value
	26, // 18: google.cloud.bigquery.v2.GetQueryResultsRequest.max_results:type_name -> google.protobuf.UInt32Value
	26, // 19: google.cloud.bigquery.v2.GetQueryResultsRequest.timeout_ms:type_name -> google.protobuf.UInt32Value
	27, // 20: google.cloud.bigquery.v2.GetQueryResultsRequest.format_options:type_name -> google.cloud.bigquery.v2.DataFormatOptions
	28, // 21: google.cloud.bigquery.v2.GetQueryResultsResponse.schema:type_name -> google.cloud.bigquery.v2.TableSchema
	19, // 22: google.cloud.bigquery.v2.GetQueryResultsResponse.job_reference:type_name -> google.cloud.bigquery.v2.JobReference
	24, // 23: google.cloud.bigquery.v2.GetQueryResultsResponse.total_rows:type_name -> google.protobuf.UInt64Value
	29, // 24: google.cloud.bigquery.v2.GetQueryResultsResponse.rows:type_name -> google.protobuf.Struct
	30, // 25: google.cloud.bigquery.v2.GetQueryResultsResponse.total_bytes_processed:type_name -> google.protobuf.Int64Value
	31, // 26: google.cloud.bigquery.v2.GetQueryResultsResponse.job_complete:type_name -> google.protobuf.BoolValue
	25, // 27: google.cloud.bigquery.v2.GetQueryResultsResponse.errors:type_name -> google.cloud.bigquery.v2.ErrorProto
	31, // 28: google.cloud.bigquery.v2.GetQueryResultsResponse.cache_hit:type_name -> google.protobuf.BoolValue
	30, // 29: google.cloud.bigquery.v2.GetQueryResultsResponse.num_dml_affected_rows:type_name -> google.protobuf.Int64Value
	15, // 30: google.cloud.bigquery.v2.PostQueryRequest.query_request:type_name -> google.cloud.bigquery.v2.QueryRequest
	26, // 31: google.cloud.bigquery.v2.QueryRequest.max_results:type_name -> google.protobuf.UInt32Value
	32, // 32: google.cloud.bigquery.v2.QueryRequest.default_dataset:type_name -> google.cloud.bigquery.v2.DatasetReference
	26, // 33: google.cloud.bigquery.v2.QueryRequest.timeout_ms:type_name -> google.protobuf.UInt32Value
	33, // 34: google.cloud.bigquery.v2.QueryRequest.destination_encryption_configuration:type_name -> google.cloud.bigquery.v2.EncryptionConfiguration
	31, // 35: google.cloud.bigquery.v2.QueryRequest.use_query_cache:type_name -> google.protobuf.BoolValue
	31, // 36: google.cloud.bigquery.v2.QueryRequest.use_legacy_sql:type_name -> google.protobuf.BoolValue
	34, // 37: google.cloud.bigquery.v2.QueryRequest.query_parameters:type_name -> google.cloud.bigquery.v2.QueryParameter
	27, // 38: google.cloud.bigquery.v2.QueryRequest.format_options:type_name -> google.cloud.bigquery.v2.DataFormatOptions
	35, // 39: google.cloud.bigquery.v2.QueryRequest.connection_properties:type_name -> google.cloud.bigquery.v2.ConnectionProperty
	17, // 40: google.cloud.bigquery.v2.QueryRequest.labels:type_name -> google.cloud.bigquery.v2.QueryRequest.LabelsEntry
	30, // 41: google.cloud.bigquery.v2.QueryRequest.maximum_bytes_billed:type_name -> google.protobuf.Int64Value
	31, // 42: google.cloud.bigquery.v2.QueryRequest.create_session:type_name -> google.protobuf.BoolValue
	2,  // 43: google.cloud.bigquery.v2.QueryRequest.job_creation_mode:type_name -> google.cloud.bigquery.v2.QueryRequest.JobCreationMode
	28, // 44: google.cloud.bigquery.v2.QueryResponse.schema:type_name -> google.cloud.bigquery.v2.TableSchema
	19, // 45: google.cloud.bigquery.v2.QueryResponse.job_reference:type_name -> google.cloud.bigquery.v2.JobReference
	22, // 46: google.cloud.bigquery.v2.QueryResponse.job_creation_reason:type_name -> google.cloud.bigquery.v2.JobCreationReason
	24, // 47: google.cloud.bigquery.v2.QueryResponse.total_rows:type_name -> google.protobuf.UInt64Value
	29, // 48: google.cloud.bigquery.v2.QueryResponse.rows:type_name -> google.protobuf.Struct
	30, // 49: google.cloud.bigquery.v2.QueryResponse.total_bytes_processed:type_name -> google.protobuf.Int64Value
	31, // 50: google.cloud.bigquery.v2.QueryResponse.job_complete:type_name -> google.protobuf.BoolValue
	25, // 51: google.cloud.bigquery.v2.QueryResponse.errors:type_name -> google.cloud.bigquery.v2.ErrorProto
	31, // 52: google.cloud.bigquery.v2.QueryResponse.cache_hit:type_name -> google.protobuf.BoolValue
	30, // 53: google.cloud.bigquery.v2.QueryResponse.num_dml_affected_rows:type_name -> google.protobuf.Int64Value
	36, // 54: google.cloud.bigquery.v2.QueryResponse.session_info:type_name -> google.cloud.bigquery.v2.SessionInfo
	37, // 55: google.cloud.bigquery.v2.QueryResponse.dml_stats:type_name -> google.cloud.bigquery.v2.DmlStats
	4,  // 56: google.cloud.bigquery.v2.JobService.CancelJob:input_type -> google.cloud.bigquery.v2.CancelJobRequest
	6,  // 57: google.cloud.bigquery.v2.JobService.GetJob:input_type -> google.cloud.bigquery.v2.GetJobRequest
	7,  // 58: google.cloud.bigquery.v2.JobService.InsertJob:input_type -> google.cloud.bigquery.v2.InsertJobRequest
	8,  // 59: google.cloud.bigquery.v2.JobService.DeleteJob:input_type -> google.cloud.bigquery.v2.DeleteJobRequest
	9,  // 60: google.cloud.bigquery.v2.JobService.ListJobs:input_type -> google.cloud.bigquery.v2.ListJobsRequest
	12, // 61: google.cloud.bigquery.v2.JobService.GetQueryResults:input_type -> google.cloud.bigquery.v2.GetQueryResultsRequest
	14, // 62: google.cloud.bigquery.v2.JobService.Query:input_type -> google.cloud.bigquery.v2.PostQueryRequest
	5,  // 63: google.cloud.bigquery.v2.JobService.CancelJob:output_type -> google.cloud.bigquery.v2.JobCancelResponse
	3,  // 64: google.cloud.bigquery.v2.JobService.GetJob:output_type -> google.cloud.bigquery.v2.Job
	3,  // 65: google.cloud.bigquery.v2.JobService.InsertJob:output_type -> google.cloud.bigquery.v2.Job
	38, // 66: google.cloud.bigquery.v2.JobService.DeleteJob:output_type -> google.protobuf.Empty
	11, // 67: google.cloud.bigquery.v2.JobService.ListJobs:output_type -> google.cloud.bigquery.v2.JobList
	13, // 68: google.cloud.bigquery.v2.JobService.GetQueryResults:output_type -> google.cloud.bigquery.v2.GetQueryResultsResponse
	16, // 69: google.cloud.bigquery.v2.JobService.Query:output_type -> google.cloud.bigquery.v2.QueryResponse
	63, // [63:70] is the sub-list for method output_type
	56, // [56:63] is the sub-list for method input_type
	56, // [56:56] is the sub-list for extension type_name
	56, // [56:56] is the sub-list for extension extendee
	0,  // [0:56] is the sub-list for field type_name
}

func init() { file_google_cloud_bigquery_v2_job_proto_init() }
func file_google_cloud_bigquery_v2_job_proto_init() {
	if File_google_cloud_bigquery_v2_job_proto != nil {
		return
	}
	file_google_cloud_bigquery_v2_data_format_options_proto_init()
	file_google_cloud_bigquery_v2_dataset_reference_proto_init()
	file_google_cloud_bigquery_v2_encryption_config_proto_init()
	file_google_cloud_bigquery_v2_error_proto_init()
	file_google_cloud_bigquery_v2_job_config_proto_init()
	file_google_cloud_bigquery_v2_job_creation_reason_proto_init()
	file_google_cloud_bigquery_v2_job_reference_proto_init()
	file_google_cloud_bigquery_v2_job_stats_proto_init()
	file_google_cloud_bigquery_v2_job_status_proto_init()
	file_google_cloud_bigquery_v2_query_parameter_proto_init()
	file_google_cloud_bigquery_v2_session_info_proto_init()
	file_google_cloud_bigquery_v2_table_schema_proto_init()
	file_google_cloud_bigquery_v2_job_proto_msgTypes[12].OneofWrappers = []any{}
	file_google_cloud_bigquery_v2_job_proto_msgTypes[13].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_google_cloud_bigquery_v2_job_proto_rawDesc,
			NumEnums:      3,
			NumMessages:   15,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_bigquery_v2_job_proto_goTypes,
		DependencyIndexes: file_google_cloud_bigquery_v2_job_proto_depIdxs,
		EnumInfos:         file_google_cloud_bigquery_v2_job_proto_enumTypes,
		MessageInfos:      file_google_cloud_bigquery_v2_job_proto_msgTypes,
	}.Build()
	File_google_cloud_bigquery_v2_job_proto = out.File
	file_google_cloud_bigquery_v2_job_proto_rawDesc = nil
	file_google_cloud_bigquery_v2_job_proto_goTypes = nil
	file_google_cloud_bigquery_v2_job_proto_depIdxs = nil
}

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

// 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.SupportPackageIsVersion6

// JobServiceClient is the client API for JobService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type JobServiceClient interface {
	// Requests that a job be cancelled. This call will return immediately, and
	// the client will need to poll for the job status to see if the cancel
	// completed successfully. Cancelled jobs may still incur costs.
	CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*JobCancelResponse, error)
	// Returns information about a specific job. Job information is available for
	// a six month period after creation. Requires that you're the person who ran
	// the job, or have the Is Owner project role.
	GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
	// Starts a new asynchronous job.
	//
	// This API has two different kinds of endpoint URIs, as this method supports
	// a variety of use cases.
	//
	//   - The *Metadata* URI is used for most interactions, as it accepts the job
	//     configuration directly.
	//   - The *Upload* URI is ONLY for the case when you're sending both a load job
	//     configuration and a data stream together.  In this case, the Upload URI
	//     accepts the job configuration and the data as two distinct multipart MIME
	//     parts.
	InsertJob(ctx context.Context, in *InsertJobRequest, opts ...grpc.CallOption) (*Job, error)
	// Requests the deletion of the metadata of a job. This call returns when the
	// job's metadata is deleted.
	DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// Lists all jobs that you started in the specified project. Job information
	// is available for a six month period after creation. The job list is sorted
	// in reverse chronological order, by job creation time. Requires the Can View
	// project role, or the Is Owner project role if you set the allUsers
	// property.
	ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*JobList, error)
	// RPC to get the results of a query job.
	GetQueryResults(ctx context.Context, in *GetQueryResultsRequest, opts ...grpc.CallOption) (*GetQueryResultsResponse, error)
	// Runs a BigQuery SQL query synchronously and returns query results if the
	// query completes within a specified timeout.
	Query(ctx context.Context, in *PostQueryRequest, opts ...grpc.CallOption) (*QueryResponse, error)
}

type jobServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewJobServiceClient(cc grpc.ClientConnInterface) JobServiceClient {
	return &jobServiceClient{cc}
}

func (c *jobServiceClient) CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*JobCancelResponse, error) {
	out := new(JobCancelResponse)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.JobService/CancelJob", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *jobServiceClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) {
	out := new(Job)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.JobService/GetJob", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *jobServiceClient) InsertJob(ctx context.Context, in *InsertJobRequest, opts ...grpc.CallOption) (*Job, error) {
	out := new(Job)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.JobService/InsertJob", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *jobServiceClient) DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.JobService/DeleteJob", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *jobServiceClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*JobList, error) {
	out := new(JobList)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.JobService/ListJobs", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *jobServiceClient) GetQueryResults(ctx context.Context, in *GetQueryResultsRequest, opts ...grpc.CallOption) (*GetQueryResultsResponse, error) {
	out := new(GetQueryResultsResponse)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.JobService/GetQueryResults", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *jobServiceClient) Query(ctx context.Context, in *PostQueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) {
	out := new(QueryResponse)
	err := c.cc.Invoke(ctx, "/google.cloud.bigquery.v2.JobService/Query", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// JobServiceServer is the server API for JobService service.
type JobServiceServer interface {
	// Requests that a job be cancelled. This call will return immediately, and
	// the client will need to poll for the job status to see if the cancel
	// completed successfully. Cancelled jobs may still incur costs.
	CancelJob(context.Context, *CancelJobRequest) (*JobCancelResponse, error)
	// Returns information about a specific job. Job information is available for
	// a six month period after creation. Requires that you're the person who ran
	// the job, or have the Is Owner project role.
	GetJob(context.Context, *GetJobRequest) (*Job, error)
	// Starts a new asynchronous job.
	//
	// This API has two different kinds of endpoint URIs, as this method supports
	// a variety of use cases.
	//
	//   - The *Metadata* URI is used for most interactions, as it accepts the job
	//     configuration directly.
	//   - The *Upload* URI is ONLY for the case when you're sending both a load job
	//     configuration and a data stream together.  In this case, the Upload URI
	//     accepts the job configuration and the data as two distinct multipart MIME
	//     parts.
	InsertJob(context.Context, *InsertJobRequest) (*Job, error)
	// Requests the deletion of the metadata of a job. This call returns when the
	// job's metadata is deleted.
	DeleteJob(context.Context, *DeleteJobRequest) (*emptypb.Empty, error)
	// Lists all jobs that you started in the specified project. Job information
	// is available for a six month period after creation. The job list is sorted
	// in reverse chronological order, by job creation time. Requires the Can View
	// project role, or the Is Owner project role if you set the allUsers
	// property.
	ListJobs(context.Context, *ListJobsRequest) (*JobList, error)
	// RPC to get the results of a query job.
	GetQueryResults(context.Context, *GetQueryResultsRequest) (*GetQueryResultsResponse, error)
	// Runs a BigQuery SQL query synchronously and returns query results if the
	// query completes within a specified timeout.
	Query(context.Context, *PostQueryRequest) (*QueryResponse, error)
}

// UnimplementedJobServiceServer can be embedded to have forward compatible implementations.
type UnimplementedJobServiceServer struct {
}

func (*UnimplementedJobServiceServer) CancelJob(context.Context, *CancelJobRequest) (*JobCancelResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CancelJob not implemented")
}
func (*UnimplementedJobServiceServer) GetJob(context.Context, *GetJobRequest) (*Job, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetJob not implemented")
}
func (*UnimplementedJobServiceServer) InsertJob(context.Context, *InsertJobRequest) (*Job, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InsertJob not implemented")
}
func (*UnimplementedJobServiceServer) DeleteJob(context.Context, *DeleteJobRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteJob not implemented")
}
func (*UnimplementedJobServiceServer) ListJobs(context.Context, *ListJobsRequest) (*JobList, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListJobs not implemented")
}
func (*UnimplementedJobServiceServer) GetQueryResults(context.Context, *GetQueryResultsRequest) (*GetQueryResultsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetQueryResults not implemented")
}
func (*UnimplementedJobServiceServer) Query(context.Context, *PostQueryRequest) (*QueryResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Query not implemented")
}

func RegisterJobServiceServer(s *grpc.Server, srv JobServiceServer) {
	s.RegisterService(&_JobService_serviceDesc, srv)
}

func _JobService_CancelJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CancelJobRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(JobServiceServer).CancelJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.JobService/CancelJob",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(JobServiceServer).CancelJob(ctx, req.(*CancelJobRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _JobService_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetJobRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(JobServiceServer).GetJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.JobService/GetJob",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(JobServiceServer).GetJob(ctx, req.(*GetJobRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _JobService_InsertJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InsertJobRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(JobServiceServer).InsertJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.JobService/InsertJob",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(JobServiceServer).InsertJob(ctx, req.(*InsertJobRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _JobService_DeleteJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteJobRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(JobServiceServer).DeleteJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.JobService/DeleteJob",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(JobServiceServer).DeleteJob(ctx, req.(*DeleteJobRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _JobService_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListJobsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(JobServiceServer).ListJobs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.JobService/ListJobs",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(JobServiceServer).ListJobs(ctx, req.(*ListJobsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _JobService_GetQueryResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetQueryResultsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(JobServiceServer).GetQueryResults(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.JobService/GetQueryResults",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(JobServiceServer).GetQueryResults(ctx, req.(*GetQueryResultsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _JobService_Query_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostQueryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(JobServiceServer).Query(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.bigquery.v2.JobService/Query",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(JobServiceServer).Query(ctx, req.(*PostQueryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _JobService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.cloud.bigquery.v2.JobService",
	HandlerType: (*JobServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CancelJob",
			Handler:    _JobService_CancelJob_Handler,
		},
		{
			MethodName: "GetJob",
			Handler:    _JobService_GetJob_Handler,
		},
		{
			MethodName: "InsertJob",
			Handler:    _JobService_InsertJob_Handler,
		},
		{
			MethodName: "DeleteJob",
			Handler:    _JobService_DeleteJob_Handler,
		},
		{
			MethodName: "ListJobs",
			Handler:    _JobService_ListJobs_Handler,
		},
		{
			MethodName: "GetQueryResults",
			Handler:    _JobService_GetQueryResults_Handler,
		},
		{
			MethodName: "Query",
			Handler:    _JobService_Query_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/cloud/bigquery/v2/job.proto",
}
