// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel // protoc v3.17.3 // source: site.proto package discoursepb 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 Site struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DefaultArchetype string `protobuf:"bytes,1,opt,name=default_archetype,json=defaultArchetype,proto3" json:"default_archetype,omitempty"` NotificationTypes *Site_NotificationTypes `protobuf:"bytes,2,opt,name=notification_types,json=notificationTypes,proto3" json:"notification_types,omitempty"` PostTypes *Site_PostTypes `protobuf:"bytes,3,opt,name=post_types,json=postTypes,proto3" json:"post_types,omitempty"` Groups []*Site_Groups `protobuf:"bytes,4,rep,name=groups,proto3" json:"groups,omitempty"` Filter []string `protobuf:"bytes,5,rep,name=filter,proto3" json:"filter,omitempty"` Periods []string `protobuf:"bytes,6,rep,name=periods,proto3" json:"periods,omitempty"` TopMenuItems []string `protobuf:"bytes,7,rep,name=top_menu_items,json=topMenuItems,proto3" json:"top_menu_items,omitempty"` AnonymousTopMenuItems []string `protobuf:"bytes,8,rep,name=anonymous_top_menu_items,json=anonymousTopMenuItems,proto3" json:"anonymous_top_menu_items,omitempty"` UncategorizedCategoryId int32 `protobuf:"varint,9,opt,name=uncategorized_category_id,json=uncategorizedCategoryId,proto3" json:"uncategorized_category_id,omitempty"` UserFieldMaxLength int32 `protobuf:"varint,10,opt,name=user_field_max_length,json=userFieldMaxLength,proto3" json:"user_field_max_length,omitempty"` PostActionTypes []*Site_PostActionTypes `protobuf:"bytes,11,rep,name=post_action_types,json=postActionTypes,proto3" json:"post_action_types,omitempty"` TopicFlagTypes []*Site_TopicFlagTypes `protobuf:"bytes,12,rep,name=topic_flag_types,json=topicFlagTypes,proto3" json:"topic_flag_types,omitempty"` CanCreateTag bool `protobuf:"varint,13,opt,name=can_create_tag,json=canCreateTag,proto3" json:"can_create_tag,omitempty"` CanTagTopics bool `protobuf:"varint,14,opt,name=can_tag_topics,json=canTagTopics,proto3" json:"can_tag_topics,omitempty"` CanTagPms bool `protobuf:"varint,15,opt,name=can_tag_pms,json=canTagPms,proto3" json:"can_tag_pms,omitempty"` TagsFilterRegexp string `protobuf:"bytes,16,opt,name=tags_filter_regexp,json=tagsFilterRegexp,proto3" json:"tags_filter_regexp,omitempty"` TopTags []string `protobuf:"bytes,17,rep,name=top_tags,json=topTags,proto3" json:"top_tags,omitempty"` TopicFeaturedLinkAllowedCategoryIds []int32 `protobuf:"varint,18,rep,packed,name=topic_featured_link_allowed_category_ids,json=topicFeaturedLinkAllowedCategoryIds,proto3" json:"topic_featured_link_allowed_category_ids,omitempty"` UserThemes []*Site_UserThemes `protobuf:"bytes,19,rep,name=user_themes,json=userThemes,proto3" json:"user_themes,omitempty"` Categories []*Site_Categories `protobuf:"bytes,20,rep,name=categories,proto3" json:"categories,omitempty"` TrustLevels *Site_TrustLevels `protobuf:"bytes,21,opt,name=trust_levels,json=trustLevels,proto3" json:"trust_levels,omitempty"` Archetypes []*Site_Archetypes `protobuf:"bytes,22,rep,name=archetypes,proto3" json:"archetypes,omitempty"` AuthProviders []*Site_AuthProviders `protobuf:"bytes,23,rep,name=auth_providers,json=authProviders,proto3" json:"auth_providers,omitempty"` } func (x *Site) Reset() { *x = Site{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site) ProtoMessage() {} func (x *Site) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site.ProtoReflect.Descriptor instead. func (*Site) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0} } func (x *Site) GetDefaultArchetype() string { if x != nil { return x.DefaultArchetype } return "" } func (x *Site) GetNotificationTypes() *Site_NotificationTypes { if x != nil { return x.NotificationTypes } return nil } func (x *Site) GetPostTypes() *Site_PostTypes { if x != nil { return x.PostTypes } return nil } func (x *Site) GetGroups() []*Site_Groups { if x != nil { return x.Groups } return nil } func (x *Site) GetFilter() []string { if x != nil { return x.Filter } return nil } func (x *Site) GetPeriods() []string { if x != nil { return x.Periods } return nil } func (x *Site) GetTopMenuItems() []string { if x != nil { return x.TopMenuItems } return nil } func (x *Site) GetAnonymousTopMenuItems() []string { if x != nil { return x.AnonymousTopMenuItems } return nil } func (x *Site) GetUncategorizedCategoryId() int32 { if x != nil { return x.UncategorizedCategoryId } return 0 } func (x *Site) GetUserFieldMaxLength() int32 { if x != nil { return x.UserFieldMaxLength } return 0 } func (x *Site) GetPostActionTypes() []*Site_PostActionTypes { if x != nil { return x.PostActionTypes } return nil } func (x *Site) GetTopicFlagTypes() []*Site_TopicFlagTypes { if x != nil { return x.TopicFlagTypes } return nil } func (x *Site) GetCanCreateTag() bool { if x != nil { return x.CanCreateTag } return false } func (x *Site) GetCanTagTopics() bool { if x != nil { return x.CanTagTopics } return false } func (x *Site) GetCanTagPms() bool { if x != nil { return x.CanTagPms } return false } func (x *Site) GetTagsFilterRegexp() string { if x != nil { return x.TagsFilterRegexp } return "" } func (x *Site) GetTopTags() []string { if x != nil { return x.TopTags } return nil } func (x *Site) GetTopicFeaturedLinkAllowedCategoryIds() []int32 { if x != nil { return x.TopicFeaturedLinkAllowedCategoryIds } return nil } func (x *Site) GetUserThemes() []*Site_UserThemes { if x != nil { return x.UserThemes } return nil } func (x *Site) GetCategories() []*Site_Categories { if x != nil { return x.Categories } return nil } func (x *Site) GetTrustLevels() *Site_TrustLevels { if x != nil { return x.TrustLevels } return nil } func (x *Site) GetArchetypes() []*Site_Archetypes { if x != nil { return x.Archetypes } return nil } func (x *Site) GetAuthProviders() []*Site_AuthProviders { if x != nil { return x.AuthProviders } return nil } type Site_NotificationTypes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mentioned int32 `protobuf:"varint,1,opt,name=mentioned,proto3" json:"mentioned,omitempty"` Replied int32 `protobuf:"varint,2,opt,name=replied,proto3" json:"replied,omitempty"` Qouted int32 `protobuf:"varint,3,opt,name=qouted,proto3" json:"qouted,omitempty"` Edited int32 `protobuf:"varint,4,opt,name=edited,proto3" json:"edited,omitempty"` Liked int32 `protobuf:"varint,5,opt,name=liked,proto3" json:"liked,omitempty"` PrivateMessage int32 `protobuf:"varint,6,opt,name=private_message,json=privateMessage,proto3" json:"private_message,omitempty"` InvitedToPrivateMessage int32 `protobuf:"varint,7,opt,name=invited_to_private_message,json=invitedToPrivateMessage,proto3" json:"invited_to_private_message,omitempty"` InviteeAccepted int32 `protobuf:"varint,8,opt,name=invitee_accepted,json=inviteeAccepted,proto3" json:"invitee_accepted,omitempty"` Posted int32 `protobuf:"varint,9,opt,name=posted,proto3" json:"posted,omitempty"` MovedPost int32 `protobuf:"varint,10,opt,name=moved_post,json=movedPost,proto3" json:"moved_post,omitempty"` Linked int32 `protobuf:"varint,11,opt,name=linked,proto3" json:"linked,omitempty"` GrantedBadge int32 `protobuf:"varint,12,opt,name=granted_badge,json=grantedBadge,proto3" json:"granted_badge,omitempty"` InvitedToTopic int32 `protobuf:"varint,13,opt,name=invited_to_topic,json=invitedToTopic,proto3" json:"invited_to_topic,omitempty"` Custom int32 `protobuf:"varint,14,opt,name=custom,proto3" json:"custom,omitempty"` GroupMentioned int32 `protobuf:"varint,15,opt,name=group_mentioned,json=groupMentioned,proto3" json:"group_mentioned,omitempty"` GroupMessageSummary int32 `protobuf:"varint,16,opt,name=group_message_summary,json=groupMessageSummary,proto3" json:"group_message_summary,omitempty"` WatchingFirstPost int32 `protobuf:"varint,17,opt,name=watching_first_post,json=watchingFirstPost,proto3" json:"watching_first_post,omitempty"` TopicReminder int32 `protobuf:"varint,18,opt,name=topic_reminder,json=topicReminder,proto3" json:"topic_reminder,omitempty"` LikedConsolidated int32 `protobuf:"varint,19,opt,name=liked_consolidated,json=likedConsolidated,proto3" json:"liked_consolidated,omitempty"` PostApproved int32 `protobuf:"varint,20,opt,name=post_approved,json=postApproved,proto3" json:"post_approved,omitempty"` CodeReviewCommitApproved int32 `protobuf:"varint,21,opt,name=code_review_commit_approved,json=codeReviewCommitApproved,proto3" json:"code_review_commit_approved,omitempty"` MembershipRequestAccepted int32 `protobuf:"varint,22,opt,name=membership_request_accepted,json=membershipRequestAccepted,proto3" json:"membership_request_accepted,omitempty"` MembershipRequestConsolidated int32 `protobuf:"varint,23,opt,name=membership_request_consolidated,json=membershipRequestConsolidated,proto3" json:"membership_request_consolidated,omitempty"` BookmarkReminder int32 `protobuf:"varint,24,opt,name=bookmark_reminder,json=bookmarkReminder,proto3" json:"bookmark_reminder,omitempty"` Reaction int32 `protobuf:"varint,25,opt,name=reaction,proto3" json:"reaction,omitempty"` VotesReleased int32 `protobuf:"varint,26,opt,name=votes_released,json=votesReleased,proto3" json:"votes_released,omitempty"` EventReminder int32 `protobuf:"varint,27,opt,name=event_reminder,json=eventReminder,proto3" json:"event_reminder,omitempty"` EventInvitation int32 `protobuf:"varint,28,opt,name=event_invitation,json=eventInvitation,proto3" json:"event_invitation,omitempty"` } func (x *Site_NotificationTypes) Reset() { *x = Site_NotificationTypes{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_NotificationTypes) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_NotificationTypes) ProtoMessage() {} func (x *Site_NotificationTypes) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_NotificationTypes.ProtoReflect.Descriptor instead. func (*Site_NotificationTypes) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 0} } func (x *Site_NotificationTypes) GetMentioned() int32 { if x != nil { return x.Mentioned } return 0 } func (x *Site_NotificationTypes) GetReplied() int32 { if x != nil { return x.Replied } return 0 } func (x *Site_NotificationTypes) GetQouted() int32 { if x != nil { return x.Qouted } return 0 } func (x *Site_NotificationTypes) GetEdited() int32 { if x != nil { return x.Edited } return 0 } func (x *Site_NotificationTypes) GetLiked() int32 { if x != nil { return x.Liked } return 0 } func (x *Site_NotificationTypes) GetPrivateMessage() int32 { if x != nil { return x.PrivateMessage } return 0 } func (x *Site_NotificationTypes) GetInvitedToPrivateMessage() int32 { if x != nil { return x.InvitedToPrivateMessage } return 0 } func (x *Site_NotificationTypes) GetInviteeAccepted() int32 { if x != nil { return x.InviteeAccepted } return 0 } func (x *Site_NotificationTypes) GetPosted() int32 { if x != nil { return x.Posted } return 0 } func (x *Site_NotificationTypes) GetMovedPost() int32 { if x != nil { return x.MovedPost } return 0 } func (x *Site_NotificationTypes) GetLinked() int32 { if x != nil { return x.Linked } return 0 } func (x *Site_NotificationTypes) GetGrantedBadge() int32 { if x != nil { return x.GrantedBadge } return 0 } func (x *Site_NotificationTypes) GetInvitedToTopic() int32 { if x != nil { return x.InvitedToTopic } return 0 } func (x *Site_NotificationTypes) GetCustom() int32 { if x != nil { return x.Custom } return 0 } func (x *Site_NotificationTypes) GetGroupMentioned() int32 { if x != nil { return x.GroupMentioned } return 0 } func (x *Site_NotificationTypes) GetGroupMessageSummary() int32 { if x != nil { return x.GroupMessageSummary } return 0 } func (x *Site_NotificationTypes) GetWatchingFirstPost() int32 { if x != nil { return x.WatchingFirstPost } return 0 } func (x *Site_NotificationTypes) GetTopicReminder() int32 { if x != nil { return x.TopicReminder } return 0 } func (x *Site_NotificationTypes) GetLikedConsolidated() int32 { if x != nil { return x.LikedConsolidated } return 0 } func (x *Site_NotificationTypes) GetPostApproved() int32 { if x != nil { return x.PostApproved } return 0 } func (x *Site_NotificationTypes) GetCodeReviewCommitApproved() int32 { if x != nil { return x.CodeReviewCommitApproved } return 0 } func (x *Site_NotificationTypes) GetMembershipRequestAccepted() int32 { if x != nil { return x.MembershipRequestAccepted } return 0 } func (x *Site_NotificationTypes) GetMembershipRequestConsolidated() int32 { if x != nil { return x.MembershipRequestConsolidated } return 0 } func (x *Site_NotificationTypes) GetBookmarkReminder() int32 { if x != nil { return x.BookmarkReminder } return 0 } func (x *Site_NotificationTypes) GetReaction() int32 { if x != nil { return x.Reaction } return 0 } func (x *Site_NotificationTypes) GetVotesReleased() int32 { if x != nil { return x.VotesReleased } return 0 } func (x *Site_NotificationTypes) GetEventReminder() int32 { if x != nil { return x.EventReminder } return 0 } func (x *Site_NotificationTypes) GetEventInvitation() int32 { if x != nil { return x.EventInvitation } return 0 } type Site_PostTypes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Regular int32 `protobuf:"varint,1,opt,name=regular,proto3" json:"regular,omitempty"` ModeratorAction int32 `protobuf:"varint,2,opt,name=moderator_action,json=moderatorAction,proto3" json:"moderator_action,omitempty"` SmallAction int32 `protobuf:"varint,3,opt,name=small_action,json=smallAction,proto3" json:"small_action,omitempty"` Whisper int32 `protobuf:"varint,4,opt,name=whisper,proto3" json:"whisper,omitempty"` } func (x *Site_PostTypes) Reset() { *x = Site_PostTypes{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_PostTypes) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_PostTypes) ProtoMessage() {} func (x *Site_PostTypes) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_PostTypes.ProtoReflect.Descriptor instead. func (*Site_PostTypes) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 1} } func (x *Site_PostTypes) GetRegular() int32 { if x != nil { return x.Regular } return 0 } func (x *Site_PostTypes) GetModeratorAction() int32 { if x != nil { return x.ModeratorAction } return 0 } func (x *Site_PostTypes) GetSmallAction() int32 { if x != nil { return x.SmallAction } return 0 } func (x *Site_PostTypes) GetWhisper() int32 { if x != nil { return x.Whisper } return 0 } type Site_Groups struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } func (x *Site_Groups) Reset() { *x = Site_Groups{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_Groups) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_Groups) ProtoMessage() {} func (x *Site_Groups) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_Groups.ProtoReflect.Descriptor instead. func (*Site_Groups) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 2} } func (x *Site_Groups) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *Site_Groups) GetName() string { if x != nil { return x.Name } return "" } type Site_PostActionTypes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` NameKey string `protobuf:"bytes,2,opt,name=name_key,json=nameKey,proto3" json:"name_key,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` ShortDescription string `protobuf:"bytes,5,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` LongForm string `protobuf:"bytes,6,opt,name=long_form,json=longForm,proto3" json:"long_form,omitempty"` IsFlag bool `protobuf:"varint,7,opt,name=is_flag,json=isFlag,proto3" json:"is_flag,omitempty"` IsCustomFlag bool `protobuf:"varint,8,opt,name=is_custom_flag,json=isCustomFlag,proto3" json:"is_custom_flag,omitempty"` } func (x *Site_PostActionTypes) Reset() { *x = Site_PostActionTypes{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_PostActionTypes) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_PostActionTypes) ProtoMessage() {} func (x *Site_PostActionTypes) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_PostActionTypes.ProtoReflect.Descriptor instead. func (*Site_PostActionTypes) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 3} } func (x *Site_PostActionTypes) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *Site_PostActionTypes) GetNameKey() string { if x != nil { return x.NameKey } return "" } func (x *Site_PostActionTypes) GetName() string { if x != nil { return x.Name } return "" } func (x *Site_PostActionTypes) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Site_PostActionTypes) GetShortDescription() string { if x != nil { return x.ShortDescription } return "" } func (x *Site_PostActionTypes) GetLongForm() string { if x != nil { return x.LongForm } return "" } func (x *Site_PostActionTypes) GetIsFlag() bool { if x != nil { return x.IsFlag } return false } func (x *Site_PostActionTypes) GetIsCustomFlag() bool { if x != nil { return x.IsCustomFlag } return false } type Site_TopicFlagTypes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` NameKey string `protobuf:"bytes,2,opt,name=name_key,json=nameKey,proto3" json:"name_key,omitempty"` Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` ShortDescription string `protobuf:"bytes,5,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` LongForm string `protobuf:"bytes,6,opt,name=long_form,json=longForm,proto3" json:"long_form,omitempty"` IsFlag bool `protobuf:"varint,7,opt,name=is_flag,json=isFlag,proto3" json:"is_flag,omitempty"` IsCustomFlag bool `protobuf:"varint,8,opt,name=is_custom_flag,json=isCustomFlag,proto3" json:"is_custom_flag,omitempty"` } func (x *Site_TopicFlagTypes) Reset() { *x = Site_TopicFlagTypes{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_TopicFlagTypes) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_TopicFlagTypes) ProtoMessage() {} func (x *Site_TopicFlagTypes) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_TopicFlagTypes.ProtoReflect.Descriptor instead. func (*Site_TopicFlagTypes) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 4} } func (x *Site_TopicFlagTypes) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *Site_TopicFlagTypes) GetNameKey() string { if x != nil { return x.NameKey } return "" } func (x *Site_TopicFlagTypes) GetName() string { if x != nil { return x.Name } return "" } func (x *Site_TopicFlagTypes) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Site_TopicFlagTypes) GetShortDescription() string { if x != nil { return x.ShortDescription } return "" } func (x *Site_TopicFlagTypes) GetLongForm() string { if x != nil { return x.LongForm } return "" } func (x *Site_TopicFlagTypes) GetIsFlag() bool { if x != nil { return x.IsFlag } return false } func (x *Site_TopicFlagTypes) GetIsCustomFlag() bool { if x != nil { return x.IsCustomFlag } return false } type Site_UserThemes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ThemeId int32 `protobuf:"varint,1,opt,name=theme_id,json=themeId,proto3" json:"theme_id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Default bool `protobuf:"varint,3,opt,name=default,proto3" json:"default,omitempty"` } func (x *Site_UserThemes) Reset() { *x = Site_UserThemes{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_UserThemes) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_UserThemes) ProtoMessage() {} func (x *Site_UserThemes) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_UserThemes.ProtoReflect.Descriptor instead. func (*Site_UserThemes) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 5} } func (x *Site_UserThemes) GetThemeId() int32 { if x != nil { return x.ThemeId } return 0 } func (x *Site_UserThemes) GetName() string { if x != nil { return x.Name } return "" } func (x *Site_UserThemes) GetDefault() bool { if x != nil { return x.Default } return false } type Site_Categories struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Color string `protobuf:"bytes,3,opt,name=color,proto3" json:"color,omitempty"` TextColor string `protobuf:"bytes,4,opt,name=text_color,json=textColor,proto3" json:"text_color,omitempty"` Slug string `protobuf:"bytes,5,opt,name=slug,proto3" json:"slug,omitempty"` TopicCount int32 `protobuf:"varint,6,opt,name=topic_count,json=topicCount,proto3" json:"topic_count,omitempty"` PostCount int32 `protobuf:"varint,7,opt,name=post_count,json=postCount,proto3" json:"post_count,omitempty"` Position int32 `protobuf:"varint,8,opt,name=position,proto3" json:"position,omitempty"` Description string `protobuf:"bytes,9,opt,name=description,proto3" json:"description,omitempty"` DescriptionText string `protobuf:"bytes,10,opt,name=description_text,json=descriptionText,proto3" json:"description_text,omitempty"` DescriptionExcerpt string `protobuf:"bytes,11,opt,name=description_excerpt,json=descriptionExcerpt,proto3" json:"description_excerpt,omitempty"` TopicUrl string `protobuf:"bytes,12,opt,name=topic_url,json=topicUrl,proto3" json:"topic_url,omitempty"` ReadRestricted bool `protobuf:"varint,13,opt,name=read_restricted,json=readRestricted,proto3" json:"read_restricted,omitempty"` Permission int32 `protobuf:"varint,14,opt,name=permission,proto3" json:"permission,omitempty"` NotificationLevel int32 `protobuf:"varint,15,opt,name=notification_level,json=notificationLevel,proto3" json:"notification_level,omitempty"` CanEdit bool `protobuf:"varint,16,opt,name=can_edit,json=canEdit,proto3" json:"can_edit,omitempty"` TopicTemplate string `protobuf:"bytes,17,opt,name=topic_template,json=topicTemplate,proto3" json:"topic_template,omitempty"` HasChildren bool `protobuf:"varint,18,opt,name=has_children,json=hasChildren,proto3" json:"has_children,omitempty"` SortOrder string `protobuf:"bytes,19,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` ShowSubcategoryList bool `protobuf:"varint,20,opt,name=show_subcategory_list,json=showSubcategoryList,proto3" json:"show_subcategory_list,omitempty"` NumFeaturedTopics int32 `protobuf:"varint,21,opt,name=num_featured_topics,json=numFeaturedTopics,proto3" json:"num_featured_topics,omitempty"` DefaultView string `protobuf:"bytes,22,opt,name=default_view,json=defaultView,proto3" json:"default_view,omitempty"` SubcategoryListStyle string `protobuf:"bytes,23,opt,name=subcategory_list_style,json=subcategoryListStyle,proto3" json:"subcategory_list_style,omitempty"` DefaultTopPeriod string `protobuf:"bytes,24,opt,name=default_top_period,json=defaultTopPeriod,proto3" json:"default_top_period,omitempty"` DefaultListFilter string `protobuf:"bytes,25,opt,name=default_list_filter,json=defaultListFilter,proto3" json:"default_list_filter,omitempty"` MinimumRequiredTags int32 `protobuf:"varint,26,opt,name=minimum_required_tags,json=minimumRequiredTags,proto3" json:"minimum_required_tags,omitempty"` NavigateToFirstPostAfterRead bool `protobuf:"varint,27,opt,name=navigate_to_first_post_after_read,json=navigateToFirstPostAfterRead,proto3" json:"navigate_to_first_post_after_read,omitempty"` AllowedGlobalTags bool `protobuf:"varint,28,opt,name=allowed_global_tags,json=allowedGlobalTags,proto3" json:"allowed_global_tags,omitempty"` MinTagsFromRequiredGroup int32 `protobuf:"varint,29,opt,name=min_tags_from_required_group,json=minTagsFromRequiredGroup,proto3" json:"min_tags_from_required_group,omitempty"` ParentCategoryId int32 `protobuf:"varint,30,opt,name=parent_category_id,json=parentCategoryId,proto3" json:"parent_category_id,omitempty"` } func (x *Site_Categories) Reset() { *x = Site_Categories{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_Categories) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_Categories) ProtoMessage() {} func (x *Site_Categories) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_Categories.ProtoReflect.Descriptor instead. func (*Site_Categories) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 6} } func (x *Site_Categories) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *Site_Categories) GetName() string { if x != nil { return x.Name } return "" } func (x *Site_Categories) GetColor() string { if x != nil { return x.Color } return "" } func (x *Site_Categories) GetTextColor() string { if x != nil { return x.TextColor } return "" } func (x *Site_Categories) GetSlug() string { if x != nil { return x.Slug } return "" } func (x *Site_Categories) GetTopicCount() int32 { if x != nil { return x.TopicCount } return 0 } func (x *Site_Categories) GetPostCount() int32 { if x != nil { return x.PostCount } return 0 } func (x *Site_Categories) GetPosition() int32 { if x != nil { return x.Position } return 0 } func (x *Site_Categories) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Site_Categories) GetDescriptionText() string { if x != nil { return x.DescriptionText } return "" } func (x *Site_Categories) GetDescriptionExcerpt() string { if x != nil { return x.DescriptionExcerpt } return "" } func (x *Site_Categories) GetTopicUrl() string { if x != nil { return x.TopicUrl } return "" } func (x *Site_Categories) GetReadRestricted() bool { if x != nil { return x.ReadRestricted } return false } func (x *Site_Categories) GetPermission() int32 { if x != nil { return x.Permission } return 0 } func (x *Site_Categories) GetNotificationLevel() int32 { if x != nil { return x.NotificationLevel } return 0 } func (x *Site_Categories) GetCanEdit() bool { if x != nil { return x.CanEdit } return false } func (x *Site_Categories) GetTopicTemplate() string { if x != nil { return x.TopicTemplate } return "" } func (x *Site_Categories) GetHasChildren() bool { if x != nil { return x.HasChildren } return false } func (x *Site_Categories) GetSortOrder() string { if x != nil { return x.SortOrder } return "" } func (x *Site_Categories) GetShowSubcategoryList() bool { if x != nil { return x.ShowSubcategoryList } return false } func (x *Site_Categories) GetNumFeaturedTopics() int32 { if x != nil { return x.NumFeaturedTopics } return 0 } func (x *Site_Categories) GetDefaultView() string { if x != nil { return x.DefaultView } return "" } func (x *Site_Categories) GetSubcategoryListStyle() string { if x != nil { return x.SubcategoryListStyle } return "" } func (x *Site_Categories) GetDefaultTopPeriod() string { if x != nil { return x.DefaultTopPeriod } return "" } func (x *Site_Categories) GetDefaultListFilter() string { if x != nil { return x.DefaultListFilter } return "" } func (x *Site_Categories) GetMinimumRequiredTags() int32 { if x != nil { return x.MinimumRequiredTags } return 0 } func (x *Site_Categories) GetNavigateToFirstPostAfterRead() bool { if x != nil { return x.NavigateToFirstPostAfterRead } return false } func (x *Site_Categories) GetAllowedGlobalTags() bool { if x != nil { return x.AllowedGlobalTags } return false } func (x *Site_Categories) GetMinTagsFromRequiredGroup() int32 { if x != nil { return x.MinTagsFromRequiredGroup } return 0 } func (x *Site_Categories) GetParentCategoryId() int32 { if x != nil { return x.ParentCategoryId } return 0 } type Site_TrustLevels struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Newuser int32 `protobuf:"varint,1,opt,name=newuser,proto3" json:"newuser,omitempty"` Basic int32 `protobuf:"varint,2,opt,name=basic,proto3" json:"basic,omitempty"` Member int32 `protobuf:"varint,3,opt,name=member,proto3" json:"member,omitempty"` Regular int32 `protobuf:"varint,4,opt,name=regular,proto3" json:"regular,omitempty"` Leader int32 `protobuf:"varint,5,opt,name=leader,proto3" json:"leader,omitempty"` } func (x *Site_TrustLevels) Reset() { *x = Site_TrustLevels{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_TrustLevels) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_TrustLevels) ProtoMessage() {} func (x *Site_TrustLevels) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_TrustLevels.ProtoReflect.Descriptor instead. func (*Site_TrustLevels) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 7} } func (x *Site_TrustLevels) GetNewuser() int32 { if x != nil { return x.Newuser } return 0 } func (x *Site_TrustLevels) GetBasic() int32 { if x != nil { return x.Basic } return 0 } func (x *Site_TrustLevels) GetMember() int32 { if x != nil { return x.Member } return 0 } func (x *Site_TrustLevels) GetRegular() int32 { if x != nil { return x.Regular } return 0 } func (x *Site_TrustLevels) GetLeader() int32 { if x != nil { return x.Leader } return 0 } type Site_Archetypes 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"` } func (x *Site_Archetypes) Reset() { *x = Site_Archetypes{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_Archetypes) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_Archetypes) ProtoMessage() {} func (x *Site_Archetypes) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_Archetypes.ProtoReflect.Descriptor instead. func (*Site_Archetypes) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 8} } func (x *Site_Archetypes) GetId() string { if x != nil { return x.Id } return "" } func (x *Site_Archetypes) GetName() string { if x != nil { return x.Name } return "" } type Site_AuthProviders struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` FrameWidth int32 `protobuf:"varint,2,opt,name=frame_width,json=frameWidth,proto3" json:"frame_width,omitempty"` FrameHeight int32 `protobuf:"varint,3,opt,name=frame_height,json=frameHeight,proto3" json:"frame_height,omitempty"` CanConnect bool `protobuf:"varint,4,opt,name=can_connect,json=canConnect,proto3" json:"can_connect,omitempty"` CanRevoke bool `protobuf:"varint,5,opt,name=can_revoke,json=canRevoke,proto3" json:"can_revoke,omitempty"` Icon string `protobuf:"bytes,6,opt,name=icon,proto3" json:"icon,omitempty"` } func (x *Site_AuthProviders) Reset() { *x = Site_AuthProviders{} if protoimpl.UnsafeEnabled { mi := &file_site_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Site_AuthProviders) String() string { return protoimpl.X.MessageStringOf(x) } func (*Site_AuthProviders) ProtoMessage() {} func (x *Site_AuthProviders) ProtoReflect() protoreflect.Message { mi := &file_site_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 Site_AuthProviders.ProtoReflect.Descriptor instead. func (*Site_AuthProviders) Descriptor() ([]byte, []int) { return file_site_proto_rawDescGZIP(), []int{0, 9} } func (x *Site_AuthProviders) GetName() string { if x != nil { return x.Name } return "" } func (x *Site_AuthProviders) GetFrameWidth() int32 { if x != nil { return x.FrameWidth } return 0 } func (x *Site_AuthProviders) GetFrameHeight() int32 { if x != nil { return x.FrameHeight } return 0 } func (x *Site_AuthProviders) GetCanConnect() bool { if x != nil { return x.CanConnect } return false } func (x *Site_AuthProviders) GetCanRevoke() bool { if x != nil { return x.CanRevoke } return false } func (x *Site_AuthProviders) GetIcon() string { if x != nil { return x.Icon } return "" } var File_site_proto protoreflect.FileDescriptor var file_site_proto_rawDesc = []byte{ 0x0a, 0x0a, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x22, 0xc2, 0x25, 0x0a, 0x04, 0x53, 0x69, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x72, 0x63, 0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x59, 0x0a, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x11, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x5f, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x4d, 0x65, 0x6e, 0x75, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, 0x73, 0x54, 0x6f, 0x70, 0x4d, 0x65, 0x6e, 0x75, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x54, 0x0a, 0x11, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x0f, 0x70, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x10, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x0e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x70, 0x6d, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x50, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x67, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x54, 0x61, 0x67, 0x73, 0x12, 0x55, 0x0a, 0x28, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x05, 0x52, 0x23, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x74, 0x72, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x75, 0x73, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x52, 0x0b, 0x74, 0x72, 0x75, 0x73, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x0a, 0x61, 0x72, 0x63, 0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x52, 0x0a, 0x61, 0x72, 0x63, 0x68, 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xe9, 0x08, 0x0a, 0x11, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x71, 0x6f, 0x75, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x71, 0x6f, 0x75, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x64, 0x69, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x65, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x64, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x42, 0x61, 0x64, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x77, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6c, 0x69, 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x1b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x1f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x76, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x8d, 0x01, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x68, 0x69, 0x73, 0x70, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x68, 0x69, 0x73, 0x70, 0x65, 0x72, 0x1a, 0x2c, 0x0a, 0x06, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xfb, 0x01, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x6c, 0x61, 0x67, 0x1a, 0xfa, 0x01, 0x0a, 0x0e, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x46, 0x6c, 0x61, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 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, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x6c, 0x61, 0x67, 0x1a, 0x55, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x49, 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, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x1a, 0xa2, 0x09, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 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, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x72, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x63, 0x65, 0x72, 0x70, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x55, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x73, 0x75, 0x62, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x53, 0x75, 0x62, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x62, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x75, 0x62, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x6f, 0x70, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x54, 0x61, 0x67, 0x73, 0x12, 0x47, 0x0a, 0x21, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x6e, 0x61, 0x76, 0x69, 0x67, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x41, 0x66, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3e, 0x0a, 0x1c, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x6d, 0x69, 0x6e, 0x54, 0x61, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x1a, 0x87, 0x01, 0x0a, 0x0b, 0x54, 0x72, 0x75, 0x73, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x75, 0x73, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x61, 0x73, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x30, 0x0a, 0x0a, 0x41, 0x72, 0x63, 0x68, 0x65, 0x74, 0x79, 0x70, 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, 0x1a, 0xbb, 0x01, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x2e, 0x30, 0x63, 0x64, 0x2e, 0x78, 0x79, 0x7a, 0x2f, 0x6d, 0x69, 0x63, 0x68, 0x61, 0x65, 0x6c, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_site_proto_rawDescOnce sync.Once file_site_proto_rawDescData = file_site_proto_rawDesc ) func file_site_proto_rawDescGZIP() []byte { file_site_proto_rawDescOnce.Do(func() { file_site_proto_rawDescData = protoimpl.X.CompressGZIP(file_site_proto_rawDescData) }) return file_site_proto_rawDescData } var file_site_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_site_proto_goTypes = []interface{}{ (*Site)(nil), // 0: discourse.protobuf.Site (*Site_NotificationTypes)(nil), // 1: discourse.protobuf.Site.NotificationTypes (*Site_PostTypes)(nil), // 2: discourse.protobuf.Site.PostTypes (*Site_Groups)(nil), // 3: discourse.protobuf.Site.Groups (*Site_PostActionTypes)(nil), // 4: discourse.protobuf.Site.PostActionTypes (*Site_TopicFlagTypes)(nil), // 5: discourse.protobuf.Site.TopicFlagTypes (*Site_UserThemes)(nil), // 6: discourse.protobuf.Site.UserThemes (*Site_Categories)(nil), // 7: discourse.protobuf.Site.Categories (*Site_TrustLevels)(nil), // 8: discourse.protobuf.Site.TrustLevels (*Site_Archetypes)(nil), // 9: discourse.protobuf.Site.Archetypes (*Site_AuthProviders)(nil), // 10: discourse.protobuf.Site.AuthProviders } var file_site_proto_depIdxs = []int32{ 1, // 0: discourse.protobuf.Site.notification_types:type_name -> discourse.protobuf.Site.NotificationTypes 2, // 1: discourse.protobuf.Site.post_types:type_name -> discourse.protobuf.Site.PostTypes 3, // 2: discourse.protobuf.Site.groups:type_name -> discourse.protobuf.Site.Groups 4, // 3: discourse.protobuf.Site.post_action_types:type_name -> discourse.protobuf.Site.PostActionTypes 5, // 4: discourse.protobuf.Site.topic_flag_types:type_name -> discourse.protobuf.Site.TopicFlagTypes 6, // 5: discourse.protobuf.Site.user_themes:type_name -> discourse.protobuf.Site.UserThemes 7, // 6: discourse.protobuf.Site.categories:type_name -> discourse.protobuf.Site.Categories 8, // 7: discourse.protobuf.Site.trust_levels:type_name -> discourse.protobuf.Site.TrustLevels 9, // 8: discourse.protobuf.Site.archetypes:type_name -> discourse.protobuf.Site.Archetypes 10, // 9: discourse.protobuf.Site.auth_providers:type_name -> discourse.protobuf.Site.AuthProviders 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_site_proto_init() } func file_site_proto_init() { if File_site_proto != nil { return } if !protoimpl.UnsafeEnabled { file_site_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_NotificationTypes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_PostTypes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_Groups); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_PostActionTypes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_TopicFlagTypes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_UserThemes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_Categories); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_TrustLevels); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_Archetypes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_site_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Site_AuthProviders); 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_site_proto_rawDesc, NumEnums: 0, NumMessages: 11, NumExtensions: 0, NumServices: 0, }, GoTypes: file_site_proto_goTypes, DependencyIndexes: file_site_proto_depIdxs, MessageInfos: file_site_proto_msgTypes, }.Build() File_site_proto = out.File file_site_proto_rawDesc = nil file_site_proto_goTypes = nil file_site_proto_depIdxs = nil }