//
// Created by pavlo.kalmykov@pluto.tv on 10/21/2020.
// Copyright (c) PlutoTV Inc 2020.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v6.30.2
// source: channels/channels.proto

package golang_client

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

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

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

	Document *Channel `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

func (x *CreateRequest) Reset() {
	*x = CreateRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateRequest) ProtoMessage() {}

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

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

func (x *CreateRequest) GetDocument() *Channel {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	Document *Channel `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

func (x *CreateResponse) Reset() {
	*x = CreateResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CreateResponse) ProtoMessage() {}

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

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

func (x *CreateResponse) GetDocument() *Channel {
	if x != nil {
		return x.Document
	}
	return nil
}

type CFeedsSyncAllIdsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *CFeedsSyncAllIdsRequest) Reset() {
	*x = CFeedsSyncAllIdsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CFeedsSyncAllIdsRequest) ProtoMessage() {}

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

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

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

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *Id) Reset() {
	*x = Id{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Id) ProtoMessage() {}

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

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

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

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

	// Expressed as a valid javascript Date, https://en.wikipedia.org/wiki/ISO_8601
	LastRunAt string `protobuf:"bytes,1,opt,name=last_run_at,json=lastRunAt,proto3" json:"last_run_at,omitempty"`
	Published bool   `protobuf:"varint,2,opt,name=published,proto3" json:"published,omitempty"`
}

func (x *CFeedsSyncDocumentsRequest) Reset() {
	*x = CFeedsSyncDocumentsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CFeedsSyncDocumentsRequest) ProtoMessage() {}

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

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

func (x *CFeedsSyncDocumentsRequest) GetLastRunAt() string {
	if x != nil {
		return x.LastRunAt
	}
	return ""
}

func (x *CFeedsSyncDocumentsRequest) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

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

	// how many results to return default 1000
	Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	// where to begin page default 0
	Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	// how to sort results
	Sort    []*GetAllPagedSort `protobuf:"bytes,3,rep,name=sort,proto3" json:"sort,omitempty"`
	Filters []*Filter          `protobuf:"bytes,4,rep,name=filters,proto3" json:"filters,omitempty"`
	// when set to true the `total count` metadata will not be calculated
	// this can save some performance as count is additional query
	DisableTotalCount bool `protobuf:"varint,5,opt,name=disable_total_count,json=disableTotalCount,proto3" json:"disable_total_count,omitempty"`
	// when set to true the `name` value will be sent to MongoDB as regex expression
	// when set to false the `name` value will be sent to MongoDB as a literal string
	EnableRegex bool `protobuf:"varint,6,opt,name=enable_regex,json=enableRegex,proto3" json:"enable_regex,omitempty"`
}

func (x *GetAllPagedChannelLiteRequest) Reset() {
	*x = GetAllPagedChannelLiteRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAllPagedChannelLiteRequest) ProtoMessage() {}

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

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

func (x *GetAllPagedChannelLiteRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *GetAllPagedChannelLiteRequest) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *GetAllPagedChannelLiteRequest) GetSort() []*GetAllPagedSort {
	if x != nil {
		return x.Sort
	}
	return nil
}

func (x *GetAllPagedChannelLiteRequest) GetFilters() []*Filter {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *GetAllPagedChannelLiteRequest) GetDisableTotalCount() bool {
	if x != nil {
		return x.DisableTotalCount
	}
	return false
}

func (x *GetAllPagedChannelLiteRequest) GetEnableRegex() bool {
	if x != nil {
		return x.EnableRegex
	}
	return false
}

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

	// how many results to return default 1000
	Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	// where to begin page default 0
	Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	// how to sort results
	Sort    []*GetAllPagedSort `protobuf:"bytes,3,rep,name=sort,proto3" json:"sort,omitempty"`
	Filters []*Filter          `protobuf:"bytes,4,rep,name=filters,proto3" json:"filters,omitempty"`
	// when set to true the `total count` metadata will not be calculated
	// this can save some performance as count is additional query
	DisableTotalCount bool     `protobuf:"varint,5,opt,name=disable_total_count,json=disableTotalCount,proto3" json:"disable_total_count,omitempty"`
	Projection        []string `protobuf:"bytes,6,rep,name=projection,proto3" json:"projection,omitempty"`
	// when set to true the `name` value will be sent to MongoDB as regex expression
	// when set to false the `name` value will be sent to MongoDB as a literal string
	EnableRegex bool `protobuf:"varint,7,opt,name=enable_regex,json=enableRegex,proto3" json:"enable_regex,omitempty"`
}

func (x *GetAllPagedRequest) Reset() {
	*x = GetAllPagedRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAllPagedRequest) ProtoMessage() {}

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

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

func (x *GetAllPagedRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *GetAllPagedRequest) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *GetAllPagedRequest) GetSort() []*GetAllPagedSort {
	if x != nil {
		return x.Sort
	}
	return nil
}

func (x *GetAllPagedRequest) GetFilters() []*Filter {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *GetAllPagedRequest) GetDisableTotalCount() bool {
	if x != nil {
		return x.DisableTotalCount
	}
	return false
}

func (x *GetAllPagedRequest) GetProjection() []string {
	if x != nil {
		return x.Projection
	}
	return nil
}

func (x *GetAllPagedRequest) GetEnableRegex() bool {
	if x != nil {
		return x.EnableRegex
	}
	return false
}

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

	// field to filter on
	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
	// value for the filter
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// type of the filter string (default), number, bool
	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	// operator to filter by (values must be AND or OR)
	Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator,omitempty"`
}

func (x *Filter) Reset() {
	*x = Filter{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Filter) ProtoMessage() {}

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

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

func (x *Filter) GetField() string {
	if x != nil {
		return x.Field
	}
	return ""
}

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

func (x *Filter) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Filter) GetOperator() string {
	if x != nil {
		return x.Operator
	}
	return ""
}

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

	// field to sort on
	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
	// sort direction 1 | -1
	Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *GetAllPagedSort) Reset() {
	*x = GetAllPagedSort{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAllPagedSort) ProtoMessage() {}

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

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

func (x *GetAllPagedSort) GetField() string {
	if x != nil {
		return x.Field
	}
	return ""
}

func (x *GetAllPagedSort) GetValue() int32 {
	if x != nil {
		return x.Value
	}
	return 0
}

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

	CurrentOffset int32 `protobuf:"varint,1,opt,name=current_offset,json=currentOffset,proto3" json:"current_offset,omitempty"`
	TotalItems    int32 `protobuf:"varint,2,opt,name=total_items,json=totalItems,proto3" json:"total_items,omitempty"`
}

func (x *Metadata) Reset() {
	*x = Metadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Metadata) ProtoMessage() {}

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

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

func (x *Metadata) GetCurrentOffset() int32 {
	if x != nil {
		return x.CurrentOffset
	}
	return 0
}

func (x *Metadata) GetTotalItems() int32 {
	if x != nil {
		return x.TotalItems
	}
	return 0
}

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

	Documents []*Channel `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
	Metadata  *Metadata  `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
}

func (x *GetAllPagedResponse) Reset() {
	*x = GetAllPagedResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAllPagedResponse) ProtoMessage() {}

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

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

func (x *GetAllPagedResponse) GetDocuments() []*Channel {
	if x != nil {
		return x.Documents
	}
	return nil
}

func (x *GetAllPagedResponse) GetMetadata() *Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

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

	Documents []*ChannelLite `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
	Metadata  *Metadata      `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
}

func (x *GetAllPagedChannelLiteResponse) Reset() {
	*x = GetAllPagedChannelLiteResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAllPagedChannelLiteResponse) ProtoMessage() {}

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

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

func (x *GetAllPagedChannelLiteResponse) GetDocuments() []*ChannelLite {
	if x != nil {
		return x.Documents
	}
	return nil
}

func (x *GetAllPagedChannelLiteResponse) GetMetadata() *Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

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

	Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
}

func (x *GetAllRequest) Reset() {
	*x = GetAllRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetAllRequest) ProtoMessage() {}

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

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

func (x *GetAllRequest) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

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

	// Expressed as a valid javascript Date, https://en.wikipedia.org/wiki/ISO_8601
	UpdatedAtMin string `protobuf:"bytes,1,opt,name=updated_at_min,json=updatedAtMin,proto3" json:"updated_at_min,omitempty"`
	// Expressed as a valid javascript Date, https://en.wikipedia.org/wiki/ISO_8601
	UpdatedAtMax string `protobuf:"bytes,2,opt,name=updated_at_max,json=updatedAtMax,proto3" json:"updated_at_max,omitempty"`
}

func (x *GetDocumentsUpdatedBetweenDatesRequest) Reset() {
	*x = GetDocumentsUpdatedBetweenDatesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetDocumentsUpdatedBetweenDatesRequest) ProtoMessage() {}

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

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

func (x *GetDocumentsUpdatedBetweenDatesRequest) GetUpdatedAtMin() string {
	if x != nil {
		return x.UpdatedAtMin
	}
	return ""
}

func (x *GetDocumentsUpdatedBetweenDatesRequest) GetUpdatedAtMax() string {
	if x != nil {
		return x.UpdatedAtMax
	}
	return ""
}

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

	ActiveRegion string `protobuf:"bytes,1,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
}

func (x *GetStitchedActiveChannelIdsRequest) Reset() {
	*x = GetStitchedActiveChannelIdsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetStitchedActiveChannelIdsRequest) ProtoMessage() {}

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

// Deprecated: Use GetStitchedActiveChannelIdsRequest.ProtoReflect.Descriptor instead.
func (*GetStitchedActiveChannelIdsRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{14}
}

func (x *GetStitchedActiveChannelIdsRequest) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

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

	Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
}

func (x *GetStitchedActiveChannelIdsResponse) Reset() {
	*x = GetStitchedActiveChannelIdsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetStitchedActiveChannelIdsResponse) ProtoMessage() {}

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

// Deprecated: Use GetStitchedActiveChannelIdsResponse.ProtoReflect.Descriptor instead.
func (*GetStitchedActiveChannelIdsResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{15}
}

func (x *GetStitchedActiveChannelIdsResponse) GetIds() []string {
	if x != nil {
		return x.Ids
	}
	return nil
}

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

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetChannelForActiveContentRequest) Reset() {
	*x = GetChannelForActiveContentRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetChannelForActiveContentRequest) ProtoMessage() {}

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

// Deprecated: Use GetChannelForActiveContentRequest.ProtoReflect.Descriptor instead.
func (*GetChannelForActiveContentRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{16}
}

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

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

	Id            string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name          string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Category      string `protobuf:"bytes,3,opt,name=category,proto3" json:"category,omitempty"`
	ActiveRegion  string `protobuf:"bytes,4,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
	IsStitched    bool   `protobuf:"varint,5,opt,name=is_stitched,json=isStitched,proto3" json:"is_stitched,omitempty"`
	LiveBroadcast bool   `protobuf:"varint,6,opt,name=live_broadcast,json=liveBroadcast,proto3" json:"live_broadcast,omitempty"`
}

func (x *GetChannelForActiveContentResponse) Reset() {
	*x = GetChannelForActiveContentResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetChannelForActiveContentResponse) ProtoMessage() {}

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

// Deprecated: Use GetChannelForActiveContentResponse.ProtoReflect.Descriptor instead.
func (*GetChannelForActiveContentResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{17}
}

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

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

func (x *GetChannelForActiveContentResponse) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *GetChannelForActiveContentResponse) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

func (x *GetChannelForActiveContentResponse) GetIsStitched() bool {
	if x != nil {
		return x.IsStitched
	}
	return false
}

func (x *GetChannelForActiveContentResponse) GetLiveBroadcast() bool {
	if x != nil {
		return x.LiveBroadcast
	}
	return false
}

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

	From       string   `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
	To         string   `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
	Channel    string   `protobuf:"bytes,3,opt,name=channel,proto3" json:"channel,omitempty"`
	Sort       string   `protobuf:"bytes,4,opt,name=sort,proto3" json:"sort,omitempty"`
	Limit      int32    `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
	Projection []string `protobuf:"bytes,6,rep,name=projection,proto3" json:"projection,omitempty"`
}

func (x *GetTimelinesForActiveContentRequest) Reset() {
	*x = GetTimelinesForActiveContentRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTimelinesForActiveContentRequest) ProtoMessage() {}

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

// Deprecated: Use GetTimelinesForActiveContentRequest.ProtoReflect.Descriptor instead.
func (*GetTimelinesForActiveContentRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{18}
}

func (x *GetTimelinesForActiveContentRequest) GetFrom() string {
	if x != nil {
		return x.From
	}
	return ""
}

func (x *GetTimelinesForActiveContentRequest) GetTo() string {
	if x != nil {
		return x.To
	}
	return ""
}

func (x *GetTimelinesForActiveContentRequest) GetChannel() string {
	if x != nil {
		return x.Channel
	}
	return ""
}

func (x *GetTimelinesForActiveContentRequest) GetSort() string {
	if x != nil {
		return x.Sort
	}
	return ""
}

func (x *GetTimelinesForActiveContentRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *GetTimelinesForActiveContentRequest) GetProjection() []string {
	if x != nil {
		return x.Projection
	}
	return nil
}

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

	Items []*TimelineForActiveContentResponse `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *GetTimelinesForActiveContentResponse) Reset() {
	*x = GetTimelinesForActiveContentResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetTimelinesForActiveContentResponse) ProtoMessage() {}

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

// Deprecated: Use GetTimelinesForActiveContentResponse.ProtoReflect.Descriptor instead.
func (*GetTimelinesForActiveContentResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{19}
}

func (x *GetTimelinesForActiveContentResponse) GetItems() []*TimelineForActiveContentResponse {
	if x != nil {
		return x.Items
	}
	return nil
}

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

	Id      string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Start   string `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	Stop    string `protobuf:"bytes,3,opt,name=stop,proto3" json:"stop,omitempty"`
	Channel string `protobuf:"bytes,4,opt,name=channel,proto3" json:"channel,omitempty"`
}

func (x *TimelineForActiveContentResponse) Reset() {
	*x = TimelineForActiveContentResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*TimelineForActiveContentResponse) ProtoMessage() {}

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

// Deprecated: Use TimelineForActiveContentResponse.ProtoReflect.Descriptor instead.
func (*TimelineForActiveContentResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{20}
}

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

func (x *TimelineForActiveContentResponse) GetStart() string {
	if x != nil {
		return x.Start
	}
	return ""
}

func (x *TimelineForActiveContentResponse) GetStop() string {
	if x != nil {
		return x.Stop
	}
	return ""
}

func (x *TimelineForActiveContentResponse) GetChannel() string {
	if x != nil {
		return x.Channel
	}
	return ""
}

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

	Id         string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Projection []string `protobuf:"bytes,2,rep,name=projection,proto3" json:"projection,omitempty"`
}

func (x *GetByIdRequest) Reset() {
	*x = GetByIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetByIdRequest) ProtoMessage() {}

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

// Deprecated: Use GetByIdRequest.ProtoReflect.Descriptor instead.
func (*GetByIdRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{21}
}

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

func (x *GetByIdRequest) GetProjection() []string {
	if x != nil {
		return x.Projection
	}
	return nil
}

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

	Document *Channel `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

func (x *GetByIdResponse) Reset() {
	*x = GetByIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetByIdResponse) ProtoMessage() {}

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

// Deprecated: Use GetByIdResponse.ProtoReflect.Descriptor instead.
func (*GetByIdResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{22}
}

func (x *GetByIdResponse) GetDocument() *Channel {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	Ids  []string           `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	Sort []*GetAllPagedSort `protobuf:"bytes,2,rep,name=sort,proto3" json:"sort,omitempty"`
}

func (x *GetByIdsRequest) Reset() {
	*x = GetByIdsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetByIdsRequest) ProtoMessage() {}

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

// Deprecated: Use GetByIdsRequest.ProtoReflect.Descriptor instead.
func (*GetByIdsRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{23}
}

func (x *GetByIdsRequest) GetIds() []string {
	if x != nil {
		return x.Ids
	}
	return nil
}

func (x *GetByIdsRequest) GetSort() []*GetAllPagedSort {
	if x != nil {
		return x.Sort
	}
	return nil
}

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

	Documents []*Channel `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
}

func (x *GetByIdsResponse) Reset() {
	*x = GetByIdsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetByIdsResponse) ProtoMessage() {}

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

// Deprecated: Use GetByIdsResponse.ProtoReflect.Descriptor instead.
func (*GetByIdsResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{24}
}

func (x *GetByIdsResponse) GetDocuments() []*Channel {
	if x != nil {
		return x.Documents
	}
	return nil
}

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

	AppNames []string `protobuf:"bytes,1,rep,name=app_names,json=appNames,proto3" json:"app_names,omitempty"`
	Devices  []string `protobuf:"bytes,2,rep,name=devices,proto3" json:"devices,omitempty"`
}

func (x *Distribution) Reset() {
	*x = Distribution{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Distribution) ProtoMessage() {}

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

// Deprecated: Use Distribution.ProtoReflect.Descriptor instead.
func (*Distribution) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{25}
}

func (x *Distribution) GetAppNames() []string {
	if x != nil {
		return x.AppNames
	}
	return nil
}

func (x *Distribution) GetDevices() []string {
	if x != nil {
		return x.Devices
	}
	return nil
}

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

	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
}

func (x *Path) Reset() {
	*x = Path{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Path) ProtoMessage() {}

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

// Deprecated: Use Path.ProtoReflect.Descriptor instead.
func (*Path) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{26}
}

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

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

	Id              string        `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name            string        `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Order           int32         `protobuf:"varint,3,opt,name=order,proto3" json:"order,omitempty"`
	SvgImageUrl     *Path         `protobuf:"bytes,4,opt,name=svg_image_url,json=svgImageUrl,proto3" json:"svg_image_url,omitempty"`
	PngImageUrl     *Path         `protobuf:"bytes,5,opt,name=png_image_url,json=pngImageUrl,proto3" json:"png_image_url,omitempty"`
	CreatedAt       string        `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt       string        `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Slug            string        `protobuf:"bytes,8,opt,name=slug,proto3" json:"slug,omitempty"`
	PlutoOfficeOnly bool          `protobuf:"varint,9,opt,name=pluto_office_only,json=plutoOfficeOnly,proto3" json:"pluto_office_only,omitempty"`
	StackingOrder   string        `protobuf:"bytes,10,opt,name=stacking_order,json=stackingOrder,proto3" json:"stacking_order,omitempty"`
	Distribution    *Distribution `protobuf:"bytes,11,opt,name=distribution,proto3" json:"distribution,omitempty"`
	ActiveRegion    string        `protobuf:"bytes,12,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
}

func (x *MainCategory) Reset() {
	*x = MainCategory{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*MainCategory) ProtoMessage() {}

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

// Deprecated: Use MainCategory.ProtoReflect.Descriptor instead.
func (*MainCategory) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{27}
}

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

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

func (x *MainCategory) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

func (x *MainCategory) GetSvgImageUrl() *Path {
	if x != nil {
		return x.SvgImageUrl
	}
	return nil
}

func (x *MainCategory) GetPngImageUrl() *Path {
	if x != nil {
		return x.PngImageUrl
	}
	return nil
}

func (x *MainCategory) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *MainCategory) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *MainCategory) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *MainCategory) GetPlutoOfficeOnly() bool {
	if x != nil {
		return x.PlutoOfficeOnly
	}
	return false
}

func (x *MainCategory) GetStackingOrder() string {
	if x != nil {
		return x.StackingOrder
	}
	return ""
}

func (x *MainCategory) GetDistribution() *Distribution {
	if x != nil {
		return x.Distribution
	}
	return nil
}

func (x *MainCategory) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

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

	Id                               string                `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CreatedAt                        string                `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt                        string                `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Name                             string                `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	Author                           string                `protobuf:"bytes,5,opt,name=author,proto3" json:"author,omitempty"`
	Parent                           string                `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"`
	Hash                             string                `protobuf:"bytes,7,opt,name=hash,proto3" json:"hash,omitempty"`
	Number                           int32                 `protobuf:"varint,8,opt,name=number,proto3" json:"number,omitempty"`
	CohortMask                       int32                 `protobuf:"varint,9,opt,name=cohort_mask,json=cohortMask,proto3" json:"cohort_mask,omitempty"`
	AccessCode                       int32                 `protobuf:"varint,10,opt,name=access_code,json=accessCode,proto3" json:"access_code,omitempty"`
	Published                        bool                  `protobuf:"varint,11,opt,name=published,proto3" json:"published,omitempty"`
	Description                      string                `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"`
	Category                         string                `protobuf:"bytes,13,opt,name=category,proto3" json:"category,omitempty"`
	Categories                       []*Category           `protobuf:"bytes,14,rep,name=categories,proto3" json:"categories,omitempty"`
	AutoSchedule                     bool                  `protobuf:"varint,15,opt,name=auto_schedule,json=autoSchedule,proto3" json:"auto_schedule,omitempty"`
	AutoScheduleDays                 int32                 `protobuf:"varint,16,opt,name=auto_schedule_days,json=autoScheduleDays,proto3" json:"auto_schedule_days,omitempty"`
	Summary                          string                `protobuf:"bytes,17,opt,name=summary,proto3" json:"summary,omitempty"`
	Tags                             []string              `protobuf:"bytes,18,rep,name=tags,proto3" json:"tags,omitempty"`
	GeoTargets                       []string              `protobuf:"bytes,19,rep,name=geo_targets,json=geoTargets,proto3" json:"geo_targets,omitempty"`
	KidsMode                         bool                  `protobuf:"varint,20,opt,name=kids_mode,json=kidsMode,proto3" json:"kids_mode,omitempty"`
	Featured                         int32                 `protobuf:"varint,21,opt,name=featured,proto3" json:"featured,omitempty"`
	Created                          string                `protobuf:"bytes,22,opt,name=created,proto3" json:"created,omitempty"`
	Updated                          string                `protobuf:"bytes,23,opt,name=updated,proto3" json:"updated,omitempty"`
	Visibility                       string                `protobuf:"bytes,24,opt,name=visibility,proto3" json:"visibility,omitempty"`
	Thumbnail                        *Image                `protobuf:"bytes,25,opt,name=thumbnail,proto3" json:"thumbnail,omitempty"`
	FeaturedImage                    *Image                `protobuf:"bytes,26,opt,name=featured_image,json=featuredImage,proto3" json:"featured_image,omitempty"`
	PartnerLogo                      *Image                `protobuf:"bytes,27,opt,name=partner_logo,json=partnerLogo,proto3" json:"partner_logo,omitempty"`
	Logo                             *Image                `protobuf:"bytes,28,opt,name=logo,proto3" json:"logo,omitempty"`
	Tile                             *Image                `protobuf:"bytes,29,opt,name=tile,proto3" json:"tile,omitempty"`
	TileGrayscale                    *Image                `protobuf:"bytes,30,opt,name=tile_grayscale,json=tileGrayscale,proto3" json:"tile_grayscale,omitempty"`
	Browse                           *Image                `protobuf:"bytes,31,opt,name=browse,proto3" json:"browse,omitempty"`
	Background                       *Image                `protobuf:"bytes,32,opt,name=background,proto3" json:"background,omitempty"`
	Notes                            string                `protobuf:"bytes,33,opt,name=notes,proto3" json:"notes,omitempty"`
	Type                             string                `protobuf:"bytes,34,opt,name=type,proto3" json:"type,omitempty"`
	Start                            string                `protobuf:"bytes,35,opt,name=start,proto3" json:"start,omitempty"`
	Stop                             string                `protobuf:"bytes,36,opt,name=stop,proto3" json:"stop,omitempty"`
	Redirect                         int32                 `protobuf:"varint,37,opt,name=redirect,proto3" json:"redirect,omitempty"`
	OnDemand                         bool                  `protobuf:"varint,38,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"`
	OnDemandDescription              string                `protobuf:"bytes,39,opt,name=on_demand_description,json=onDemandDescription,proto3" json:"on_demand_description,omitempty"`
	Archived                         bool                  `protobuf:"varint,40,opt,name=archived,proto3" json:"archived,omitempty"`
	Slug                             string                `protobuf:"bytes,41,opt,name=slug,proto3" json:"slug,omitempty"`
	RegionFilter                     *RegionFilter         `protobuf:"bytes,42,opt,name=region_filter,json=regionFilter,proto3" json:"region_filter,omitempty"`
	DmaDistribution                  []int32               `protobuf:"varint,43,rep,packed,name=dma_distribution,json=dmaDistribution,proto3" json:"dma_distribution,omitempty"`
	Distribution                     *RegionFilter         `protobuf:"bytes,44,opt,name=distribution,proto3" json:"distribution,omitempty"`
	EpisodesQueue                    []*EpisodesQueue      `protobuf:"bytes,45,rep,name=episodes_queue,json=episodesQueue,proto3" json:"episodes_queue,omitempty"`
	Overlays                         []string              `protobuf:"bytes,46,rep,name=overlays,proto3" json:"overlays,omitempty"`
	DirectOnly                       bool                  `protobuf:"varint,47,opt,name=direct_only,json=directOnly,proto3" json:"direct_only,omitempty"`
	LiveBroadcast                    bool                  `protobuf:"varint,48,opt,name=live_broadcast,json=liveBroadcast,proto3" json:"live_broadcast,omitempty"`
	HasSubClips                      bool                  `protobuf:"varint,49,opt,name=has_sub_clips,json=hasSubClips,proto3" json:"has_sub_clips,omitempty"`
	IsStitched                       bool                  `protobuf:"varint,50,opt,name=is_stitched,json=isStitched,proto3" json:"is_stitched,omitempty"`
	RenderInterstitials              bool                  `protobuf:"varint,51,opt,name=render_interstitials,json=renderInterstitials,proto3" json:"render_interstitials,omitempty"`
	PlutoOfficeOnly                  bool                  `protobuf:"varint,52,opt,name=pluto_office_only,json=plutoOfficeOnly,proto3" json:"pluto_office_only,omitempty"`
	PrivateChannel                   *PrivateChannel       `protobuf:"bytes,53,opt,name=private_channel,json=privateChannel,proto3" json:"private_channel,omitempty"`
	ScheduledPublishing              *ScheduledPublishing  `protobuf:"bytes,54,opt,name=scheduled_publishing,json=scheduledPublishing,proto3" json:"scheduled_publishing,omitempty"`
	SolidLogoPNG                     *Image                `protobuf:"bytes,55,opt,name=solid_logo_p_n_g,json=solidLogoPNG,proto3" json:"solid_logo_p_n_g,omitempty"`
	ColorLogoPNG                     *Image                `protobuf:"bytes,56,opt,name=color_logo_p_n_g,json=colorLogoPNG,proto3" json:"color_logo_p_n_g,omitempty"`
	SolidLogoSVG                     *Image                `protobuf:"bytes,57,opt,name=solid_logo_s_v_g,json=solidLogoSVG,proto3" json:"solid_logo_s_v_g,omitempty"`
	ColorLogoSVG                     *Image                `protobuf:"bytes,58,opt,name=color_logo_s_v_g,json=colorLogoSVG,proto3" json:"color_logo_s_v_g,omitempty"`
	SupportedChannelCaptionLanguages []string              `protobuf:"bytes,59,rep,name=supported_channel_caption_languages,json=supportedChannelCaptionLanguages,proto3" json:"supported_channel_caption_languages,omitempty"`
	Tmsid                            string                `protobuf:"bytes,60,opt,name=tmsid,proto3" json:"tmsid,omitempty"`
	ActiveRegion                     string                `protobuf:"bytes,61,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`             // not found in inf-lib-schemas
	CategoryMask                     int32                 `protobuf:"varint,62,opt,name=category_mask,json=categoryMask,proto3" json:"category_mask,omitempty"`            // not found in inf-lib-schemas
	MetadataLanguage                 string                `protobuf:"bytes,63,opt,name=metadata_language,json=metadataLanguage,proto3" json:"metadata_language,omitempty"` // not found in inf-lib-schemas
	SeoAliases                       []string              `protobuf:"bytes,64,rep,name=seo_aliases,json=seoAliases,proto3" json:"seo_aliases,omitempty"`
	ChatRoomId                       int32                 `protobuf:"varint,65,opt,name=chat_room_id,json=chatRoomId,proto3" json:"chat_room_id,omitempty"`
	ChatEnabled                      bool                  `protobuf:"varint,66,opt,name=chat_enabled,json=chatEnabled,proto3" json:"chat_enabled,omitempty"`
	GracenoteIntegration             *GracenoteIntegration `protobuf:"bytes,67,opt,name=gracenote_integration,json=gracenoteIntegration,proto3" json:"gracenote_integration,omitempty"`
	// mongoose internal revision number; only generated when inserted via mongoose
	V                        int64                     `protobuf:"varint,68,opt,name=v,proto3" json:"v,omitempty"`
	SamsungChannelProperties []*SamsungChannelProperty `protobuf:"bytes,69,rep,name=samsung_channel_properties,json=samsungChannelProperties,proto3" json:"samsung_channel_properties,omitempty"`
	GoogleDai                bool                      `protobuf:"varint,70,opt,name=google_dai,json=googleDai,proto3" json:"google_dai,omitempty"`
	CustomReferences         []*CustomReferenceValue   `protobuf:"bytes,71,rep,name=custom_references,json=customReferences,proto3" json:"custom_references,omitempty"`
	ThumbnailAlt             *Image                    `protobuf:"bytes,72,opt,name=thumbnail_alt,json=thumbnailAlt,proto3" json:"thumbnail_alt,omitempty"`
	FeaturedImageAlt         *Image                    `protobuf:"bytes,73,opt,name=featured_image_alt,json=featuredImageAlt,proto3" json:"featured_image_alt,omitempty"`
	LogoAlt                  *Image                    `protobuf:"bytes,74,opt,name=logo_alt,json=logoAlt,proto3" json:"logo_alt,omitempty"`
	SolidLogoPNGAlt          *Image                    `protobuf:"bytes,75,opt,name=solid_logo_p_n_g_alt,json=solidLogoPNGAlt,proto3" json:"solid_logo_p_n_g_alt,omitempty"`
	ColorLogoPNGAlt          *Image                    `protobuf:"bytes,76,opt,name=color_logo_p_n_g_alt,json=colorLogoPNGAlt,proto3" json:"color_logo_p_n_g_alt,omitempty"`
	SolidLogoSVGAlt          *Image                    `protobuf:"bytes,77,opt,name=solid_logo_s_v_g_alt,json=solidLogoSVGAlt,proto3" json:"solid_logo_s_v_g_alt,omitempty"`
	ColorLogoSVGAlt          *Image                    `protobuf:"bytes,78,opt,name=color_logo_s_v_g_alt,json=colorLogoSVGAlt,proto3" json:"color_logo_s_v_g_alt,omitempty"`
	MainCategories           []*MainCategory           `protobuf:"bytes,79,rep,name=main_categories,json=mainCategories,proto3" json:"main_categories,omitempty"`
	AutoEpgSource            string                    `protobuf:"bytes,80,opt,name=auto_epg_source,json=autoEpgSource,proto3" json:"auto_epg_source,omitempty"`
	CfaasIntegration         *CfaasIntegrationResponse `protobuf:"bytes,81,opt,name=cfaas_integration,json=cfaasIntegration,proto3" json:"cfaas_integration,omitempty"`
	LogoOverlayEnable        bool                      `protobuf:"varint,82,opt,name=logo_overlay_enable,json=logoOverlayEnable,proto3" json:"logo_overlay_enable,omitempty"`
	XIsDASHReadyDRM          bool                      `protobuf:"varint,83,opt,name=_is_d_a_s_h_ready_d_r_m,json=_isDASHReadyDRM,proto3" json:"_is_d_a_s_h_ready_d_r_m,omitempty"`
	Status                   string                    `protobuf:"bytes,84,opt,name=status,proto3" json:"status,omitempty"`
	ZipCodeDistribution      []string                  `protobuf:"bytes,85,rep,name=zip_code_distribution,json=zipCodeDistribution,proto3" json:"zip_code_distribution,omitempty"`
}

func (x *Channel) Reset() {
	*x = Channel{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Channel) ProtoMessage() {}

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

// Deprecated: Use Channel.ProtoReflect.Descriptor instead.
func (*Channel) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{28}
}

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

func (x *Channel) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *Channel) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

func (x *Channel) GetAuthor() string {
	if x != nil {
		return x.Author
	}
	return ""
}

func (x *Channel) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *Channel) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

func (x *Channel) GetNumber() int32 {
	if x != nil {
		return x.Number
	}
	return 0
}

func (x *Channel) GetCohortMask() int32 {
	if x != nil {
		return x.CohortMask
	}
	return 0
}

func (x *Channel) GetAccessCode() int32 {
	if x != nil {
		return x.AccessCode
	}
	return 0
}

func (x *Channel) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

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

func (x *Channel) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *Channel) GetCategories() []*Category {
	if x != nil {
		return x.Categories
	}
	return nil
}

func (x *Channel) GetAutoSchedule() bool {
	if x != nil {
		return x.AutoSchedule
	}
	return false
}

func (x *Channel) GetAutoScheduleDays() int32 {
	if x != nil {
		return x.AutoScheduleDays
	}
	return 0
}

func (x *Channel) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *Channel) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *Channel) GetGeoTargets() []string {
	if x != nil {
		return x.GeoTargets
	}
	return nil
}

func (x *Channel) GetKidsMode() bool {
	if x != nil {
		return x.KidsMode
	}
	return false
}

func (x *Channel) GetFeatured() int32 {
	if x != nil {
		return x.Featured
	}
	return 0
}

func (x *Channel) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *Channel) GetUpdated() string {
	if x != nil {
		return x.Updated
	}
	return ""
}

func (x *Channel) GetVisibility() string {
	if x != nil {
		return x.Visibility
	}
	return ""
}

func (x *Channel) GetThumbnail() *Image {
	if x != nil {
		return x.Thumbnail
	}
	return nil
}

func (x *Channel) GetFeaturedImage() *Image {
	if x != nil {
		return x.FeaturedImage
	}
	return nil
}

func (x *Channel) GetPartnerLogo() *Image {
	if x != nil {
		return x.PartnerLogo
	}
	return nil
}

func (x *Channel) GetLogo() *Image {
	if x != nil {
		return x.Logo
	}
	return nil
}

func (x *Channel) GetTile() *Image {
	if x != nil {
		return x.Tile
	}
	return nil
}

func (x *Channel) GetTileGrayscale() *Image {
	if x != nil {
		return x.TileGrayscale
	}
	return nil
}

func (x *Channel) GetBrowse() *Image {
	if x != nil {
		return x.Browse
	}
	return nil
}

func (x *Channel) GetBackground() *Image {
	if x != nil {
		return x.Background
	}
	return nil
}

func (x *Channel) GetNotes() string {
	if x != nil {
		return x.Notes
	}
	return ""
}

func (x *Channel) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Channel) GetStart() string {
	if x != nil {
		return x.Start
	}
	return ""
}

func (x *Channel) GetStop() string {
	if x != nil {
		return x.Stop
	}
	return ""
}

func (x *Channel) GetRedirect() int32 {
	if x != nil {
		return x.Redirect
	}
	return 0
}

func (x *Channel) GetOnDemand() bool {
	if x != nil {
		return x.OnDemand
	}
	return false
}

func (x *Channel) GetOnDemandDescription() string {
	if x != nil {
		return x.OnDemandDescription
	}
	return ""
}

func (x *Channel) GetArchived() bool {
	if x != nil {
		return x.Archived
	}
	return false
}

func (x *Channel) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *Channel) GetRegionFilter() *RegionFilter {
	if x != nil {
		return x.RegionFilter
	}
	return nil
}

func (x *Channel) GetDmaDistribution() []int32 {
	if x != nil {
		return x.DmaDistribution
	}
	return nil
}

func (x *Channel) GetDistribution() *RegionFilter {
	if x != nil {
		return x.Distribution
	}
	return nil
}

func (x *Channel) GetEpisodesQueue() []*EpisodesQueue {
	if x != nil {
		return x.EpisodesQueue
	}
	return nil
}

func (x *Channel) GetOverlays() []string {
	if x != nil {
		return x.Overlays
	}
	return nil
}

func (x *Channel) GetDirectOnly() bool {
	if x != nil {
		return x.DirectOnly
	}
	return false
}

func (x *Channel) GetLiveBroadcast() bool {
	if x != nil {
		return x.LiveBroadcast
	}
	return false
}

func (x *Channel) GetHasSubClips() bool {
	if x != nil {
		return x.HasSubClips
	}
	return false
}

func (x *Channel) GetIsStitched() bool {
	if x != nil {
		return x.IsStitched
	}
	return false
}

func (x *Channel) GetRenderInterstitials() bool {
	if x != nil {
		return x.RenderInterstitials
	}
	return false
}

func (x *Channel) GetPlutoOfficeOnly() bool {
	if x != nil {
		return x.PlutoOfficeOnly
	}
	return false
}

func (x *Channel) GetPrivateChannel() *PrivateChannel {
	if x != nil {
		return x.PrivateChannel
	}
	return nil
}

func (x *Channel) GetScheduledPublishing() *ScheduledPublishing {
	if x != nil {
		return x.ScheduledPublishing
	}
	return nil
}

func (x *Channel) GetSolidLogoPNG() *Image {
	if x != nil {
		return x.SolidLogoPNG
	}
	return nil
}

func (x *Channel) GetColorLogoPNG() *Image {
	if x != nil {
		return x.ColorLogoPNG
	}
	return nil
}

func (x *Channel) GetSolidLogoSVG() *Image {
	if x != nil {
		return x.SolidLogoSVG
	}
	return nil
}

func (x *Channel) GetColorLogoSVG() *Image {
	if x != nil {
		return x.ColorLogoSVG
	}
	return nil
}

func (x *Channel) GetSupportedChannelCaptionLanguages() []string {
	if x != nil {
		return x.SupportedChannelCaptionLanguages
	}
	return nil
}

func (x *Channel) GetTmsid() string {
	if x != nil {
		return x.Tmsid
	}
	return ""
}

func (x *Channel) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

func (x *Channel) GetCategoryMask() int32 {
	if x != nil {
		return x.CategoryMask
	}
	return 0
}

func (x *Channel) GetMetadataLanguage() string {
	if x != nil {
		return x.MetadataLanguage
	}
	return ""
}

func (x *Channel) GetSeoAliases() []string {
	if x != nil {
		return x.SeoAliases
	}
	return nil
}

func (x *Channel) GetChatRoomId() int32 {
	if x != nil {
		return x.ChatRoomId
	}
	return 0
}

func (x *Channel) GetChatEnabled() bool {
	if x != nil {
		return x.ChatEnabled
	}
	return false
}

func (x *Channel) GetGracenoteIntegration() *GracenoteIntegration {
	if x != nil {
		return x.GracenoteIntegration
	}
	return nil
}

func (x *Channel) GetV() int64 {
	if x != nil {
		return x.V
	}
	return 0
}

func (x *Channel) GetSamsungChannelProperties() []*SamsungChannelProperty {
	if x != nil {
		return x.SamsungChannelProperties
	}
	return nil
}

func (x *Channel) GetGoogleDai() bool {
	if x != nil {
		return x.GoogleDai
	}
	return false
}

func (x *Channel) GetCustomReferences() []*CustomReferenceValue {
	if x != nil {
		return x.CustomReferences
	}
	return nil
}

func (x *Channel) GetThumbnailAlt() *Image {
	if x != nil {
		return x.ThumbnailAlt
	}
	return nil
}

func (x *Channel) GetFeaturedImageAlt() *Image {
	if x != nil {
		return x.FeaturedImageAlt
	}
	return nil
}

func (x *Channel) GetLogoAlt() *Image {
	if x != nil {
		return x.LogoAlt
	}
	return nil
}

func (x *Channel) GetSolidLogoPNGAlt() *Image {
	if x != nil {
		return x.SolidLogoPNGAlt
	}
	return nil
}

func (x *Channel) GetColorLogoPNGAlt() *Image {
	if x != nil {
		return x.ColorLogoPNGAlt
	}
	return nil
}

func (x *Channel) GetSolidLogoSVGAlt() *Image {
	if x != nil {
		return x.SolidLogoSVGAlt
	}
	return nil
}

func (x *Channel) GetColorLogoSVGAlt() *Image {
	if x != nil {
		return x.ColorLogoSVGAlt
	}
	return nil
}

func (x *Channel) GetMainCategories() []*MainCategory {
	if x != nil {
		return x.MainCategories
	}
	return nil
}

func (x *Channel) GetAutoEpgSource() string {
	if x != nil {
		return x.AutoEpgSource
	}
	return ""
}

func (x *Channel) GetCfaasIntegration() *CfaasIntegrationResponse {
	if x != nil {
		return x.CfaasIntegration
	}
	return nil
}

func (x *Channel) GetLogoOverlayEnable() bool {
	if x != nil {
		return x.LogoOverlayEnable
	}
	return false
}

func (x *Channel) GetXIsDASHReadyDRM() bool {
	if x != nil {
		return x.XIsDASHReadyDRM
	}
	return false
}

func (x *Channel) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *Channel) GetZipCodeDistribution() []string {
	if x != nil {
		return x.ZipCodeDistribution
	}
	return nil
}

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

	Id           string      `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name         string      `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Category     string      `protobuf:"bytes,13,opt,name=category,proto3" json:"category,omitempty"`
	Categories   []*Category `protobuf:"bytes,3,rep,name=categories,proto3" json:"categories,omitempty"`
	ActiveRegion string      `protobuf:"bytes,4,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"` // not found in inf-lib-schemas
	Archived     bool        `protobuf:"varint,5,opt,name=archived,proto3" json:"archived,omitempty"`
	Published    bool        `protobuf:"varint,6,opt,name=published,proto3" json:"published,omitempty"`
	Number       int32       `protobuf:"varint,7,opt,name=number,proto3" json:"number,omitempty"`
}

func (x *ChannelLite) Reset() {
	*x = ChannelLite{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ChannelLite) ProtoMessage() {}

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

// Deprecated: Use ChannelLite.ProtoReflect.Descriptor instead.
func (*ChannelLite) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{29}
}

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

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

func (x *ChannelLite) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *ChannelLite) GetCategories() []*Category {
	if x != nil {
		return x.Categories
	}
	return nil
}

func (x *ChannelLite) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

func (x *ChannelLite) GetArchived() bool {
	if x != nil {
		return x.Archived
	}
	return false
}

func (x *ChannelLite) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

func (x *ChannelLite) GetNumber() int32 {
	if x != nil {
		return x.Number
	}
	return 0
}

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

	Id    string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Type  string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *CustomReferenceValue) Reset() {
	*x = CustomReferenceValue{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CustomReferenceValue) ProtoMessage() {}

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

// Deprecated: Use CustomReferenceValue.ProtoReflect.Descriptor instead.
func (*CustomReferenceValue) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{30}
}

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

func (x *CustomReferenceValue) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

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

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

	Id             string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Channel        string `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"`
	ServiceId      string `protobuf:"bytes,3,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
	IntilesEnabled bool   `protobuf:"varint,4,opt,name=intiles_enabled,json=intilesEnabled,proto3" json:"intiles_enabled,omitempty"`
	Region         string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"`
}

func (x *SamsungChannelProperty) Reset() {
	*x = SamsungChannelProperty{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SamsungChannelProperty) ProtoMessage() {}

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

// Deprecated: Use SamsungChannelProperty.ProtoReflect.Descriptor instead.
func (*SamsungChannelProperty) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{31}
}

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

func (x *SamsungChannelProperty) GetChannel() string {
	if x != nil {
		return x.Channel
	}
	return ""
}

func (x *SamsungChannelProperty) GetServiceId() string {
	if x != nil {
		return x.ServiceId
	}
	return ""
}

func (x *SamsungChannelProperty) GetIntilesEnabled() bool {
	if x != nil {
		return x.IntilesEnabled
	}
	return false
}

func (x *SamsungChannelProperty) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

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

	Enabled     bool   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	DynamicClip string `protobuf:"bytes,2,opt,name=dynamic_clip,json=dynamicClip,proto3" json:"dynamic_clip,omitempty"`
	SeriesType  string `protobuf:"bytes,3,opt,name=series_type,json=seriesType,proto3" json:"series_type,omitempty"`
	Category    string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"`
	SubCategory string `protobuf:"bytes,5,opt,name=sub_category,json=subCategory,proto3" json:"sub_category,omitempty"`
	Genre       string `protobuf:"bytes,6,opt,name=genre,proto3" json:"genre,omitempty"`
	SubGenre    string `protobuf:"bytes,7,opt,name=sub_genre,json=subGenre,proto3" json:"sub_genre,omitempty"`
}

func (x *GracenoteIntegration) Reset() {
	*x = GracenoteIntegration{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GracenoteIntegration) ProtoMessage() {}

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

// Deprecated: Use GracenoteIntegration.ProtoReflect.Descriptor instead.
func (*GracenoteIntegration) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{32}
}

func (x *GracenoteIntegration) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *GracenoteIntegration) GetDynamicClip() string {
	if x != nil {
		return x.DynamicClip
	}
	return ""
}

func (x *GracenoteIntegration) GetSeriesType() string {
	if x != nil {
		return x.SeriesType
	}
	return ""
}

func (x *GracenoteIntegration) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *GracenoteIntegration) GetSubCategory() string {
	if x != nil {
		return x.SubCategory
	}
	return ""
}

func (x *GracenoteIntegration) GetGenre() string {
	if x != nil {
		return x.Genre
	}
	return ""
}

func (x *GracenoteIntegration) GetSubGenre() string {
	if x != nil {
		return x.SubGenre
	}
	return ""
}

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

	Start  string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
	End    string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
	Active bool   `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"`
}

func (x *ScheduledPublishing) Reset() {
	*x = ScheduledPublishing{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ScheduledPublishing) ProtoMessage() {}

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

// Deprecated: Use ScheduledPublishing.ProtoReflect.Descriptor instead.
func (*ScheduledPublishing) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{33}
}

func (x *ScheduledPublishing) GetStart() string {
	if x != nil {
		return x.Start
	}
	return ""
}

func (x *ScheduledPublishing) GetEnd() string {
	if x != nil {
		return x.End
	}
	return ""
}

func (x *ScheduledPublishing) GetActive() bool {
	if x != nil {
		return x.Active
	}
	return false
}

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

	CreatedBy       string `protobuf:"bytes,1,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	SubscriberCode  string `protobuf:"bytes,2,opt,name=subscriber_code,json=subscriberCode,proto3" json:"subscriber_code,omitempty"`
	PublisherCode   string `protobuf:"bytes,3,opt,name=publisher_code,json=publisherCode,proto3" json:"publisher_code,omitempty"`
	Endpoint        string `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	StreamName      string `protobuf:"bytes,5,opt,name=stream_name,json=streamName,proto3" json:"stream_name,omitempty"`
	Episode         string `protobuf:"bytes,6,opt,name=episode,proto3" json:"episode,omitempty"`
	Series          string `protobuf:"bytes,7,opt,name=series,proto3" json:"series,omitempty"`
	Clip            string `protobuf:"bytes,8,opt,name=clip,proto3" json:"clip,omitempty"`
	EpisodeName     string `protobuf:"bytes,9,opt,name=episode_name,json=episodeName,proto3" json:"episode_name,omitempty"`
	SubscriberCount string `protobuf:"bytes,10,opt,name=subscriber_count,json=subscriberCount,proto3" json:"subscriber_count,omitempty"`
}

func (x *PrivateChannel) Reset() {
	*x = PrivateChannel{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*PrivateChannel) ProtoMessage() {}

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

// Deprecated: Use PrivateChannel.ProtoReflect.Descriptor instead.
func (*PrivateChannel) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{34}
}

func (x *PrivateChannel) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

func (x *PrivateChannel) GetSubscriberCode() string {
	if x != nil {
		return x.SubscriberCode
	}
	return ""
}

func (x *PrivateChannel) GetPublisherCode() string {
	if x != nil {
		return x.PublisherCode
	}
	return ""
}

func (x *PrivateChannel) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *PrivateChannel) GetStreamName() string {
	if x != nil {
		return x.StreamName
	}
	return ""
}

func (x *PrivateChannel) GetEpisode() string {
	if x != nil {
		return x.Episode
	}
	return ""
}

func (x *PrivateChannel) GetSeries() string {
	if x != nil {
		return x.Series
	}
	return ""
}

func (x *PrivateChannel) GetClip() string {
	if x != nil {
		return x.Clip
	}
	return ""
}

func (x *PrivateChannel) GetEpisodeName() string {
	if x != nil {
		return x.EpisodeName
	}
	return ""
}

func (x *PrivateChannel) GetSubscriberCount() string {
	if x != nil {
		return x.SubscriberCount
	}
	return ""
}

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

	Episode string `protobuf:"bytes,1,opt,name=episode,proto3" json:"episode,omitempty"`
	Order   int32  `protobuf:"varint,2,opt,name=order,proto3" json:"order,omitempty"`
}

func (x *EpisodesQueue) Reset() {
	*x = EpisodesQueue{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*EpisodesQueue) ProtoMessage() {}

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

// Deprecated: Use EpisodesQueue.ProtoReflect.Descriptor instead.
func (*EpisodesQueue) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{35}
}

func (x *EpisodesQueue) GetEpisode() string {
	if x != nil {
		return x.Episode
	}
	return ""
}

func (x *EpisodesQueue) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

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

	Include []string `protobuf:"bytes,1,rep,name=include,proto3" json:"include,omitempty"`
	Exclude []string `protobuf:"bytes,2,rep,name=exclude,proto3" json:"exclude,omitempty"`
}

func (x *RegionFilter) Reset() {
	*x = RegionFilter{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*RegionFilter) ProtoMessage() {}

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

// Deprecated: Use RegionFilter.ProtoReflect.Descriptor instead.
func (*RegionFilter) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{36}
}

func (x *RegionFilter) GetInclude() []string {
	if x != nil {
		return x.Include
	}
	return nil
}

func (x *RegionFilter) GetExclude() []string {
	if x != nil {
		return x.Exclude
	}
	return nil
}

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

	Path  string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
}

func (x *Image) Reset() {
	*x = Image{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Image) ProtoMessage() {}

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

// Deprecated: Use Image.ProtoReflect.Descriptor instead.
func (*Image) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{37}
}

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

func (x *Image) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

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

	CatId string `protobuf:"bytes,1,opt,name=cat_id,json=catId,proto3" json:"cat_id,omitempty"`
	Order int32  `protobuf:"varint,2,opt,name=order,proto3" json:"order,omitempty"`
}

func (x *Category) Reset() {
	*x = Category{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Category) ProtoMessage() {}

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

// Deprecated: Use Category.ProtoReflect.Descriptor instead.
func (*Category) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{38}
}

func (x *Category) GetCatId() string {
	if x != nil {
		return x.CatId
	}
	return ""
}

func (x *Category) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

type GetNonStitchedChannelsWithMultipleScheduledClipsParams struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsParams) Reset() {
	*x = GetNonStitchedChannelsWithMultipleScheduledClipsParams{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNonStitchedChannelsWithMultipleScheduledClipsParams) ProtoMessage() {}

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

// Deprecated: Use GetNonStitchedChannelsWithMultipleScheduledClipsParams.ProtoReflect.Descriptor instead.
func (*GetNonStitchedChannelsWithMultipleScheduledClipsParams) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{39}
}

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

	Channels []*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"`
}

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse) Reset() {
	*x = GetNonStitchedChannelsWithMultipleScheduledClipsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNonStitchedChannelsWithMultipleScheduledClipsResponse) ProtoMessage() {}

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

// Deprecated: Use GetNonStitchedChannelsWithMultipleScheduledClipsResponse.ProtoReflect.Descriptor instead.
func (*GetNonStitchedChannelsWithMultipleScheduledClipsResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{40}
}

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse) GetChannels() []*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel {
	if x != nil {
		return x.Channels
	}
	return nil
}

// Deprecated. Will be removed once client (Stitcher Sequence Lambda) no longer using
type GetChannelByIdRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetChannelByIdRequest) Reset() {
	*x = GetChannelByIdRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetChannelByIdRequest) ProtoMessage() {}

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

// Deprecated: Use GetChannelByIdRequest.ProtoReflect.Descriptor instead.
func (*GetChannelByIdRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{41}
}

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

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

	Channel *Channel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"`
}

func (x *GetChannelByIdResponse) Reset() {
	*x = GetChannelByIdResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetChannelByIdResponse) ProtoMessage() {}

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

// Deprecated: Use GetChannelByIdResponse.ProtoReflect.Descriptor instead.
func (*GetChannelByIdResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{42}
}

func (x *GetChannelByIdResponse) GetChannel() *Channel {
	if x != nil {
		return x.Channel
	}
	return nil
}

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

	Id           string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Document     *Channel `protobuf:"bytes,2,opt,name=document,proto3" json:"document,omitempty"`
	UpdateFields []string `protobuf:"bytes,3,rep,name=update_fields,json=updateFields,proto3" json:"update_fields,omitempty"`
}

func (x *UpdateFieldsRequest) Reset() {
	*x = UpdateFieldsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateFieldsRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateFieldsRequest.ProtoReflect.Descriptor instead.
func (*UpdateFieldsRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{43}
}

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

func (x *UpdateFieldsRequest) GetDocument() *Channel {
	if x != nil {
		return x.Document
	}
	return nil
}

func (x *UpdateFieldsRequest) GetUpdateFields() []string {
	if x != nil {
		return x.UpdateFields
	}
	return nil
}

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

	Document *Channel `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

func (x *UpdateFieldsResponse) Reset() {
	*x = UpdateFieldsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*UpdateFieldsResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateFieldsResponse.ProtoReflect.Descriptor instead.
func (*UpdateFieldsResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{44}
}

func (x *UpdateFieldsResponse) GetDocument() *Channel {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	Devices      []string `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"`
	IncludeGroup []string `protobuf:"bytes,2,rep,name=include_group,json=includeGroup,proto3" json:"include_group,omitempty"`
	ExcludeGroup []string `protobuf:"bytes,3,rep,name=exclude_group,json=excludeGroup,proto3" json:"exclude_group,omitempty"`
	RemoveGroup  []string `protobuf:"bytes,4,rep,name=remove_group,json=removeGroup,proto3" json:"remove_group,omitempty"`
}

func (x *BulkDeviceUpdateRequest) Reset() {
	*x = BulkDeviceUpdateRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BulkDeviceUpdateRequest) ProtoMessage() {}

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

// Deprecated: Use BulkDeviceUpdateRequest.ProtoReflect.Descriptor instead.
func (*BulkDeviceUpdateRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{45}
}

func (x *BulkDeviceUpdateRequest) GetDevices() []string {
	if x != nil {
		return x.Devices
	}
	return nil
}

func (x *BulkDeviceUpdateRequest) GetIncludeGroup() []string {
	if x != nil {
		return x.IncludeGroup
	}
	return nil
}

func (x *BulkDeviceUpdateRequest) GetExcludeGroup() []string {
	if x != nil {
		return x.ExcludeGroup
	}
	return nil
}

func (x *BulkDeviceUpdateRequest) GetRemoveGroup() []string {
	if x != nil {
		return x.RemoveGroup
	}
	return nil
}

type BulkDeviceUpdateResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *BulkDeviceUpdateResponse) Reset() {
	*x = BulkDeviceUpdateResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BulkDeviceUpdateResponse) ProtoMessage() {}

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

// Deprecated: Use BulkDeviceUpdateResponse.ProtoReflect.Descriptor instead.
func (*BulkDeviceUpdateResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{46}
}

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

	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	// filter episodes by partial name match
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// optional - unix timestamp ms
	Start int64 `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty"`
	// optional - unix timestamp ms
	End int64 `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty"`
	// optional - Accepted values are'completed' or 'on air'
	Status   []string `protobuf:"bytes,5,rep,name=status,proto3" json:"status,omitempty"`
	Rating   string   `protobuf:"bytes,6,opt,name=rating,proto3" json:"rating,omitempty"`
	Genre    string   `protobuf:"bytes,7,opt,name=genre,proto3" json:"genre,omitempty"`
	Season   int32    `protobuf:"varint,8,opt,name=season,proto3" json:"season,omitempty"`
	Number   int32    `protobuf:"varint,9,opt,name=number,proto3" json:"number,omitempty"`
	AgeRange string   `protobuf:"bytes,10,opt,name=age_range,json=ageRange,proto3" json:"age_range,omitempty"`
	Tmsid    string   `protobuf:"bytes,11,opt,name=tmsid,proto3" json:"tmsid,omitempty"`
	// how many results to return
	Limit int32 `protobuf:"varint,12,opt,name=limit,proto3" json:"limit,omitempty"`
	// where to begin, default 0
	Offset    int32              `protobuf:"varint,13,opt,name=offset,proto3" json:"offset,omitempty"`
	Sort      []*GetAllPagedSort `protobuf:"bytes,14,rep,name=sort,proto3" json:"sort,omitempty"`
	UpdatedAt string             `protobuf:"bytes,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Tags      []string           `protobuf:"bytes,16,rep,name=tags,proto3" json:"tags,omitempty"`
}

func (x *GetChannelQueueRequest) Reset() {
	*x = GetChannelQueueRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetChannelQueueRequest) ProtoMessage() {}

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

// Deprecated: Use GetChannelQueueRequest.ProtoReflect.Descriptor instead.
func (*GetChannelQueueRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{47}
}

func (x *GetChannelQueueRequest) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

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

func (x *GetChannelQueueRequest) GetStart() int64 {
	if x != nil {
		return x.Start
	}
	return 0
}

func (x *GetChannelQueueRequest) GetEnd() int64 {
	if x != nil {
		return x.End
	}
	return 0
}

func (x *GetChannelQueueRequest) GetStatus() []string {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *GetChannelQueueRequest) GetRating() string {
	if x != nil {
		return x.Rating
	}
	return ""
}

func (x *GetChannelQueueRequest) GetGenre() string {
	if x != nil {
		return x.Genre
	}
	return ""
}

func (x *GetChannelQueueRequest) GetSeason() int32 {
	if x != nil {
		return x.Season
	}
	return 0
}

func (x *GetChannelQueueRequest) GetNumber() int32 {
	if x != nil {
		return x.Number
	}
	return 0
}

func (x *GetChannelQueueRequest) GetAgeRange() string {
	if x != nil {
		return x.AgeRange
	}
	return ""
}

func (x *GetChannelQueueRequest) GetTmsid() string {
	if x != nil {
		return x.Tmsid
	}
	return ""
}

func (x *GetChannelQueueRequest) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *GetChannelQueueRequest) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *GetChannelQueueRequest) GetSort() []*GetAllPagedSort {
	if x != nil {
		return x.Sort
	}
	return nil
}

func (x *GetChannelQueueRequest) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *GetChannelQueueRequest) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

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

	Documents []*Episode `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
	Metadata  *Metadata  `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
}

func (x *GetChannelQueueResponse) Reset() {
	*x = GetChannelQueueResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetChannelQueueResponse) ProtoMessage() {}

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

// Deprecated: Use GetChannelQueueResponse.ProtoReflect.Descriptor instead.
func (*GetChannelQueueResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{48}
}

func (x *GetChannelQueueResponse) GetDocuments() []*Episode {
	if x != nil {
		return x.Documents
	}
	return nil
}

func (x *GetChannelQueueResponse) GetMetadata() *Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

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

	Id                           string               `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name                         string               `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Rating                       string               `protobuf:"bytes,3,opt,name=rating,proto3" json:"rating,omitempty"`
	Season                       int32                `protobuf:"varint,4,opt,name=season,proto3" json:"season,omitempty"`
	Number                       int32                `protobuf:"varint,5,opt,name=number,proto3" json:"number,omitempty"`
	AgeRange                     []*AgeRange          `protobuf:"bytes,6,rep,name=age_range,json=ageRange,proto3" json:"age_range,omitempty"`
	Tmsid                        string               `protobuf:"bytes,7,opt,name=tmsid,proto3" json:"tmsid,omitempty"`
	Duration                     int32                `protobuf:"varint,8,opt,name=duration,proto3" json:"duration,omitempty"`
	LastAired                    string               `protobuf:"bytes,9,opt,name=last_aired,json=lastAired,proto3" json:"last_aired,omitempty"`
	FirstAired                   string               `protobuf:"bytes,10,opt,name=first_aired,json=firstAired,proto3" json:"first_aired,omitempty"`
	NextTimeline                 *NextTimelineDetails `protobuf:"bytes,11,opt,name=next_timeline,json=nextTimeline,proto3" json:"next_timeline,omitempty"`
	Series                       *Series              `protobuf:"bytes,12,opt,name=series,proto3" json:"series,omitempty"`
	Allotment                    int32                `protobuf:"varint,13,opt,name=allotment,proto3" json:"allotment,omitempty"`
	Featured                     bool                 `protobuf:"varint,14,opt,name=featured,proto3" json:"featured,omitempty"`
	Flagged                      bool                 `protobuf:"varint,15,opt,name=flagged,proto3" json:"flagged,omitempty"`
	AvailabilityWindows          *AvailabilityWindows `protobuf:"bytes,16,opt,name=availability_windows,json=availabilityWindows,proto3" json:"availability_windows,omitempty"`
	Sources                      []*Source            `protobuf:"bytes,17,rep,name=sources,proto3" json:"sources,omitempty"`
	UpdatedAt                    string               `protobuf:"bytes,18,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	AllClipsReady                bool                 `protobuf:"varint,19,opt,name=all_clips_ready,json=allClipsReady,proto3" json:"all_clips_ready,omitempty"`
	IsAvailableNow               bool                 `protobuf:"varint,20,opt,name=is_available_now,json=isAvailableNow,proto3" json:"is_available_now,omitempty"`
	HasUniqueProvider            bool                 `protobuf:"varint,21,opt,name=has_unique_provider,json=hasUniqueProvider,proto3" json:"has_unique_provider,omitempty"`
	HasMixedProviderWith         bool                 `protobuf:"varint,22,opt,name=has_mixed_provider_with,json=hasMixedProviderWith,proto3" json:"has_mixed_provider_with,omitempty"`
	HasClipWithEmptySources      bool                 `protobuf:"varint,23,opt,name=has_clip_with_empty_sources,json=hasClipWithEmptySources,proto3" json:"has_clip_with_empty_sources,omitempty"`
	HasLinearAvailabilityWindows bool                 `protobuf:"varint,24,opt,name=has_linear_availability_windows,json=hasLinearAvailabilityWindows,proto3" json:"has_linear_availability_windows,omitempty"`
	Author                       string               `protobuf:"bytes,25,opt,name=author,proto3" json:"author,omitempty"`
	Status                       string               `protobuf:"bytes,26,opt,name=status,proto3" json:"status,omitempty"`
	Genre                        string               `protobuf:"bytes,27,opt,name=genre,proto3" json:"genre,omitempty"`
	HasAdPods                    bool                 `protobuf:"varint,28,opt,name=has_ad_pods,json=hasAdPods,proto3" json:"has_ad_pods,omitempty"`
	Published                    bool                 `protobuf:"varint,29,opt,name=published,proto3" json:"published,omitempty"`
	Order                        int32                `protobuf:"varint,30,opt,name=order,proto3" json:"order,omitempty"`
	Tags                         []string             `protobuf:"bytes,31,rep,name=tags,proto3" json:"tags,omitempty"`
	HasLiveBroadcast             bool                 `protobuf:"varint,32,opt,name=has_live_broadcast,json=hasLiveBroadcast,proto3" json:"has_live_broadcast,omitempty"`
}

func (x *Episode) Reset() {
	*x = Episode{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Episode) ProtoMessage() {}

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

// Deprecated: Use Episode.ProtoReflect.Descriptor instead.
func (*Episode) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{49}
}

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

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

func (x *Episode) GetRating() string {
	if x != nil {
		return x.Rating
	}
	return ""
}

func (x *Episode) GetSeason() int32 {
	if x != nil {
		return x.Season
	}
	return 0
}

func (x *Episode) GetNumber() int32 {
	if x != nil {
		return x.Number
	}
	return 0
}

func (x *Episode) GetAgeRange() []*AgeRange {
	if x != nil {
		return x.AgeRange
	}
	return nil
}

func (x *Episode) GetTmsid() string {
	if x != nil {
		return x.Tmsid
	}
	return ""
}

func (x *Episode) GetDuration() int32 {
	if x != nil {
		return x.Duration
	}
	return 0
}

func (x *Episode) GetLastAired() string {
	if x != nil {
		return x.LastAired
	}
	return ""
}

func (x *Episode) GetFirstAired() string {
	if x != nil {
		return x.FirstAired
	}
	return ""
}

func (x *Episode) GetNextTimeline() *NextTimelineDetails {
	if x != nil {
		return x.NextTimeline
	}
	return nil
}

func (x *Episode) GetSeries() *Series {
	if x != nil {
		return x.Series
	}
	return nil
}

func (x *Episode) GetAllotment() int32 {
	if x != nil {
		return x.Allotment
	}
	return 0
}

func (x *Episode) GetFeatured() bool {
	if x != nil {
		return x.Featured
	}
	return false
}

func (x *Episode) GetFlagged() bool {
	if x != nil {
		return x.Flagged
	}
	return false
}

func (x *Episode) GetAvailabilityWindows() *AvailabilityWindows {
	if x != nil {
		return x.AvailabilityWindows
	}
	return nil
}

func (x *Episode) GetSources() []*Source {
	if x != nil {
		return x.Sources
	}
	return nil
}

func (x *Episode) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *Episode) GetAllClipsReady() bool {
	if x != nil {
		return x.AllClipsReady
	}
	return false
}

func (x *Episode) GetIsAvailableNow() bool {
	if x != nil {
		return x.IsAvailableNow
	}
	return false
}

func (x *Episode) GetHasUniqueProvider() bool {
	if x != nil {
		return x.HasUniqueProvider
	}
	return false
}

func (x *Episode) GetHasMixedProviderWith() bool {
	if x != nil {
		return x.HasMixedProviderWith
	}
	return false
}

func (x *Episode) GetHasClipWithEmptySources() bool {
	if x != nil {
		return x.HasClipWithEmptySources
	}
	return false
}

func (x *Episode) GetHasLinearAvailabilityWindows() bool {
	if x != nil {
		return x.HasLinearAvailabilityWindows
	}
	return false
}

func (x *Episode) GetAuthor() string {
	if x != nil {
		return x.Author
	}
	return ""
}

func (x *Episode) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *Episode) GetGenre() string {
	if x != nil {
		return x.Genre
	}
	return ""
}

func (x *Episode) GetHasAdPods() bool {
	if x != nil {
		return x.HasAdPods
	}
	return false
}

func (x *Episode) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

func (x *Episode) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

func (x *Episode) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *Episode) GetHasLiveBroadcast() bool {
	if x != nil {
		return x.HasLiveBroadcast
	}
	return false
}

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

	Id      string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Channel string `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"`
	Start   string `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"`
}

func (x *NextTimelineDetails) Reset() {
	*x = NextTimelineDetails{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*NextTimelineDetails) ProtoMessage() {}

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

// Deprecated: Use NextTimelineDetails.ProtoReflect.Descriptor instead.
func (*NextTimelineDetails) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{50}
}

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

func (x *NextTimelineDetails) GetChannel() string {
	if x != nil {
		return x.Channel
	}
	return ""
}

func (x *NextTimelineDetails) GetStart() string {
	if x != nil {
		return x.Start
	}
	return ""
}

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

	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *Series) Reset() {
	*x = Series{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Series) ProtoMessage() {}

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

// Deprecated: Use Series.ProtoReflect.Descriptor instead.
func (*Series) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{51}
}

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

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

func (x *Series) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

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

	Id   string       `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Clip *ClipDetails `protobuf:"bytes,2,opt,name=clip,proto3" json:"clip,omitempty"`
}

func (x *Source) Reset() {
	*x = Source{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Source) ProtoMessage() {}

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

// Deprecated: Use Source.ProtoReflect.Descriptor instead.
func (*Source) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{52}
}

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

func (x *Source) GetClip() *ClipDetails {
	if x != nil {
		return x.Clip
	}
	return nil
}

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

	ContentStatus string  `protobuf:"bytes,1,opt,name=content_status,json=contentStatus,proto3" json:"content_status,omitempty"`
	Author        *Author `protobuf:"bytes,2,opt,name=author,proto3" json:"author,omitempty"`
}

func (x *ClipDetails) Reset() {
	*x = ClipDetails{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*ClipDetails) ProtoMessage() {}

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

// Deprecated: Use ClipDetails.ProtoReflect.Descriptor instead.
func (*ClipDetails) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{53}
}

func (x *ClipDetails) GetContentStatus() string {
	if x != nil {
		return x.ContentStatus
	}
	return ""
}

func (x *ClipDetails) GetAuthor() *Author {
	if x != nil {
		return x.Author
	}
	return nil
}

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

	XAVOD  []*Window `protobuf:"bytes,1,rep,name=_a_v_o_d,json=AVOD,proto3" json:"_a_v_o_d,omitempty"`
	Linear []*Window `protobuf:"bytes,2,rep,name=linear,proto3" json:"linear,omitempty"`
}

func (x *AvailabilityWindows) Reset() {
	*x = AvailabilityWindows{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*AvailabilityWindows) ProtoMessage() {}

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

// Deprecated: Use AvailabilityWindows.ProtoReflect.Descriptor instead.
func (*AvailabilityWindows) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{54}
}

func (x *AvailabilityWindows) GetXAVOD() []*Window {
	if x != nil {
		return x.XAVOD
	}
	return nil
}

func (x *AvailabilityWindows) GetLinear() []*Window {
	if x != nil {
		return x.Linear
	}
	return nil
}

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

	StartDate         string `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
	EndDate           string `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
	Id                string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	CurrentScreenings int32  `protobuf:"varint,4,opt,name=current_screenings,json=currentScreenings,proto3" json:"current_screenings,omitempty"`
	Screenings        int32  `protobuf:"varint,5,opt,name=screenings,proto3" json:"screenings,omitempty"`
}

func (x *Window) Reset() {
	*x = Window{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Window) ProtoMessage() {}

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

// Deprecated: Use Window.ProtoReflect.Descriptor instead.
func (*Window) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{55}
}

func (x *Window) GetStartDate() string {
	if x != nil {
		return x.StartDate
	}
	return ""
}

func (x *Window) GetEndDate() string {
	if x != nil {
		return x.EndDate
	}
	return ""
}

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

func (x *Window) GetCurrentScreenings() int32 {
	if x != nil {
		return x.CurrentScreenings
	}
	return 0
}

func (x *Window) GetScreenings() int32 {
	if x != nil {
		return x.Screenings
	}
	return 0
}

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

	StartDate  string `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
	EndDate    string `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
	Screenings int32  `protobuf:"varint,3,opt,name=screenings,proto3" json:"screenings,omitempty"`
}

func (x *LinearWindow) Reset() {
	*x = LinearWindow{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*LinearWindow) ProtoMessage() {}

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

// Deprecated: Use LinearWindow.ProtoReflect.Descriptor instead.
func (*LinearWindow) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{56}
}

func (x *LinearWindow) GetStartDate() string {
	if x != nil {
		return x.StartDate
	}
	return ""
}

func (x *LinearWindow) GetEndDate() string {
	if x != nil {
		return x.EndDate
	}
	return ""
}

func (x *LinearWindow) GetScreenings() int32 {
	if x != nil {
		return x.Screenings
	}
	return 0
}

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

	StartDate  string `protobuf:"bytes,1,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"`
	EndDate    string `protobuf:"bytes,2,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"`
	AdFree     bool   `protobuf:"varint,3,opt,name=ad_free,json=adFree,proto3" json:"ad_free,omitempty"`
	Screenings int32  `protobuf:"varint,4,opt,name=screenings,proto3" json:"screenings,omitempty"`
}

func (x *AVODWindow) Reset() {
	*x = AVODWindow{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*AVODWindow) ProtoMessage() {}

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

// Deprecated: Use AVODWindow.ProtoReflect.Descriptor instead.
func (*AVODWindow) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{57}
}

func (x *AVODWindow) GetStartDate() string {
	if x != nil {
		return x.StartDate
	}
	return ""
}

func (x *AVODWindow) GetEndDate() string {
	if x != nil {
		return x.EndDate
	}
	return ""
}

func (x *AVODWindow) GetAdFree() bool {
	if x != nil {
		return x.AdFree
	}
	return false
}

func (x *AVODWindow) GetScreenings() int32 {
	if x != nil {
		return x.Screenings
	}
	return 0
}

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

	Id          string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Min         int32  `protobuf:"varint,2,opt,name=min,proto3" json:"min,omitempty"`
	Max         int32  `protobuf:"varint,3,opt,name=max,proto3" json:"max,omitempty"`
	DisplayName string `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
}

func (x *AgeRange) Reset() {
	*x = AgeRange{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*AgeRange) ProtoMessage() {}

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

// Deprecated: Use AgeRange.ProtoReflect.Descriptor instead.
func (*AgeRange) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{58}
}

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

func (x *AgeRange) GetMin() int32 {
	if x != nil {
		return x.Min
	}
	return 0
}

func (x *AgeRange) GetMax() int32 {
	if x != nil {
		return x.Max
	}
	return 0
}

func (x *AgeRange) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

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

	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *Author) Reset() {
	*x = Author{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*Author) ProtoMessage() {}

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

// Deprecated: Use Author.ProtoReflect.Descriptor instead.
func (*Author) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{59}
}

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

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

	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *SourceId) Reset() {
	*x = SourceId{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SourceId) ProtoMessage() {}

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

// Deprecated: Use SourceId.ProtoReflect.Descriptor instead.
func (*SourceId) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{60}
}

func (x *SourceId) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

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

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

	Key   bool `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
	Value bool `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
}

func (x *SourceIdProjection) Reset() {
	*x = SourceIdProjection{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*SourceIdProjection) ProtoMessage() {}

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

// Deprecated: Use SourceIdProjection.ProtoReflect.Descriptor instead.
func (*SourceIdProjection) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{61}
}

func (x *SourceIdProjection) GetKey() bool {
	if x != nil {
		return x.Key
	}
	return false
}

func (x *SourceIdProjection) GetValue() bool {
	if x != nil {
		return x.Value
	}
	return false
}

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

	Enabled  bool      `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	ClipId   string    `protobuf:"bytes,2,opt,name=clip_id,json=clipId,proto3" json:"clip_id,omitempty"`
	SourceId *SourceId `protobuf:"bytes,3,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
}

func (x *CfaasIntegrationParams) Reset() {
	*x = CfaasIntegrationParams{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CfaasIntegrationParams) ProtoMessage() {}

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

// Deprecated: Use CfaasIntegrationParams.ProtoReflect.Descriptor instead.
func (*CfaasIntegrationParams) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{62}
}

func (x *CfaasIntegrationParams) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *CfaasIntegrationParams) GetClipId() string {
	if x != nil {
		return x.ClipId
	}
	return ""
}

func (x *CfaasIntegrationParams) GetSourceId() *SourceId {
	if x != nil {
		return x.SourceId
	}
	return nil
}

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

	Enabled     bool      `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	ClipId      string    `protobuf:"bytes,2,opt,name=clip_id,json=clipId,proto3" json:"clip_id,omitempty"`
	SourceId    *SourceId `protobuf:"bytes,3,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	Category    string    `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"`
	SubCategory string    `protobuf:"bytes,5,opt,name=sub_category,json=subCategory,proto3" json:"sub_category,omitempty"`
	Genre       string    `protobuf:"bytes,6,opt,name=genre,proto3" json:"genre,omitempty"`
	SubGenre    string    `protobuf:"bytes,7,opt,name=sub_genre,json=subGenre,proto3" json:"sub_genre,omitempty"`
}

func (x *CfaasIntegrationResponse) Reset() {
	*x = CfaasIntegrationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CfaasIntegrationResponse) ProtoMessage() {}

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

// Deprecated: Use CfaasIntegrationResponse.ProtoReflect.Descriptor instead.
func (*CfaasIntegrationResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{63}
}

func (x *CfaasIntegrationResponse) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *CfaasIntegrationResponse) GetClipId() string {
	if x != nil {
		return x.ClipId
	}
	return ""
}

func (x *CfaasIntegrationResponse) GetSourceId() *SourceId {
	if x != nil {
		return x.SourceId
	}
	return nil
}

func (x *CfaasIntegrationResponse) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *CfaasIntegrationResponse) GetSubCategory() string {
	if x != nil {
		return x.SubCategory
	}
	return ""
}

func (x *CfaasIntegrationResponse) GetGenre() string {
	if x != nil {
		return x.Genre
	}
	return ""
}

func (x *CfaasIntegrationResponse) GetSubGenre() string {
	if x != nil {
		return x.SubGenre
	}
	return ""
}

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

	Enabled     bool                `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	ClipId      bool                `protobuf:"varint,2,opt,name=clip_id,json=clipId,proto3" json:"clip_id,omitempty"`
	SourceId    *SourceIdProjection `protobuf:"bytes,3,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	Category    bool                `protobuf:"varint,4,opt,name=category,proto3" json:"category,omitempty"`
	SubCategory bool                `protobuf:"varint,5,opt,name=sub_category,json=subCategory,proto3" json:"sub_category,omitempty"`
	Genre       bool                `protobuf:"varint,6,opt,name=genre,proto3" json:"genre,omitempty"`
	SubGenre    bool                `protobuf:"varint,7,opt,name=sub_genre,json=subGenre,proto3" json:"sub_genre,omitempty"`
}

func (x *CfaasIntegrationProjection) Reset() {
	*x = CfaasIntegrationProjection{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*CfaasIntegrationProjection) ProtoMessage() {}

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

// Deprecated: Use CfaasIntegrationProjection.ProtoReflect.Descriptor instead.
func (*CfaasIntegrationProjection) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{64}
}

func (x *CfaasIntegrationProjection) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *CfaasIntegrationProjection) GetClipId() bool {
	if x != nil {
		return x.ClipId
	}
	return false
}

func (x *CfaasIntegrationProjection) GetSourceId() *SourceIdProjection {
	if x != nil {
		return x.SourceId
	}
	return nil
}

func (x *CfaasIntegrationProjection) GetCategory() bool {
	if x != nil {
		return x.Category
	}
	return false
}

func (x *CfaasIntegrationProjection) GetSubCategory() bool {
	if x != nil {
		return x.SubCategory
	}
	return false
}

func (x *CfaasIntegrationProjection) GetGenre() bool {
	if x != nil {
		return x.Genre
	}
	return false
}

func (x *CfaasIntegrationProjection) GetSubGenre() bool {
	if x != nil {
		return x.SubGenre
	}
	return false
}

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

	Id               bool                        `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name             bool                        `protobuf:"varint,2,opt,name=name,proto3" json:"name,omitempty"`
	Summary          bool                        `protobuf:"varint,3,opt,name=summary,proto3" json:"summary,omitempty"`
	Description      bool                        `protobuf:"varint,4,opt,name=description,proto3" json:"description,omitempty"`
	MetadataLanguage bool                        `protobuf:"varint,5,opt,name=metadata_language,json=metadataLanguage,proto3" json:"metadata_language,omitempty"`
	ActiveRegion     bool                        `protobuf:"varint,6,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
	Published        bool                        `protobuf:"varint,7,opt,name=published,proto3" json:"published,omitempty"`
	Tags             bool                        `protobuf:"varint,8,opt,name=tags,proto3" json:"tags,omitempty"`
	AutoEpgSource    bool                        `protobuf:"varint,9,opt,name=auto_epg_source,json=autoEpgSource,proto3" json:"auto_epg_source,omitempty"`
	CfaasIntegration *CfaasIntegrationProjection `protobuf:"bytes,10,opt,name=cfaas_integration,json=cfaasIntegration,proto3" json:"cfaas_integration,omitempty"`
}

func (x *GetCFaasIntegratedChannelProjection) Reset() {
	*x = GetCFaasIntegratedChannelProjection{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetCFaasIntegratedChannelProjection) ProtoMessage() {}

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

// Deprecated: Use GetCFaasIntegratedChannelProjection.ProtoReflect.Descriptor instead.
func (*GetCFaasIntegratedChannelProjection) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{65}
}

func (x *GetCFaasIntegratedChannelProjection) GetId() bool {
	if x != nil {
		return x.Id
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetName() bool {
	if x != nil {
		return x.Name
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetSummary() bool {
	if x != nil {
		return x.Summary
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetDescription() bool {
	if x != nil {
		return x.Description
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetMetadataLanguage() bool {
	if x != nil {
		return x.MetadataLanguage
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetActiveRegion() bool {
	if x != nil {
		return x.ActiveRegion
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetTags() bool {
	if x != nil {
		return x.Tags
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetAutoEpgSource() bool {
	if x != nil {
		return x.AutoEpgSource
	}
	return false
}

func (x *GetCFaasIntegratedChannelProjection) GetCfaasIntegration() *CfaasIntegrationProjection {
	if x != nil {
		return x.CfaasIntegration
	}
	return nil
}

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

	Id               string                    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name             string                    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Summary          string                    `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
	Description      string                    `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
	MetadataLanguage string                    `protobuf:"bytes,5,opt,name=metadata_language,json=metadataLanguage,proto3" json:"metadata_language,omitempty"` // not in schema
	ActiveRegion     string                    `protobuf:"bytes,6,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
	Published        bool                      `protobuf:"varint,7,opt,name=published,proto3" json:"published,omitempty"`
	Tags             []string                  `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"`
	AutoEpgSource    string                    `protobuf:"bytes,9,opt,name=auto_epg_source,json=autoEpgSource,proto3" json:"auto_epg_source,omitempty"`
	CfaasIntegration *CfaasIntegrationResponse `protobuf:"bytes,10,opt,name=cfaas_integration,json=cfaasIntegration,proto3" json:"cfaas_integration,omitempty"`
}

func (x *GetCFaasIntegratedChannel) Reset() {
	*x = GetCFaasIntegratedChannel{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetCFaasIntegratedChannel) ProtoMessage() {}

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

// Deprecated: Use GetCFaasIntegratedChannel.ProtoReflect.Descriptor instead.
func (*GetCFaasIntegratedChannel) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{66}
}

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

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

func (x *GetCFaasIntegratedChannel) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

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

func (x *GetCFaasIntegratedChannel) GetMetadataLanguage() string {
	if x != nil {
		return x.MetadataLanguage
	}
	return ""
}

func (x *GetCFaasIntegratedChannel) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

func (x *GetCFaasIntegratedChannel) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

func (x *GetCFaasIntegratedChannel) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *GetCFaasIntegratedChannel) GetAutoEpgSource() string {
	if x != nil {
		return x.AutoEpgSource
	}
	return ""
}

func (x *GetCFaasIntegratedChannel) GetCfaasIntegration() *CfaasIntegrationResponse {
	if x != nil {
		return x.CfaasIntegration
	}
	return nil
}

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

	AutoEpgSource    string                               `protobuf:"bytes,1,opt,name=auto_epg_source,json=autoEpgSource,proto3" json:"auto_epg_source,omitempty"`
	CfaasIntegration *CfaasIntegrationParams              `protobuf:"bytes,2,opt,name=cfaas_integration,json=cfaasIntegration,proto3" json:"cfaas_integration,omitempty"`
	Projection       *GetCFaasIntegratedChannelProjection `protobuf:"bytes,3,opt,name=projection,proto3" json:"projection,omitempty"`
}

func (x *GetCFaasIntegratedChannelRequest) Reset() {
	*x = GetCFaasIntegratedChannelRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetCFaasIntegratedChannelRequest) ProtoMessage() {}

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

// Deprecated: Use GetCFaasIntegratedChannelRequest.ProtoReflect.Descriptor instead.
func (*GetCFaasIntegratedChannelRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{67}
}

func (x *GetCFaasIntegratedChannelRequest) GetAutoEpgSource() string {
	if x != nil {
		return x.AutoEpgSource
	}
	return ""
}

func (x *GetCFaasIntegratedChannelRequest) GetCfaasIntegration() *CfaasIntegrationParams {
	if x != nil {
		return x.CfaasIntegration
	}
	return nil
}

func (x *GetCFaasIntegratedChannelRequest) GetProjection() *GetCFaasIntegratedChannelProjection {
	if x != nil {
		return x.Projection
	}
	return nil
}

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

	Documents []*GetCFaasIntegratedChannel `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
}

func (x *GetCFaasIntegratedChannelResponse) Reset() {
	*x = GetCFaasIntegratedChannelResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetCFaasIntegratedChannelResponse) ProtoMessage() {}

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

// Deprecated: Use GetCFaasIntegratedChannelResponse.ProtoReflect.Descriptor instead.
func (*GetCFaasIntegratedChannelResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{68}
}

func (x *GetCFaasIntegratedChannelResponse) GetDocuments() []*GetCFaasIntegratedChannel {
	if x != nil {
		return x.Documents
	}
	return nil
}

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

	AutoEpgSource    string                  `protobuf:"bytes,1,opt,name=auto_epg_source,json=autoEpgSource,proto3" json:"auto_epg_source,omitempty"`
	CfaasIntegration *CfaasIntegrationParams `protobuf:"bytes,2,opt,name=cfaas_integration,json=cfaasIntegration,proto3" json:"cfaas_integration,omitempty"`
}

func (x *GetOneCFaasIntegratedChannelRequest) Reset() {
	*x = GetOneCFaasIntegratedChannelRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetOneCFaasIntegratedChannelRequest) ProtoMessage() {}

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

// Deprecated: Use GetOneCFaasIntegratedChannelRequest.ProtoReflect.Descriptor instead.
func (*GetOneCFaasIntegratedChannelRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{69}
}

func (x *GetOneCFaasIntegratedChannelRequest) GetAutoEpgSource() string {
	if x != nil {
		return x.AutoEpgSource
	}
	return ""
}

func (x *GetOneCFaasIntegratedChannelRequest) GetCfaasIntegration() *CfaasIntegrationParams {
	if x != nil {
		return x.CfaasIntegration
	}
	return nil
}

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

	Document *GetCFaasIntegratedChannel `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

func (x *GetOneCFaasIntegratedChannelResponse) Reset() {
	*x = GetOneCFaasIntegratedChannelResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetOneCFaasIntegratedChannelResponse) ProtoMessage() {}

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

// Deprecated: Use GetOneCFaasIntegratedChannelResponse.ProtoReflect.Descriptor instead.
func (*GetOneCFaasIntegratedChannelResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{70}
}

func (x *GetOneCFaasIntegratedChannelResponse) GetDocument() *GetCFaasIntegratedChannel {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	Name      string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// optional - unix timestamp ms
	Start int64 `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty"`
	// optional - unix timestamp ms
	End int64 `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty"`
	// optional - Accepted values are'completed' or 'on air'
	Status    []string `protobuf:"bytes,5,rep,name=status,proto3" json:"status,omitempty"`
	Rating    string   `protobuf:"bytes,6,opt,name=rating,proto3" json:"rating,omitempty"`
	Genre     string   `protobuf:"bytes,7,opt,name=genre,proto3" json:"genre,omitempty"`
	Season    int32    `protobuf:"varint,8,opt,name=season,proto3" json:"season,omitempty"`
	Number    int32    `protobuf:"varint,9,opt,name=number,proto3" json:"number,omitempty"`
	AgeRange  string   `protobuf:"bytes,10,opt,name=age_range,json=ageRange,proto3" json:"age_range,omitempty"`
	Tmsid     string   `protobuf:"bytes,11,opt,name=tmsid,proto3" json:"tmsid,omitempty"`
	UpdatedAt string   `protobuf:"bytes,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
}

func (x *GetLibrarySumDurationRequest) Reset() {
	*x = GetLibrarySumDurationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetLibrarySumDurationRequest) ProtoMessage() {}

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

// Deprecated: Use GetLibrarySumDurationRequest.ProtoReflect.Descriptor instead.
func (*GetLibrarySumDurationRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{71}
}

func (x *GetLibrarySumDurationRequest) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

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

func (x *GetLibrarySumDurationRequest) GetStart() int64 {
	if x != nil {
		return x.Start
	}
	return 0
}

func (x *GetLibrarySumDurationRequest) GetEnd() int64 {
	if x != nil {
		return x.End
	}
	return 0
}

func (x *GetLibrarySumDurationRequest) GetStatus() []string {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *GetLibrarySumDurationRequest) GetRating() string {
	if x != nil {
		return x.Rating
	}
	return ""
}

func (x *GetLibrarySumDurationRequest) GetGenre() string {
	if x != nil {
		return x.Genre
	}
	return ""
}

func (x *GetLibrarySumDurationRequest) GetSeason() int32 {
	if x != nil {
		return x.Season
	}
	return 0
}

func (x *GetLibrarySumDurationRequest) GetNumber() int32 {
	if x != nil {
		return x.Number
	}
	return 0
}

func (x *GetLibrarySumDurationRequest) GetAgeRange() string {
	if x != nil {
		return x.AgeRange
	}
	return ""
}

func (x *GetLibrarySumDurationRequest) GetTmsid() string {
	if x != nil {
		return x.Tmsid
	}
	return ""
}

func (x *GetLibrarySumDurationRequest) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

	SumDuration int32 `protobuf:"varint,1,opt,name=sum_duration,json=sumDuration,proto3" json:"sum_duration,omitempty"`
}

func (x *GetLibrarySumDurationResponse) Reset() {
	*x = GetLibrarySumDurationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetLibrarySumDurationResponse) ProtoMessage() {}

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

// Deprecated: Use GetLibrarySumDurationResponse.ProtoReflect.Descriptor instead.
func (*GetLibrarySumDurationResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{72}
}

func (x *GetLibrarySumDurationResponse) GetSumDuration() int32 {
	if x != nil {
		return x.SumDuration
	}
	return 0
}

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

	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	// filter episodes by partial name match
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// optional - unix timestamp ms
	Start int64 `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty"`
	// optional - unix timestamp ms
	End int64 `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty"`
	// optional - Accepted values are'completed' or 'on air'
	Status    []string `protobuf:"bytes,5,rep,name=status,proto3" json:"status,omitempty"`
	Rating    string   `protobuf:"bytes,6,opt,name=rating,proto3" json:"rating,omitempty"`
	Genre     string   `protobuf:"bytes,7,opt,name=genre,proto3" json:"genre,omitempty"`
	Season    int32    `protobuf:"varint,8,opt,name=season,proto3" json:"season,omitempty"`
	Number    int32    `protobuf:"varint,9,opt,name=number,proto3" json:"number,omitempty"`
	AgeRange  string   `protobuf:"bytes,10,opt,name=age_range,json=ageRange,proto3" json:"age_range,omitempty"`
	Tmsid     string   `protobuf:"bytes,11,opt,name=tmsid,proto3" json:"tmsid,omitempty"`
	UpdatedAt string   `protobuf:"bytes,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Tags      []string `protobuf:"bytes,15,rep,name=tags,proto3" json:"tags,omitempty"`
}

func (x *GetQueueSumDurationRequest) Reset() {
	*x = GetQueueSumDurationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetQueueSumDurationRequest) ProtoMessage() {}

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

// Deprecated: Use GetQueueSumDurationRequest.ProtoReflect.Descriptor instead.
func (*GetQueueSumDurationRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{73}
}

func (x *GetQueueSumDurationRequest) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

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

func (x *GetQueueSumDurationRequest) GetStart() int64 {
	if x != nil {
		return x.Start
	}
	return 0
}

func (x *GetQueueSumDurationRequest) GetEnd() int64 {
	if x != nil {
		return x.End
	}
	return 0
}

func (x *GetQueueSumDurationRequest) GetStatus() []string {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *GetQueueSumDurationRequest) GetRating() string {
	if x != nil {
		return x.Rating
	}
	return ""
}

func (x *GetQueueSumDurationRequest) GetGenre() string {
	if x != nil {
		return x.Genre
	}
	return ""
}

func (x *GetQueueSumDurationRequest) GetSeason() int32 {
	if x != nil {
		return x.Season
	}
	return 0
}

func (x *GetQueueSumDurationRequest) GetNumber() int32 {
	if x != nil {
		return x.Number
	}
	return 0
}

func (x *GetQueueSumDurationRequest) GetAgeRange() string {
	if x != nil {
		return x.AgeRange
	}
	return ""
}

func (x *GetQueueSumDurationRequest) GetTmsid() string {
	if x != nil {
		return x.Tmsid
	}
	return ""
}

func (x *GetQueueSumDurationRequest) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *GetQueueSumDurationRequest) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

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

	SumDuration int32 `protobuf:"varint,1,opt,name=sum_duration,json=sumDuration,proto3" json:"sum_duration,omitempty"`
}

func (x *GetQueueSumDurationResponse) Reset() {
	*x = GetQueueSumDurationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetQueueSumDurationResponse) ProtoMessage() {}

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

// Deprecated: Use GetQueueSumDurationResponse.ProtoReflect.Descriptor instead.
func (*GetQueueSumDurationResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{74}
}

func (x *GetQueueSumDurationResponse) GetSumDuration() int32 {
	if x != nil {
		return x.SumDuration
	}
	return 0
}

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

	Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
}

func (x *BulkRemoveEpisodesFromQueueRequest) Reset() {
	*x = BulkRemoveEpisodesFromQueueRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BulkRemoveEpisodesFromQueueRequest) ProtoMessage() {}

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

// Deprecated: Use BulkRemoveEpisodesFromQueueRequest.ProtoReflect.Descriptor instead.
func (*BulkRemoveEpisodesFromQueueRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{75}
}

func (x *BulkRemoveEpisodesFromQueueRequest) GetIds() []string {
	if x != nil {
		return x.Ids
	}
	return nil
}

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

	Response string `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"`
}

func (x *BulkRemoveEpisodesFromQueueResponse) Reset() {
	*x = BulkRemoveEpisodesFromQueueResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*BulkRemoveEpisodesFromQueueResponse) ProtoMessage() {}

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

// Deprecated: Use BulkRemoveEpisodesFromQueueResponse.ProtoReflect.Descriptor instead.
func (*BulkRemoveEpisodesFromQueueResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{76}
}

func (x *BulkRemoveEpisodesFromQueueResponse) GetResponse() string {
	if x != nil {
		return x.Response
	}
	return ""
}

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

	Slug      string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"`
	Published bool   `protobuf:"varint,2,opt,name=published,proto3" json:"published,omitempty"`
}

func (x *GetChannelByFilterRequest) Reset() {
	*x = GetChannelByFilterRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetChannelByFilterRequest) ProtoMessage() {}

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

// Deprecated: Use GetChannelByFilterRequest.ProtoReflect.Descriptor instead.
func (*GetChannelByFilterRequest) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{77}
}

func (x *GetChannelByFilterRequest) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *GetChannelByFilterRequest) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

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

	Document *Channel `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

func (x *GetChannelByFilterResponse) Reset() {
	*x = GetChannelByFilterResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetChannelByFilterResponse) ProtoMessage() {}

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

// Deprecated: Use GetChannelByFilterResponse.ProtoReflect.Descriptor instead.
func (*GetChannelByFilterResponse) Descriptor() ([]byte, []int) {
	return file_channels_channels_proto_rawDescGZIP(), []int{78}
}

func (x *GetChannelByFilterResponse) GetDocument() *Channel {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	Id    string                                                                   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name  string                                                                   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Clips []*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip `protobuf:"bytes,3,rep,name=clips,proto3" json:"clips,omitempty"`
}

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel) Reset() {
	*x = GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[79]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel) ProtoMessage() {}

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

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

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

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

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel) GetClips() []*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip {
	if x != nil {
		return x.Clips
	}
	return nil
}

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

	Id      string                                                                          `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Url     string                                                                          `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	Sources []*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source `protobuf:"bytes,3,rep,name=sources,proto3" json:"sources,omitempty"`
}

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip) Reset() {
	*x = GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[80]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip) ProtoMessage() {}

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

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

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

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip) GetSources() []*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source {
	if x != nil {
		return x.Sources
	}
	return nil
}

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

	File string `protobuf:"bytes,1,opt,name=file,proto3" json:"file,omitempty"`
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
}

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source) Reset() {
	*x = GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source{}
	if protoimpl.UnsafeEnabled {
		mi := &file_channels_channels_proto_msgTypes[81]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

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

func (*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source) ProtoMessage() {}

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

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

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source) GetFile() string {
	if x != nil {
		return x.File
	}
	return ""
}

func (x *GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

var File_channels_channels_proto protoreflect.FileDescriptor

var file_channels_channels_proto_rawDesc = []byte{
	0x0a, 0x17, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x44, 0x0a, 0x0d, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x64, 0x6f,
	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22,
	0x45, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x33, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x64, 0x6f,
	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x46, 0x65, 0x65, 0x64, 0x73,
	0x53, 0x79, 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x22, 0x14, 0x0a, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x5a, 0x0a, 0x1a, 0x43, 0x46, 0x65, 0x65, 0x64,
	0x73, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75,
	0x6e, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74,
	0x52, 0x75, 0x6e, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
	0x68, 0x65, 0x64, 0x22, 0x87, 0x02, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61,
	0x67, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f,
	0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66,
	0x73, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x53, 0x6f,
	0x72, 0x74, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69,
	0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
	0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x22, 0x9c, 0x02,
	0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66,
	0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
	0x65, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x53, 0x6f, 0x72,
	0x74, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73,
	0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54,
	0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x22, 0x64, 0x0a, 0x06,
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x6f, 0x72, 0x22, 0x3d, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65,
	0x64, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x22, 0x52, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a,
	0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x66,
	0x66, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x74,
	0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
	0x50, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a,
	0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x91, 0x01, 0x0a, 0x1e, 0x47,
	0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a,
	0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x09, 0x64,
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x27,
	0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x74, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x44, 0x6f,
	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65,
	0x74, 0x77, 0x65, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f,
	0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x64, 0x41, 0x74, 0x4d, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x61, 0x78, 0x22, 0x49, 0x0a,
	0x22, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69,
	0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69,
	0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x37, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x53,
	0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64,
	0x73, 0x22, 0x33, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46,
	0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xd1, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f,
	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a,
	0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65,
	0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x74, 0x69, 0x74, 0x63,
	0x68, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x72, 0x6f, 0x61,
	0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x69, 0x76,
	0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x22, 0xad, 0x01, 0x0a, 0x23, 0x47,
	0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x73, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0x0a, 0x24, 0x47, 0x65,
	0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x74,
	0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x30, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x76, 0x0a, 0x20, 0x54, 0x69,
	0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14,
	0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x22, 0x40, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x0f,
	0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64,
	0x73, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x53, 0x6f, 0x72, 0x74,
	0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x22, 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49,
	0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x64, 0x6f,
	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x22, 0x45, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x18,
	0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0x1a, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68,
	0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x70, 0x61, 0x74, 0x68, 0x22, 0xc8, 0x03, 0x0a, 0x0c, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64,
	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12,
	0x38, 0x0a, 0x0d, 0x73, 0x76, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0b, 0x73, 0x76,
	0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x38, 0x0a, 0x0d, 0x70, 0x6e, 0x67,
	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x14, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0b, 0x70, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
	0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41,
	0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x5f, 0x6f,
	0x66, 0x66, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x0f, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x4f, 0x6e, 0x6c,
	0x79, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x72,
	0x64, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b,
	0x69, 0x6e, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x69,
	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22,
	0xc3, 0x1d, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61,
	0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a,
	0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73,
	0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x68,
	0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
	0x63, 0x6f, 0x68, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70,
	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
	0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x10, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
	0x44, 0x61, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18,
	0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x12,
	0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61,
	0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x65, 0x6f, 0x54, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x69, 0x64, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
	0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x69, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65,
	0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
	0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x18,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
	0x12, 0x33, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x19, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d,
	0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x3c, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
	0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6c,
	0x6f, 0x67, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x29, 0x0a,
	0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x69, 0x6c, 0x65,
	0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x74,
	0x69, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x0e, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x79,
	0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x79, 0x73, 0x63, 0x61, 0x6c,
	0x65, 0x12, 0x2d, 0x0a, 0x06, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65,
	0x12, 0x35, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x20,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63,
	0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73,
	0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x18,
	0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72,
	0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72,
	0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65,
	0x6d, 0x61, 0x6e, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65,
	0x6d, 0x61, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e,
	0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x27, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x44, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68,
	0x69, 0x76, 0x65, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68,
	0x69, 0x76, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x29, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x41, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x64,
	0x6d, 0x61, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x2b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x6d, 0x61, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0e, 0x65, 0x70, 0x69, 0x73,
	0x6f, 0x64, 0x65, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52,
	0x0d, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a,
	0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69,
	0x72, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6c,
	0x69, 0x76, 0x65, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x30, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61,
	0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6c,
	0x69, 0x70, 0x73, 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x53, 0x75,
	0x62, 0x43, 0x6c, 0x69, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x69,
	0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53,
	0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x6e, 0x64, 0x65,
	0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18,
	0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x74,
	0x65, 0x72, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c,
	0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18,
	0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x4f, 0x66, 0x66, 0x69,
	0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x47, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
	0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1e, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52,
	0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12,
	0x56, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62,
	0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69,
	0x6e, 0x67, 0x52, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x50, 0x75, 0x62,
	0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, 0x10, 0x73, 0x6f, 0x6c, 0x69, 0x64,
	0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x18, 0x37, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x4c,
	0x6f, 0x67, 0x6f, 0x50, 0x4e, 0x47, 0x12, 0x3d, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f,
	0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f,
	0x67, 0x6f, 0x50, 0x4e, 0x47, 0x12, 0x3d, 0x0a, 0x10, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x5f, 0x6c,
	0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x4c, 0x6f, 0x67,
	0x6f, 0x53, 0x56, 0x47, 0x12, 0x3d, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f,
	0x67, 0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f,
	0x53, 0x56, 0x47, 0x12, 0x4d, 0x0a, 0x23, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64,
	0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
	0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x18, 0x3c, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69,
	0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a,
	0x0d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x3e,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4d, 0x61,
	0x73, 0x6b, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c,
	0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12,
	0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x6f, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x40,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x6f, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73,
	0x12, 0x20, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64,
	0x18, 0x41, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d,
	0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x18, 0x42, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x74, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x59, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, 0x6e, 0x6f,
	0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x43,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x49,
	0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x67, 0x72, 0x61, 0x63,
	0x65, 0x6e, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x44, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x76, 0x12, 0x64,
	0x0a, 0x1a, 0x73, 0x61, 0x6d, 0x73, 0x75, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x45, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x53, 0x61, 0x6d, 0x73, 0x75, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x18, 0x73, 0x61, 0x6d, 0x73,
	0x75, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64,
	0x61, 0x69, 0x18, 0x46, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x44, 0x61, 0x69, 0x12, 0x51, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65,
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65,
	0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x0d, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e,
	0x61, 0x69, 0x6c, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x41,
	0x6c, 0x74, 0x12, 0x43, 0x0a, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x69,
	0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x41, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, 0x5f,
	0x61, 0x6c, 0x74, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, 0x41, 0x6c, 0x74, 0x12, 0x44, 0x0a, 0x14, 0x73, 0x6f, 0x6c,
	0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x5f, 0x61, 0x6c,
	0x74, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f,
	0x73, 0x6f, 0x6c, 0x69, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x50, 0x4e, 0x47, 0x41, 0x6c, 0x74, 0x12,
	0x44, 0x0a, 0x14, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f,
	0x6e, 0x5f, 0x67, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x50,
	0x4e, 0x47, 0x41, 0x6c, 0x74, 0x12, 0x44, 0x0a, 0x14, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x5f, 0x6c,
	0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x4d, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x73, 0x6f, 0x6c, 0x69,
	0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x41, 0x6c, 0x74, 0x12, 0x44, 0x0a, 0x14, 0x63,
	0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x5f,
	0x61, 0x6c, 0x74, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x41, 0x6c,
	0x74, 0x12, 0x45, 0x0a, 0x0f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x18, 0x4f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e,
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f,
	0x5f, 0x65, 0x70, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x45, 0x70, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x12, 0x55, 0x0a, 0x11, 0x63, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x66, 0x61,
	0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x10, 0x63, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65,
	0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x6f, 0x67, 0x6f, 0x5f,
	0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x52,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6c, 0x6f, 0x67, 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61,
	0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x17, 0x5f, 0x69, 0x73, 0x5f, 0x64,
	0x5f, 0x61, 0x5f, 0x73, 0x5f, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x64, 0x5f, 0x72,
	0x5f, 0x6d, 0x18, 0x53, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x5f, 0x69, 0x73, 0x44, 0x41, 0x53,
	0x48, 0x52, 0x65, 0x61, 0x64, 0x79, 0x44, 0x52, 0x4d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x18, 0x54, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x32, 0x0a, 0x15, 0x7a, 0x69, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x69,
	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x55, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x13, 0x7a, 0x69, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfe, 0x01, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x4c, 0x69, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12,
	0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64,
	0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x16,
	0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
	0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x50, 0x0a, 0x14, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
	0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79,
	0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x16, 0x53, 0x61, 0x6d,
	0x73, 0x75, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x0a,
	0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f,
	0x69, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x01,
	0x0a, 0x14, 0x47, 0x72, 0x61, 0x63, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x12, 0x21, 0x0a, 0x0c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x70,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43,
	0x6c, 0x69, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
	0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x43, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62,
	0x5f, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75,
	0x62, 0x47, 0x65, 0x6e, 0x72, 0x65, 0x22, 0x55, 0x0a, 0x13, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a,
	0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74,
	0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0xd0, 0x02,
	0x0a, 0x0e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12,
	0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f,
	0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c,
	0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65,
	0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x12,
	0x0a, 0x04, 0x63, 0x6c, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6c,
	0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64,
	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
	0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x22, 0x3f, 0x0a, 0x0d, 0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f,
	0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65,
	0x72, 0x22, 0x42, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65,
	0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78,
	0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0x31, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61,
	0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x37, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x61, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f,
	0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65,
	0x72, 0x22, 0x38, 0x0a, 0x36, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x6e, 0x53, 0x74, 0x69, 0x74, 0x63,
	0x68, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d,
	0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64,
	0x43, 0x6c, 0x69, 0x70, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x9a, 0x04, 0x0a, 0x38,
	0x47, 0x65, 0x74, 0x4e, 0x6f, 0x6e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70,
	0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x70, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e,
	0x6f, 0x6e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0xef, 0x02, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
	0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6b, 0x0a, 0x05, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x6e, 0x53, 0x74, 0x69,
	0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x57, 0x69, 0x74,
	0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x64, 0x43, 0x6c, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
	0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x70, 0x52, 0x05, 0x63, 0x6c,
	0x69, 0x70, 0x73, 0x1a, 0xd2, 0x01, 0x0a, 0x04, 0x43, 0x6c, 0x69, 0x70, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03,
	0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x76,
	0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x5c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x6e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69,
	0x70, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x70,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x2e, 0x43, 0x6c, 0x69, 0x70, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x07, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0x30, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x27, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
	0x64, 0x22, 0x4b, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42,
	0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x7f,
	0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22,
	0x4b, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xa0, 0x01, 0x0a,
	0x17, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63,
	0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x72,
	0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
	0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x0c,
	0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22,
	0x1a, 0x0a, 0x18, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x03, 0x0a, 0x16,
	0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12,
	0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e,
	0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74,
	0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e,
	0x67, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
	0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x67, 0x65, 0x5f, 0x72,
	0x61, 0x6e, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x67, 0x65, 0x52,
	0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69,
	0x6d, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74,
	0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61,
	0x67, 0x65, 0x64, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x0a,
	0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x61, 0x67, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
	0x22, 0x86, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51,
	0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x09,
	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52,
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xaf, 0x09, 0x0a, 0x07, 0x45, 0x70,
	0x69, 0x73, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74,
	0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e,
	0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x06, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x12, 0x35, 0x0a, 0x09, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08,
	0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, 0x73, 0x69,
	0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x12, 0x1a,
	0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61,
	0x73, 0x74, 0x5f, 0x61, 0x69, 0x72, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x6c, 0x61, 0x73, 0x74, 0x41, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x72,
	0x73, 0x74, 0x5f, 0x61, 0x69, 0x72, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
	0x66, 0x69, 0x72, 0x73, 0x74, 0x41, 0x69, 0x72, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x0d, 0x6e, 0x65,
	0x78, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x44,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x6c, 0x69, 0x6e, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x06, 0x73, 0x65,
	0x72, 0x69, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x6d, 0x65, 0x6e,
	0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x6d, 0x65,
	0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x0e,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x18,
	0x0a, 0x07, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x07, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x65, 0x64, 0x12, 0x56, 0x0a, 0x14, 0x61, 0x76, 0x61, 0x69,
	0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73,
	0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69,
	0x6c, 0x69, 0x74, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x52, 0x13, 0x61, 0x76, 0x61,
	0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73,
	0x12, 0x30, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
	0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41,
	0x74, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x5f, 0x72,
	0x65, 0x61, 0x64, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x43,
	0x6c, 0x69, 0x70, 0x73, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f,
	0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x14, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
	0x4e, 0x6f, 0x77, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75,
	0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x11, 0x68, 0x61, 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x17, 0x68, 0x61, 0x73, 0x5f, 0x6d, 0x69, 0x78, 0x65, 0x64,
	0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x16,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x68, 0x61, 0x73, 0x4d, 0x69, 0x78, 0x65, 0x64, 0x50, 0x72,
	0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x12, 0x3c, 0x0a, 0x1b, 0x68, 0x61,
	0x73, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x6d, 0x70, 0x74,
	0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x17, 0x68, 0x61, 0x73, 0x43, 0x6c, 0x69, 0x70, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6d, 0x70, 0x74,
	0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x68, 0x61, 0x73, 0x5f,
	0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c,
	0x69, 0x74, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x1c, 0x68, 0x61, 0x73, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x41, 0x76, 0x61, 0x69,
	0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x12,
	0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x64, 0x5f,
	0x70, 0x6f, 0x64, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, 0x41,
	0x64, 0x50, 0x6f, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
	0x65, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
	0x68, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67,
	0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x2c, 0x0a,
	0x12, 0x68, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63,
	0x61, 0x73, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x68, 0x61, 0x73, 0x4c, 0x69,
	0x76, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x4e,
	0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
	0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x22, 0x40, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x22, 0x49, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f,
	0x0a, 0x04, 0x63, 0x6c, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x6c,
	0x69, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x04, 0x63, 0x6c, 0x69, 0x70, 0x22,
	0x64, 0x0a, 0x0b, 0x43, 0x6c, 0x69, 0x70, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x25,
	0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x52, 0x06, 0x61,
	0x75, 0x74, 0x68, 0x6f, 0x72, 0x22, 0x75, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
	0x69, 0x6c, 0x69, 0x74, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x12, 0x2e, 0x0a, 0x08,
	0x5f, 0x61, 0x5f, 0x76, 0x5f, 0x6f, 0x5f, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x04, 0x41, 0x56, 0x4f, 0x44, 0x12, 0x2e, 0x0a, 0x06,
	0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x57, 0x69,
	0x6e, 0x64, 0x6f, 0x77, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x22, 0xa1, 0x01, 0x0a,
	0x06, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61,
	0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x72,
	0x65, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x63,
	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x73,
	0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x73,
	0x22, 0x68, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77,
	0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12,
	0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63,
	0x72, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
	0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x7f, 0x0a, 0x0a, 0x41, 0x56,
	0x4f, 0x44, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74,
	0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64,
	0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61,
	0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x64, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x64, 0x46, 0x72, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73,
	0x63, 0x72, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x0a, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x61, 0x0a, 0x08, 0x41,
	0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x64,
	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1c,
	0x0a, 0x06, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x08,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 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,
	0x22, 0x3c, 0x0a, 0x12, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x82,
	0x01, 0x0a, 0x16, 0x43, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x70, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x09,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x49, 0x64, 0x22, 0xf6, 0x01, 0x0a, 0x18, 0x43, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74,
	0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6c,
	0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6c, 0x69,
	0x70, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64,
	0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75,
	0x62, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e,
	0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12,
	0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x5f, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x47, 0x65, 0x6e, 0x72, 0x65, 0x22, 0x82, 0x02, 0x0a,
	0x1a, 0x63, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x70, 0x49, 0x64, 0x12, 0x3f,
	0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x22, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x50, 0x72, 0x6f, 0x6a, 0x65,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12,
	0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73,
	0x75, 0x62, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x14,
	0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x67,
	0x65, 0x6e, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x5f, 0x67, 0x65, 0x6e, 0x72,
	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x75, 0x62, 0x47, 0x65, 0x6e, 0x72,
	0x65, 0x22, 0x8a, 0x03, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e,
	0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a,
	0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61,
	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
	0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70,
	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
	0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67,
	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a,
	0x0f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x65, 0x70, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x45, 0x70, 0x67, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x11, 0x63, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x69,
	0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2a, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x63, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x63, 0x66,
	0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfe,
	0x02, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67,
	0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74,
	0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1c,
	0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
	0x12, 0x26, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x65, 0x70, 0x67, 0x5f, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x45,
	0x70, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x11, 0x63, 0x66, 0x61, 0x61,
	0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x10, 0x63,
	0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
	0xf4, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65,
	0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x65, 0x70, 0x67,
	0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61,
	0x75, 0x74, 0x6f, 0x45, 0x70, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x11,
	0x63, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e,
	0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52,
	0x10, 0x63, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49,
	0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61,
	0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x64,
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29,
	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x43,
	0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f,
	0x61, 0x75, 0x74, 0x6f, 0x5f, 0x65, 0x70, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x45, 0x70, 0x67, 0x53, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x11, 0x63, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x69, 0x6e,
	0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x26, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x43, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x10, 0x63, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e,
	0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x24, 0x47, 0x65, 0x74,
	0x4f, 0x6e, 0x65, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x45, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74,
	0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08,
	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xc1, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x74,
	0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x03, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06,
	0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x61,
	0x74, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65,
	0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x67,
	0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61,
	0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x12, 0x1d, 0x0a,
	0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x42, 0x0a, 0x1d,
	0x47, 0x65, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x44, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a,
	0x0c, 0x73, 0x75, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x22, 0xd3, 0x02, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x75, 0x6d,
	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12,
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65,
	0x6e, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x06, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
	0x12, 0x1b, 0x0a, 0x09, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x67, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a,
	0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d,
	0x73, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
	0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
	0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x40, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65,
	0x75, 0x65, 0x53, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x6d, 0x5f, 0x64, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x75, 0x6d,
	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x22, 0x42, 0x75, 0x6c, 0x6b,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x72,
	0x6f, 0x6d, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10,
	0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73,
	0x22, 0x41, 0x0a, 0x23, 0x42, 0x75, 0x6c, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x45, 0x70,
	0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x4d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x73, 0x6c, 0x75, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
	0x65, 0x64, 0x22, 0x51, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x33, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x64, 0x6f, 0x63,
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0xb2, 0x14, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x88, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74,
	0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x69,
	0x74, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65,
	0x74, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x85, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65,
	0x6e, 0x74, 0x12, 0x31, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x6f,
	0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
	0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1c,
	0x47, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65,
	0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x41, 0x63, 0x74,
	0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x34, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x46,
	0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x06, 0x47, 0x65, 0x74,
	0x41, 0x6c, 0x6c, 0x12, 0x1d, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x00, 0x30, 0x01, 0x12,
	0x4c, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x2e, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42,
	0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42,
	0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a,
	0x08, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x79,
	0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42,
	0x79, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x58,
	0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x12, 0x22, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x23, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xc6, 0x01, 0x0a, 0x30, 0x47, 0x65, 0x74,
	0x4e, 0x6f, 0x6e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x70, 0x73, 0x12, 0x46, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x4e, 0x6f, 0x6e, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c,
	0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x70, 0x73, 0x50,
	0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x48, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x6e, 0x53, 0x74, 0x69,
	0x74, 0x63, 0x68, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x57, 0x69, 0x74,
	0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x64, 0x43, 0x6c, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x76, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x44,
	0x61, 0x74, 0x65, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e,
	0x44, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x00, 0x30, 0x01, 0x12, 0x5e, 0x0a, 0x13, 0x43, 0x46, 0x65,
	0x65, 0x64, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x12, 0x2a, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x43, 0x46, 0x65, 0x65, 0x64, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x6f, 0x63, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x00, 0x30, 0x01, 0x12, 0x53, 0x0a, 0x10, 0x43, 0x46, 0x65,
	0x65, 0x64, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x27, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43,
	0x46, 0x65, 0x65, 0x64, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x49, 0x64, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x22, 0x00, 0x30, 0x01, 0x12, 0x61,
	0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x79, 0x49, 0x64,
	0x12, 0x25, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x79, 0x49, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x5b, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64,
	0x73, 0x12, 0x23, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69,
	0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49,
	0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x10, 0x42, 0x75, 0x6c,
	0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x42,
	0x75, 0x6c, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x44, 0x65, 0x76, 0x69,
	0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x64, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x26, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41,
	0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69,
	0x74, 0x65, 0x12, 0x2d, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x43,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73,
	0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x12, 0x30, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67,
	0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74,
	0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x8b, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74,
	0x4f, 0x6e, 0x65, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x6e,
	0x65, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64,
	0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34,
	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x47, 0x65, 0x74, 0x4f, 0x6e, 0x65, 0x43, 0x46, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67,
	0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x62,
	0x72, 0x61, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x2c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x44, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x70,
	0x0a, 0x13, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x75, 0x6d, 0x44, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53,
	0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x75, 0x6d, 0x44, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x88, 0x01, 0x0a, 0x1b, 0x42, 0x75, 0x6c, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x45,
	0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x75, 0x65,
	0x12, 0x32, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x45, 0x70, 0x69, 0x73,
	0x6f, 0x64, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
	0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x75,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x12, 0x47,
	0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x12, 0x29, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x79, 0x46,
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65,
	0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x49, 0x0a, 0x18, 0x74, 0x76,
	0x2e, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x2e, 0x69, 0x70, 0x2e, 0x64, 0x61, 0x6c, 0x2e, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x50, 0x6c, 0x75, 0x74, 0x6f, 0x2d, 0x74, 0x76, 0x2f, 0x73, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x2d, 0x64, 0x61, 0x6c, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x63,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_channels_channels_proto_rawDescOnce sync.Once
	file_channels_channels_proto_rawDescData = file_channels_channels_proto_rawDesc
)

func file_channels_channels_proto_rawDescGZIP() []byte {
	file_channels_channels_proto_rawDescOnce.Do(func() {
		file_channels_channels_proto_rawDescData = protoimpl.X.CompressGZIP(file_channels_channels_proto_rawDescData)
	})
	return file_channels_channels_proto_rawDescData
}

var file_channels_channels_proto_msgTypes = make([]protoimpl.MessageInfo, 82)
var file_channels_channels_proto_goTypes = []interface{}{
	(*CreateRequest)(nil),                                          // 0: channelpackage.CreateRequest
	(*CreateResponse)(nil),                                         // 1: channelpackage.CreateResponse
	(*CFeedsSyncAllIdsRequest)(nil),                                // 2: channelpackage.CFeedsSyncAllIdsRequest
	(*Id)(nil),                                                     // 3: channelpackage.Id
	(*CFeedsSyncDocumentsRequest)(nil),                             // 4: channelpackage.CFeedsSyncDocumentsRequest
	(*GetAllPagedChannelLiteRequest)(nil),                          // 5: channelpackage.GetAllPagedChannelLiteRequest
	(*GetAllPagedRequest)(nil),                                     // 6: channelpackage.GetAllPagedRequest
	(*Filter)(nil),                                                 // 7: channelpackage.Filter
	(*GetAllPagedSort)(nil),                                        // 8: channelpackage.GetAllPagedSort
	(*Metadata)(nil),                                               // 9: channelpackage.Metadata
	(*GetAllPagedResponse)(nil),                                    // 10: channelpackage.GetAllPagedResponse
	(*GetAllPagedChannelLiteResponse)(nil),                         // 11: channelpackage.GetAllPagedChannelLiteResponse
	(*GetAllRequest)(nil),                                          // 12: channelpackage.GetAllRequest
	(*GetDocumentsUpdatedBetweenDatesRequest)(nil),                 // 13: channelpackage.GetDocumentsUpdatedBetweenDatesRequest
	(*GetStitchedActiveChannelIdsRequest)(nil),                     // 14: channelpackage.GetStitchedActiveChannelIdsRequest
	(*GetStitchedActiveChannelIdsResponse)(nil),                    // 15: channelpackage.GetStitchedActiveChannelIdsResponse
	(*GetChannelForActiveContentRequest)(nil),                      // 16: channelpackage.GetChannelForActiveContentRequest
	(*GetChannelForActiveContentResponse)(nil),                     // 17: channelpackage.GetChannelForActiveContentResponse
	(*GetTimelinesForActiveContentRequest)(nil),                    // 18: channelpackage.GetTimelinesForActiveContentRequest
	(*GetTimelinesForActiveContentResponse)(nil),                   // 19: channelpackage.GetTimelinesForActiveContentResponse
	(*TimelineForActiveContentResponse)(nil),                       // 20: channelpackage.TimelineForActiveContentResponse
	(*GetByIdRequest)(nil),                                         // 21: channelpackage.GetByIdRequest
	(*GetByIdResponse)(nil),                                        // 22: channelpackage.GetByIdResponse
	(*GetByIdsRequest)(nil),                                        // 23: channelpackage.GetByIdsRequest
	(*GetByIdsResponse)(nil),                                       // 24: channelpackage.GetByIdsResponse
	(*Distribution)(nil),                                           // 25: channelpackage.Distribution
	(*Path)(nil),                                                   // 26: channelpackage.Path
	(*MainCategory)(nil),                                           // 27: channelpackage.MainCategory
	(*Channel)(nil),                                                // 28: channelpackage.Channel
	(*ChannelLite)(nil),                                            // 29: channelpackage.ChannelLite
	(*CustomReferenceValue)(nil),                                   // 30: channelpackage.CustomReferenceValue
	(*SamsungChannelProperty)(nil),                                 // 31: channelpackage.SamsungChannelProperty
	(*GracenoteIntegration)(nil),                                   // 32: channelpackage.GracenoteIntegration
	(*ScheduledPublishing)(nil),                                    // 33: channelpackage.ScheduledPublishing
	(*PrivateChannel)(nil),                                         // 34: channelpackage.PrivateChannel
	(*EpisodesQueue)(nil),                                          // 35: channelpackage.EpisodesQueue
	(*RegionFilter)(nil),                                           // 36: channelpackage.RegionFilter
	(*Image)(nil),                                                  // 37: channelpackage.Image
	(*Category)(nil),                                               // 38: channelpackage.Category
	(*GetNonStitchedChannelsWithMultipleScheduledClipsParams)(nil), // 39: channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsParams
	(*GetNonStitchedChannelsWithMultipleScheduledClipsResponse)(nil), // 40: channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse
	(*GetChannelByIdRequest)(nil),                                    // 41: channelpackage.GetChannelByIdRequest
	(*GetChannelByIdResponse)(nil),                                   // 42: channelpackage.GetChannelByIdResponse
	(*UpdateFieldsRequest)(nil),                                      // 43: channelpackage.UpdateFieldsRequest
	(*UpdateFieldsResponse)(nil),                                     // 44: channelpackage.UpdateFieldsResponse
	(*BulkDeviceUpdateRequest)(nil),                                  // 45: channelpackage.BulkDeviceUpdateRequest
	(*BulkDeviceUpdateResponse)(nil),                                 // 46: channelpackage.BulkDeviceUpdateResponse
	(*GetChannelQueueRequest)(nil),                                   // 47: channelpackage.GetChannelQueueRequest
	(*GetChannelQueueResponse)(nil),                                  // 48: channelpackage.GetChannelQueueResponse
	(*Episode)(nil),                                                  // 49: channelpackage.Episode
	(*NextTimelineDetails)(nil),                                      // 50: channelpackage.NextTimelineDetails
	(*Series)(nil),                                                   // 51: channelpackage.Series
	(*Source)(nil),                                                   // 52: channelpackage.Source
	(*ClipDetails)(nil),                                              // 53: channelpackage.ClipDetails
	(*AvailabilityWindows)(nil),                                      // 54: channelpackage.AvailabilityWindows
	(*Window)(nil),                                                   // 55: channelpackage.Window
	(*LinearWindow)(nil),                                             // 56: channelpackage.LinearWindow
	(*AVODWindow)(nil),                                               // 57: channelpackage.AVODWindow
	(*AgeRange)(nil),                                                 // 58: channelpackage.AgeRange
	(*Author)(nil),                                                   // 59: channelpackage.Author
	(*SourceId)(nil),                                                 // 60: channelpackage.SourceId
	(*SourceIdProjection)(nil),                                       // 61: channelpackage.SourceIdProjection
	(*CfaasIntegrationParams)(nil),                                   // 62: channelpackage.CfaasIntegrationParams
	(*CfaasIntegrationResponse)(nil),                                 // 63: channelpackage.CfaasIntegrationResponse
	(*CfaasIntegrationProjection)(nil),                               // 64: channelpackage.cfaasIntegrationProjection
	(*GetCFaasIntegratedChannelProjection)(nil),                      // 65: channelpackage.GetCFaasIntegratedChannelProjection
	(*GetCFaasIntegratedChannel)(nil),                                // 66: channelpackage.GetCFaasIntegratedChannel
	(*GetCFaasIntegratedChannelRequest)(nil),                         // 67: channelpackage.GetCFaasIntegratedChannelRequest
	(*GetCFaasIntegratedChannelResponse)(nil),                        // 68: channelpackage.GetCFaasIntegratedChannelResponse
	(*GetOneCFaasIntegratedChannelRequest)(nil),                      // 69: channelpackage.GetOneCFaasIntegratedChannelRequest
	(*GetOneCFaasIntegratedChannelResponse)(nil),                     // 70: channelpackage.GetOneCFaasIntegratedChannelResponse
	(*GetLibrarySumDurationRequest)(nil),                             // 71: channelpackage.GetLibrarySumDurationRequest
	(*GetLibrarySumDurationResponse)(nil),                            // 72: channelpackage.GetLibrarySumDurationResponse
	(*GetQueueSumDurationRequest)(nil),                               // 73: channelpackage.GetQueueSumDurationRequest
	(*GetQueueSumDurationResponse)(nil),                              // 74: channelpackage.GetQueueSumDurationResponse
	(*BulkRemoveEpisodesFromQueueRequest)(nil),                       // 75: channelpackage.BulkRemoveEpisodesFromQueueRequest
	(*BulkRemoveEpisodesFromQueueResponse)(nil),                      // 76: channelpackage.BulkRemoveEpisodesFromQueueResponse
	(*GetChannelByFilterRequest)(nil),                                // 77: channelpackage.GetChannelByFilterRequest
	(*GetChannelByFilterResponse)(nil),                               // 78: channelpackage.GetChannelByFilterResponse
	(*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel)(nil),             // 79: channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.Channel
	(*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip)(nil),        // 80: channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.Channel.Clip
	(*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source)(nil), // 81: channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.Channel.Clip.Source
}
var file_channels_channels_proto_depIdxs = []int32{
	28,  // 0: channelpackage.CreateRequest.document:type_name -> channelpackage.Channel
	28,  // 1: channelpackage.CreateResponse.document:type_name -> channelpackage.Channel
	8,   // 2: channelpackage.GetAllPagedChannelLiteRequest.sort:type_name -> channelpackage.GetAllPagedSort
	7,   // 3: channelpackage.GetAllPagedChannelLiteRequest.filters:type_name -> channelpackage.Filter
	8,   // 4: channelpackage.GetAllPagedRequest.sort:type_name -> channelpackage.GetAllPagedSort
	7,   // 5: channelpackage.GetAllPagedRequest.filters:type_name -> channelpackage.Filter
	28,  // 6: channelpackage.GetAllPagedResponse.documents:type_name -> channelpackage.Channel
	9,   // 7: channelpackage.GetAllPagedResponse.metadata:type_name -> channelpackage.Metadata
	29,  // 8: channelpackage.GetAllPagedChannelLiteResponse.documents:type_name -> channelpackage.ChannelLite
	9,   // 9: channelpackage.GetAllPagedChannelLiteResponse.metadata:type_name -> channelpackage.Metadata
	20,  // 10: channelpackage.GetTimelinesForActiveContentResponse.items:type_name -> channelpackage.TimelineForActiveContentResponse
	28,  // 11: channelpackage.GetByIdResponse.document:type_name -> channelpackage.Channel
	8,   // 12: channelpackage.GetByIdsRequest.sort:type_name -> channelpackage.GetAllPagedSort
	28,  // 13: channelpackage.GetByIdsResponse.documents:type_name -> channelpackage.Channel
	26,  // 14: channelpackage.MainCategory.svg_image_url:type_name -> channelpackage.Path
	26,  // 15: channelpackage.MainCategory.png_image_url:type_name -> channelpackage.Path
	25,  // 16: channelpackage.MainCategory.distribution:type_name -> channelpackage.Distribution
	38,  // 17: channelpackage.Channel.categories:type_name -> channelpackage.Category
	37,  // 18: channelpackage.Channel.thumbnail:type_name -> channelpackage.Image
	37,  // 19: channelpackage.Channel.featured_image:type_name -> channelpackage.Image
	37,  // 20: channelpackage.Channel.partner_logo:type_name -> channelpackage.Image
	37,  // 21: channelpackage.Channel.logo:type_name -> channelpackage.Image
	37,  // 22: channelpackage.Channel.tile:type_name -> channelpackage.Image
	37,  // 23: channelpackage.Channel.tile_grayscale:type_name -> channelpackage.Image
	37,  // 24: channelpackage.Channel.browse:type_name -> channelpackage.Image
	37,  // 25: channelpackage.Channel.background:type_name -> channelpackage.Image
	36,  // 26: channelpackage.Channel.region_filter:type_name -> channelpackage.RegionFilter
	36,  // 27: channelpackage.Channel.distribution:type_name -> channelpackage.RegionFilter
	35,  // 28: channelpackage.Channel.episodes_queue:type_name -> channelpackage.EpisodesQueue
	34,  // 29: channelpackage.Channel.private_channel:type_name -> channelpackage.PrivateChannel
	33,  // 30: channelpackage.Channel.scheduled_publishing:type_name -> channelpackage.ScheduledPublishing
	37,  // 31: channelpackage.Channel.solid_logo_p_n_g:type_name -> channelpackage.Image
	37,  // 32: channelpackage.Channel.color_logo_p_n_g:type_name -> channelpackage.Image
	37,  // 33: channelpackage.Channel.solid_logo_s_v_g:type_name -> channelpackage.Image
	37,  // 34: channelpackage.Channel.color_logo_s_v_g:type_name -> channelpackage.Image
	32,  // 35: channelpackage.Channel.gracenote_integration:type_name -> channelpackage.GracenoteIntegration
	31,  // 36: channelpackage.Channel.samsung_channel_properties:type_name -> channelpackage.SamsungChannelProperty
	30,  // 37: channelpackage.Channel.custom_references:type_name -> channelpackage.CustomReferenceValue
	37,  // 38: channelpackage.Channel.thumbnail_alt:type_name -> channelpackage.Image
	37,  // 39: channelpackage.Channel.featured_image_alt:type_name -> channelpackage.Image
	37,  // 40: channelpackage.Channel.logo_alt:type_name -> channelpackage.Image
	37,  // 41: channelpackage.Channel.solid_logo_p_n_g_alt:type_name -> channelpackage.Image
	37,  // 42: channelpackage.Channel.color_logo_p_n_g_alt:type_name -> channelpackage.Image
	37,  // 43: channelpackage.Channel.solid_logo_s_v_g_alt:type_name -> channelpackage.Image
	37,  // 44: channelpackage.Channel.color_logo_s_v_g_alt:type_name -> channelpackage.Image
	27,  // 45: channelpackage.Channel.main_categories:type_name -> channelpackage.MainCategory
	63,  // 46: channelpackage.Channel.cfaas_integration:type_name -> channelpackage.CfaasIntegrationResponse
	38,  // 47: channelpackage.ChannelLite.categories:type_name -> channelpackage.Category
	79,  // 48: channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.channels:type_name -> channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.Channel
	28,  // 49: channelpackage.GetChannelByIdResponse.channel:type_name -> channelpackage.Channel
	28,  // 50: channelpackage.UpdateFieldsRequest.document:type_name -> channelpackage.Channel
	28,  // 51: channelpackage.UpdateFieldsResponse.document:type_name -> channelpackage.Channel
	8,   // 52: channelpackage.GetChannelQueueRequest.sort:type_name -> channelpackage.GetAllPagedSort
	49,  // 53: channelpackage.GetChannelQueueResponse.documents:type_name -> channelpackage.Episode
	9,   // 54: channelpackage.GetChannelQueueResponse.metadata:type_name -> channelpackage.Metadata
	58,  // 55: channelpackage.Episode.age_range:type_name -> channelpackage.AgeRange
	50,  // 56: channelpackage.Episode.next_timeline:type_name -> channelpackage.NextTimelineDetails
	51,  // 57: channelpackage.Episode.series:type_name -> channelpackage.Series
	54,  // 58: channelpackage.Episode.availability_windows:type_name -> channelpackage.AvailabilityWindows
	52,  // 59: channelpackage.Episode.sources:type_name -> channelpackage.Source
	53,  // 60: channelpackage.Source.clip:type_name -> channelpackage.ClipDetails
	59,  // 61: channelpackage.ClipDetails.author:type_name -> channelpackage.Author
	55,  // 62: channelpackage.AvailabilityWindows._a_v_o_d:type_name -> channelpackage.Window
	55,  // 63: channelpackage.AvailabilityWindows.linear:type_name -> channelpackage.Window
	60,  // 64: channelpackage.CfaasIntegrationParams.source_id:type_name -> channelpackage.SourceId
	60,  // 65: channelpackage.CfaasIntegrationResponse.source_id:type_name -> channelpackage.SourceId
	61,  // 66: channelpackage.cfaasIntegrationProjection.source_id:type_name -> channelpackage.SourceIdProjection
	64,  // 67: channelpackage.GetCFaasIntegratedChannelProjection.cfaas_integration:type_name -> channelpackage.cfaasIntegrationProjection
	63,  // 68: channelpackage.GetCFaasIntegratedChannel.cfaas_integration:type_name -> channelpackage.CfaasIntegrationResponse
	62,  // 69: channelpackage.GetCFaasIntegratedChannelRequest.cfaas_integration:type_name -> channelpackage.CfaasIntegrationParams
	65,  // 70: channelpackage.GetCFaasIntegratedChannelRequest.projection:type_name -> channelpackage.GetCFaasIntegratedChannelProjection
	66,  // 71: channelpackage.GetCFaasIntegratedChannelResponse.documents:type_name -> channelpackage.GetCFaasIntegratedChannel
	62,  // 72: channelpackage.GetOneCFaasIntegratedChannelRequest.cfaas_integration:type_name -> channelpackage.CfaasIntegrationParams
	66,  // 73: channelpackage.GetOneCFaasIntegratedChannelResponse.document:type_name -> channelpackage.GetCFaasIntegratedChannel
	28,  // 74: channelpackage.GetChannelByFilterResponse.document:type_name -> channelpackage.Channel
	80,  // 75: channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.Channel.clips:type_name -> channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.Channel.Clip
	81,  // 76: channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.Channel.Clip.sources:type_name -> channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse.Channel.Clip.Source
	14,  // 77: channelpackage.ChannelManager.GetStitchedActiveChannelIds:input_type -> channelpackage.GetStitchedActiveChannelIdsRequest
	16,  // 78: channelpackage.ChannelManager.GetChannelForActiveContent:input_type -> channelpackage.GetChannelForActiveContentRequest
	18,  // 79: channelpackage.ChannelManager.GetTimelinesForActiveContent:input_type -> channelpackage.GetTimelinesForActiveContentRequest
	12,  // 80: channelpackage.ChannelManager.GetAll:input_type -> channelpackage.GetAllRequest
	21,  // 81: channelpackage.ChannelManager.GetById:input_type -> channelpackage.GetByIdRequest
	23,  // 82: channelpackage.ChannelManager.GetByIds:input_type -> channelpackage.GetByIdsRequest
	6,   // 83: channelpackage.ChannelManager.GetAllPaged:input_type -> channelpackage.GetAllPagedRequest
	39,  // 84: channelpackage.ChannelManager.GetNonStitchedChannelsWithMultipleScheduledClips:input_type -> channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsParams
	13,  // 85: channelpackage.ChannelManager.GetDocumentsUpdatedBetweenDates:input_type -> channelpackage.GetDocumentsUpdatedBetweenDatesRequest
	4,   // 86: channelpackage.ChannelManager.CFeedsSyncDocuments:input_type -> channelpackage.CFeedsSyncDocumentsRequest
	2,   // 87: channelpackage.ChannelManager.CFeedsSyncAllIds:input_type -> channelpackage.CFeedsSyncAllIdsRequest
	41,  // 88: channelpackage.ChannelManager.GetChannelById:input_type -> channelpackage.GetChannelByIdRequest
	43,  // 89: channelpackage.ChannelManager.UpdateFields:input_type -> channelpackage.UpdateFieldsRequest
	0,   // 90: channelpackage.ChannelManager.Create:input_type -> channelpackage.CreateRequest
	45,  // 91: channelpackage.ChannelManager.BulkDeviceUpdate:input_type -> channelpackage.BulkDeviceUpdateRequest
	47,  // 92: channelpackage.ChannelManager.GetChannelQueue:input_type -> channelpackage.GetChannelQueueRequest
	5,   // 93: channelpackage.ChannelManager.GetAllPagedChannelLite:input_type -> channelpackage.GetAllPagedChannelLiteRequest
	67,  // 94: channelpackage.ChannelManager.GetCFaasIntegratedChannel:input_type -> channelpackage.GetCFaasIntegratedChannelRequest
	69,  // 95: channelpackage.ChannelManager.GetOneCFaasIntegratedChannel:input_type -> channelpackage.GetOneCFaasIntegratedChannelRequest
	71,  // 96: channelpackage.ChannelManager.GetLibrarySumDuration:input_type -> channelpackage.GetLibrarySumDurationRequest
	73,  // 97: channelpackage.ChannelManager.GetQueueSumDuration:input_type -> channelpackage.GetQueueSumDurationRequest
	75,  // 98: channelpackage.ChannelManager.BulkRemoveEpisodesFromQueue:input_type -> channelpackage.BulkRemoveEpisodesFromQueueRequest
	77,  // 99: channelpackage.ChannelManager.GetChannelByFilter:input_type -> channelpackage.GetChannelByFilterRequest
	15,  // 100: channelpackage.ChannelManager.GetStitchedActiveChannelIds:output_type -> channelpackage.GetStitchedActiveChannelIdsResponse
	17,  // 101: channelpackage.ChannelManager.GetChannelForActiveContent:output_type -> channelpackage.GetChannelForActiveContentResponse
	19,  // 102: channelpackage.ChannelManager.GetTimelinesForActiveContent:output_type -> channelpackage.GetTimelinesForActiveContentResponse
	28,  // 103: channelpackage.ChannelManager.GetAll:output_type -> channelpackage.Channel
	22,  // 104: channelpackage.ChannelManager.GetById:output_type -> channelpackage.GetByIdResponse
	24,  // 105: channelpackage.ChannelManager.GetByIds:output_type -> channelpackage.GetByIdsResponse
	10,  // 106: channelpackage.ChannelManager.GetAllPaged:output_type -> channelpackage.GetAllPagedResponse
	40,  // 107: channelpackage.ChannelManager.GetNonStitchedChannelsWithMultipleScheduledClips:output_type -> channelpackage.GetNonStitchedChannelsWithMultipleScheduledClipsResponse
	28,  // 108: channelpackage.ChannelManager.GetDocumentsUpdatedBetweenDates:output_type -> channelpackage.Channel
	28,  // 109: channelpackage.ChannelManager.CFeedsSyncDocuments:output_type -> channelpackage.Channel
	3,   // 110: channelpackage.ChannelManager.CFeedsSyncAllIds:output_type -> channelpackage.Id
	42,  // 111: channelpackage.ChannelManager.GetChannelById:output_type -> channelpackage.GetChannelByIdResponse
	44,  // 112: channelpackage.ChannelManager.UpdateFields:output_type -> channelpackage.UpdateFieldsResponse
	1,   // 113: channelpackage.ChannelManager.Create:output_type -> channelpackage.CreateResponse
	46,  // 114: channelpackage.ChannelManager.BulkDeviceUpdate:output_type -> channelpackage.BulkDeviceUpdateResponse
	48,  // 115: channelpackage.ChannelManager.GetChannelQueue:output_type -> channelpackage.GetChannelQueueResponse
	11,  // 116: channelpackage.ChannelManager.GetAllPagedChannelLite:output_type -> channelpackage.GetAllPagedChannelLiteResponse
	68,  // 117: channelpackage.ChannelManager.GetCFaasIntegratedChannel:output_type -> channelpackage.GetCFaasIntegratedChannelResponse
	70,  // 118: channelpackage.ChannelManager.GetOneCFaasIntegratedChannel:output_type -> channelpackage.GetOneCFaasIntegratedChannelResponse
	72,  // 119: channelpackage.ChannelManager.GetLibrarySumDuration:output_type -> channelpackage.GetLibrarySumDurationResponse
	74,  // 120: channelpackage.ChannelManager.GetQueueSumDuration:output_type -> channelpackage.GetQueueSumDurationResponse
	76,  // 121: channelpackage.ChannelManager.BulkRemoveEpisodesFromQueue:output_type -> channelpackage.BulkRemoveEpisodesFromQueueResponse
	78,  // 122: channelpackage.ChannelManager.GetChannelByFilter:output_type -> channelpackage.GetChannelByFilterResponse
	100, // [100:123] is the sub-list for method output_type
	77,  // [77:100] is the sub-list for method input_type
	77,  // [77:77] is the sub-list for extension type_name
	77,  // [77:77] is the sub-list for extension extendee
	0,   // [0:77] is the sub-list for field type_name
}

func init() { file_channels_channels_proto_init() }
func file_channels_channels_proto_init() {
	if File_channels_channels_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_channels_channels_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CFeedsSyncAllIdsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Id); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CFeedsSyncDocumentsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllPagedChannelLiteRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllPagedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Filter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllPagedSort); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Metadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllPagedResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllPagedChannelLiteResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDocumentsUpdatedBetweenDatesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetStitchedActiveChannelIdsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetStitchedActiveChannelIdsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelForActiveContentRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelForActiveContentResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTimelinesForActiveContentRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetTimelinesForActiveContentResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TimelineForActiveContentResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetByIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetByIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetByIdsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetByIdsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Distribution); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Path); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MainCategory); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Channel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChannelLite); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CustomReferenceValue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SamsungChannelProperty); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GracenoteIntegration); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ScheduledPublishing); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PrivateChannel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EpisodesQueue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegionFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Image); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Category); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNonStitchedChannelsWithMultipleScheduledClipsParams); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNonStitchedChannelsWithMultipleScheduledClipsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelByIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelByIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateFieldsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateFieldsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkDeviceUpdateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkDeviceUpdateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelQueueRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelQueueResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Episode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NextTimelineDetails); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Series); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Source); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClipDetails); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AvailabilityWindows); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Window); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LinearWindow); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AVODWindow); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AgeRange); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Author); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SourceId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SourceIdProjection); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CfaasIntegrationParams); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CfaasIntegrationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CfaasIntegrationProjection); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetCFaasIntegratedChannelProjection); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetCFaasIntegratedChannel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetCFaasIntegratedChannelRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetCFaasIntegratedChannelResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOneCFaasIntegratedChannelRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOneCFaasIntegratedChannelResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetLibrarySumDurationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetLibrarySumDurationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetQueueSumDurationRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetQueueSumDurationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkRemoveEpisodesFromQueueRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkRemoveEpisodesFromQueueResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelByFilterRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelByFilterResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_channels_channels_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetNonStitchedChannelsWithMultipleScheduledClipsResponse_Channel_Clip_Source); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_channels_channels_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   82,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_channels_channels_proto_goTypes,
		DependencyIndexes: file_channels_channels_proto_depIdxs,
		MessageInfos:      file_channels_channels_proto_msgTypes,
	}.Build()
	File_channels_channels_proto = out.File
	file_channels_channels_proto_rawDesc = nil
	file_channels_channels_proto_goTypes = nil
	file_channels_channels_proto_depIdxs = nil
}
