// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v7.35.0
// source: proto/user/v1/user.proto

package userv1

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

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)
)

// UserStatus 表达用户主状态，业务服务只消费稳定枚举。
type UserStatus int32

const (
	UserStatus_USER_STATUS_UNSPECIFIED UserStatus = 0
	UserStatus_USER_STATUS_ACTIVE      UserStatus = 1
	UserStatus_USER_STATUS_DISABLED    UserStatus = 2
	UserStatus_USER_STATUS_BANNED      UserStatus = 3
)

// Enum value maps for UserStatus.
var (
	UserStatus_name = map[int32]string{
		0: "USER_STATUS_UNSPECIFIED",
		1: "USER_STATUS_ACTIVE",
		2: "USER_STATUS_DISABLED",
		3: "USER_STATUS_BANNED",
	}
	UserStatus_value = map[string]int32{
		"USER_STATUS_UNSPECIFIED": 0,
		"USER_STATUS_ACTIVE":      1,
		"USER_STATUS_DISABLED":    2,
		"USER_STATUS_BANNED":      3,
	}
)

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

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

func (UserStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_proto_user_v1_user_proto_enumTypes[0].Descriptor()
}

func (UserStatus) Type() protoreflect.EnumType {
	return &file_proto_user_v1_user_proto_enumTypes[0]
}

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

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

// RequestMeta 是 user-service 所有内部 RPC 的最小追踪元信息。
type RequestMeta struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RequestId     string                 `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	Caller        string                 `protobuf:"bytes,2,opt,name=caller,proto3" json:"caller,omitempty"`
	GatewayNodeId string                 `protobuf:"bytes,3,opt,name=gateway_node_id,json=gatewayNodeId,proto3" json:"gateway_node_id,omitempty"`
	SentAtMs      int64                  `protobuf:"varint,4,opt,name=sent_at_ms,json=sentAtMs,proto3" json:"sent_at_ms,omitempty"`
	DeviceId      string                 `protobuf:"bytes,5,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	ClientIp      string                 `protobuf:"bytes,6,opt,name=client_ip,json=clientIp,proto3" json:"client_ip,omitempty"`
	UserAgent     string                 `protobuf:"bytes,7,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	CountryByIp   string                 `protobuf:"bytes,8,opt,name=country_by_ip,json=countryByIp,proto3" json:"country_by_ip,omitempty"`
	SessionId     string                 `protobuf:"bytes,9,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	AppCode       string                 `protobuf:"bytes,10,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	Platform      string                 `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform,omitempty"`
	Language      string                 `protobuf:"bytes,12,opt,name=language,proto3" json:"language,omitempty"`
	Timezone      string                 `protobuf:"bytes,13,opt,name=timezone,proto3" json:"timezone,omitempty"`
	// app_version/build_number 记录发起本次 RPC 的客户端构建；认证链路依赖它们把每次成功登录归档到 login_audit。
	AppVersion  string `protobuf:"bytes,14,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
	BuildNumber string `protobuf:"bytes,15,opt,name=build_number,json=buildNumber,proto3" json:"build_number,omitempty"`
	// device_model/device_manufacturer/os_version/imei 是客户端设备资料快照，来自 gateway 的
	// X-Device-Model/X-Device-Manufacturer/X-OS-Version/X-Device-IMEI 头；认证成功后按 device_id
	// 聚合进 user_devices，支撑后台用户详情的设备 tab。非认证链路可留空，IMEI 在 Android 10+ 通常为空。
	DeviceModel        string `protobuf:"bytes,16,opt,name=device_model,json=deviceModel,proto3" json:"device_model,omitempty"`
	DeviceManufacturer string `protobuf:"bytes,17,opt,name=device_manufacturer,json=deviceManufacturer,proto3" json:"device_manufacturer,omitempty"`
	OsVersion          string `protobuf:"bytes,18,opt,name=os_version,json=osVersion,proto3" json:"os_version,omitempty"`
	Imei               string `protobuf:"bytes,19,opt,name=imei,proto3" json:"imei,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*RequestMeta) ProtoMessage() {}

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

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

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

func (x *RequestMeta) GetCaller() string {
	if x != nil {
		return x.Caller
	}
	return ""
}

func (x *RequestMeta) GetGatewayNodeId() string {
	if x != nil {
		return x.GatewayNodeId
	}
	return ""
}

func (x *RequestMeta) GetSentAtMs() int64 {
	if x != nil {
		return x.SentAtMs
	}
	return 0
}

func (x *RequestMeta) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *RequestMeta) GetClientIp() string {
	if x != nil {
		return x.ClientIp
	}
	return ""
}

func (x *RequestMeta) GetUserAgent() string {
	if x != nil {
		return x.UserAgent
	}
	return ""
}

func (x *RequestMeta) GetCountryByIp() string {
	if x != nil {
		return x.CountryByIp
	}
	return ""
}

func (x *RequestMeta) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *RequestMeta) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *RequestMeta) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *RequestMeta) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

func (x *RequestMeta) GetTimezone() string {
	if x != nil {
		return x.Timezone
	}
	return ""
}

func (x *RequestMeta) GetAppVersion() string {
	if x != nil {
		return x.AppVersion
	}
	return ""
}

func (x *RequestMeta) GetBuildNumber() string {
	if x != nil {
		return x.BuildNumber
	}
	return ""
}

func (x *RequestMeta) GetDeviceModel() string {
	if x != nil {
		return x.DeviceModel
	}
	return ""
}

func (x *RequestMeta) GetDeviceManufacturer() string {
	if x != nil {
		return x.DeviceManufacturer
	}
	return ""
}

func (x *RequestMeta) GetOsVersion() string {
	if x != nil {
		return x.OsVersion
	}
	return ""
}

func (x *RequestMeta) GetImei() string {
	if x != nil {
		return x.Imei
	}
	return ""
}

// App 是 user-service 维护的 App 注册表投影，用于把客户端包名映射到内部租户键。
type App struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	AppId         int64                  `protobuf:"varint,1,opt,name=app_id,json=appId,proto3" json:"app_id,omitempty"`
	AppCode       string                 `protobuf:"bytes,2,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	AppName       string                 `protobuf:"bytes,3,opt,name=app_name,json=appName,proto3" json:"app_name,omitempty"`
	PackageName   string                 `protobuf:"bytes,4,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
	Platform      string                 `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"`
	Status        string                 `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAtMs   int64                  `protobuf:"varint,7,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs   int64                  `protobuf:"varint,8,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*App) ProtoMessage() {}

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

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

func (x *App) GetAppId() int64 {
	if x != nil {
		return x.AppId
	}
	return 0
}

func (x *App) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *App) GetAppName() string {
	if x != nil {
		return x.AppName
	}
	return ""
}

func (x *App) GetPackageName() string {
	if x != nil {
		return x.PackageName
	}
	return ""
}

func (x *App) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

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

func (x *App) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *App) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

// ResolveAppRequest 允许 gateway 按包名/平台解析 app_code，也允许后台显式校验 app_code。
type ResolveAppRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	PackageName   string                 `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
	Platform      string                 `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"`
	AppCode       string                 `protobuf:"bytes,4,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResolveAppRequest) ProtoMessage() {}

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

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

func (x *ResolveAppRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ResolveAppRequest) GetPackageName() string {
	if x != nil {
		return x.PackageName
	}
	return ""
}

func (x *ResolveAppRequest) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *ResolveAppRequest) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

type ResolveAppResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	App           *App                   `protobuf:"bytes,1,opt,name=app,proto3" json:"app,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResolveAppResponse) ProtoMessage() {}

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

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

func (x *ResolveAppResponse) GetApp() *App {
	if x != nil {
		return x.App
	}
	return nil
}

// User 是用户主数据投影，包含稳定身份、当前短号和基础资料。
type User struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	UserId                   int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Status                   UserStatus             `protobuf:"varint,2,opt,name=status,proto3,enum=hyapp.user.v1.UserStatus" json:"status,omitempty"`
	CreatedAtMs              int64                  `protobuf:"varint,3,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs              int64                  `protobuf:"varint,4,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	DisplayUserId            string                 `protobuf:"bytes,5,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	DefaultDisplayUserId     string                 `protobuf:"bytes,6,opt,name=default_display_user_id,json=defaultDisplayUserId,proto3" json:"default_display_user_id,omitempty"`
	DisplayUserIdKind        string                 `protobuf:"bytes,7,opt,name=display_user_id_kind,json=displayUserIdKind,proto3" json:"display_user_id_kind,omitempty"`
	DisplayUserIdExpiresAtMs int64                  `protobuf:"varint,8,opt,name=display_user_id_expires_at_ms,json=displayUserIdExpiresAtMs,proto3" json:"display_user_id_expires_at_ms,omitempty"`
	Username                 string                 `protobuf:"bytes,9,opt,name=username,proto3" json:"username,omitempty"`
	Gender                   string                 `protobuf:"bytes,10,opt,name=gender,proto3" json:"gender,omitempty"`
	Country                  string                 `protobuf:"bytes,11,opt,name=country,proto3" json:"country,omitempty"`
	Avatar                   string                 `protobuf:"bytes,12,opt,name=avatar,proto3" json:"avatar,omitempty"`
	Birth                    string                 `protobuf:"bytes,13,opt,name=birth,proto3" json:"birth,omitempty"`
	Language                 string                 `protobuf:"bytes,14,opt,name=language,proto3" json:"language,omitempty"`
	CountryId                int64                  `protobuf:"varint,15,opt,name=country_id,json=countryId,proto3" json:"country_id,omitempty"`
	CountryName              string                 `protobuf:"bytes,16,opt,name=country_name,json=countryName,proto3" json:"country_name,omitempty"`
	CountryDisplayName       string                 `protobuf:"bytes,17,opt,name=country_display_name,json=countryDisplayName,proto3" json:"country_display_name,omitempty"`
	RegionId                 int64                  `protobuf:"varint,18,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
	RegionCode               string                 `protobuf:"bytes,19,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
	RegionName               string                 `protobuf:"bytes,20,opt,name=region_name,json=regionName,proto3" json:"region_name,omitempty"`
	ProfileCompleted         bool                   `protobuf:"varint,21,opt,name=profile_completed,json=profileCompleted,proto3" json:"profile_completed,omitempty"`
	ProfileCompletedAtMs     int64                  `protobuf:"varint,22,opt,name=profile_completed_at_ms,json=profileCompletedAtMs,proto3" json:"profile_completed_at_ms,omitempty"`
	OnboardingStatus         string                 `protobuf:"bytes,23,opt,name=onboarding_status,json=onboardingStatus,proto3" json:"onboarding_status,omitempty"`
	IsoNumeric               string                 `protobuf:"bytes,24,opt,name=iso_numeric,json=isoNumeric,proto3" json:"iso_numeric,omitempty"`
	PhoneCountryCode         string                 `protobuf:"bytes,25,opt,name=phone_country_code,json=phoneCountryCode,proto3" json:"phone_country_code,omitempty"`
	CountryEnabled           bool                   `protobuf:"varint,26,opt,name=country_enabled,json=countryEnabled,proto3" json:"country_enabled,omitempty"`
	AppCode                  string                 `protobuf:"bytes,27,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	Invite                   *InviteOverview        `protobuf:"bytes,28,opt,name=invite,proto3" json:"invite,omitempty"`
	PrettyId                 string                 `protobuf:"bytes,29,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	PrettyDisplayUserId      string                 `protobuf:"bytes,30,opt,name=pretty_display_user_id,json=prettyDisplayUserId,proto3" json:"pretty_display_user_id,omitempty"`
	ProfileBgImg             string                 `protobuf:"bytes,31,opt,name=profile_bg_img,json=profileBgImg,proto3" json:"profile_bg_img,omitempty"`
	ContactInfo              string                 `protobuf:"bytes,32,opt,name=contact_info,json=contactInfo,proto3" json:"contact_info,omitempty"`
	WithdrawUsdtTrc20Address string                 `protobuf:"bytes,33,opt,name=withdraw_usdt_trc20_address,json=withdrawUsdtTrc20Address,proto3" json:"withdraw_usdt_trc20_address,omitempty"`
	// content_blacklisted 只控制游戏列表和 Banner 等运营内容可见性，不改变登录、房间或账务状态。
	ContentBlacklisted bool `protobuf:"varint,34,opt,name=content_blacklisted,json=contentBlacklisted,proto3" json:"content_blacklisted,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*User) ProtoMessage() {}

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

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

func (x *User) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *User) GetStatus() UserStatus {
	if x != nil {
		return x.Status
	}
	return UserStatus_USER_STATUS_UNSPECIFIED
}

func (x *User) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *User) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *User) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

func (x *User) GetDefaultDisplayUserId() string {
	if x != nil {
		return x.DefaultDisplayUserId
	}
	return ""
}

func (x *User) GetDisplayUserIdKind() string {
	if x != nil {
		return x.DisplayUserIdKind
	}
	return ""
}

func (x *User) GetDisplayUserIdExpiresAtMs() int64 {
	if x != nil {
		return x.DisplayUserIdExpiresAtMs
	}
	return 0
}

func (x *User) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *User) GetGender() string {
	if x != nil {
		return x.Gender
	}
	return ""
}

func (x *User) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

func (x *User) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

func (x *User) GetBirth() string {
	if x != nil {
		return x.Birth
	}
	return ""
}

func (x *User) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

func (x *User) GetCountryId() int64 {
	if x != nil {
		return x.CountryId
	}
	return 0
}

func (x *User) GetCountryName() string {
	if x != nil {
		return x.CountryName
	}
	return ""
}

func (x *User) GetCountryDisplayName() string {
	if x != nil {
		return x.CountryDisplayName
	}
	return ""
}

func (x *User) GetRegionId() int64 {
	if x != nil {
		return x.RegionId
	}
	return 0
}

func (x *User) GetRegionCode() string {
	if x != nil {
		return x.RegionCode
	}
	return ""
}

func (x *User) GetRegionName() string {
	if x != nil {
		return x.RegionName
	}
	return ""
}

func (x *User) GetProfileCompleted() bool {
	if x != nil {
		return x.ProfileCompleted
	}
	return false
}

func (x *User) GetProfileCompletedAtMs() int64 {
	if x != nil {
		return x.ProfileCompletedAtMs
	}
	return 0
}

func (x *User) GetOnboardingStatus() string {
	if x != nil {
		return x.OnboardingStatus
	}
	return ""
}

func (x *User) GetIsoNumeric() string {
	if x != nil {
		return x.IsoNumeric
	}
	return ""
}

func (x *User) GetPhoneCountryCode() string {
	if x != nil {
		return x.PhoneCountryCode
	}
	return ""
}

func (x *User) GetCountryEnabled() bool {
	if x != nil {
		return x.CountryEnabled
	}
	return false
}

func (x *User) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *User) GetInvite() *InviteOverview {
	if x != nil {
		return x.Invite
	}
	return nil
}

func (x *User) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

func (x *User) GetPrettyDisplayUserId() string {
	if x != nil {
		return x.PrettyDisplayUserId
	}
	return ""
}

func (x *User) GetProfileBgImg() string {
	if x != nil {
		return x.ProfileBgImg
	}
	return ""
}

func (x *User) GetContactInfo() string {
	if x != nil {
		return x.ContactInfo
	}
	return ""
}

func (x *User) GetWithdrawUsdtTrc20Address() string {
	if x != nil {
		return x.WithdrawUsdtTrc20Address
	}
	return ""
}

func (x *User) GetContentBlacklisted() bool {
	if x != nil {
		return x.ContentBlacklisted
	}
	return false
}

// InviteOverview 是我的页可直接展示的邀请码和邀请计数 read model。
type InviteOverview struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	MyInviteCode             string                 `protobuf:"bytes,1,opt,name=my_invite_code,json=myInviteCode,proto3" json:"my_invite_code,omitempty"`
	InviteEnabled            bool                   `protobuf:"varint,2,opt,name=invite_enabled,json=inviteEnabled,proto3" json:"invite_enabled,omitempty"`
	InviteCount              int64                  `protobuf:"varint,3,opt,name=invite_count,json=inviteCount,proto3" json:"invite_count,omitempty"`
	ValidInviteCount         int64                  `protobuf:"varint,4,opt,name=valid_invite_count,json=validInviteCount,proto3" json:"valid_invite_count,omitempty"`
	ValidInviteThresholdCoin int64                  `protobuf:"varint,5,opt,name=valid_invite_threshold_coin,json=validInviteThresholdCoin,proto3" json:"valid_invite_threshold_coin,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

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

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

func (*InviteOverview) ProtoMessage() {}

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

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

func (x *InviteOverview) GetMyInviteCode() string {
	if x != nil {
		return x.MyInviteCode
	}
	return ""
}

func (x *InviteOverview) GetInviteEnabled() bool {
	if x != nil {
		return x.InviteEnabled
	}
	return false
}

func (x *InviteOverview) GetInviteCount() int64 {
	if x != nil {
		return x.InviteCount
	}
	return 0
}

func (x *InviteOverview) GetValidInviteCount() int64 {
	if x != nil {
		return x.ValidInviteCount
	}
	return 0
}

func (x *InviteOverview) GetValidInviteThresholdCoin() int64 {
	if x != nil {
		return x.ValidInviteThresholdCoin
	}
	return 0
}

// InviteBinding 表示注册完成请求本次是否新绑定邀请关系。
type InviteBinding struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Bound         bool                   `protobuf:"varint,1,opt,name=bound,proto3" json:"bound,omitempty"`
	InviteCode    string                 `protobuf:"bytes,2,opt,name=invite_code,json=inviteCode,proto3" json:"invite_code,omitempty"`
	InviterUserId int64                  `protobuf:"varint,3,opt,name=inviter_user_id,json=inviterUserId,proto3" json:"inviter_user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*InviteBinding) ProtoMessage() {}

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

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

func (x *InviteBinding) GetBound() bool {
	if x != nil {
		return x.Bound
	}
	return false
}

func (x *InviteBinding) GetInviteCode() string {
	if x != nil {
		return x.InviteCode
	}
	return ""
}

func (x *InviteBinding) GetInviterUserId() int64 {
	if x != nil {
		return x.InviterUserId
	}
	return 0
}

// InviteAttribution 是被邀请用户到邀请人的只读归因快照，供活动服务按充值事实累计邀请奖励。
type InviteAttribution struct {
	state                         protoimpl.MessageState `protogen:"open.v1"`
	Found                         bool                   `protobuf:"varint,1,opt,name=found,proto3" json:"found,omitempty"`
	AppCode                       string                 `protobuf:"bytes,2,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	InvitedUserId                 int64                  `protobuf:"varint,3,opt,name=invited_user_id,json=invitedUserId,proto3" json:"invited_user_id,omitempty"`
	InviterUserId                 int64                  `protobuf:"varint,4,opt,name=inviter_user_id,json=inviterUserId,proto3" json:"inviter_user_id,omitempty"`
	InviteCode                    string                 `protobuf:"bytes,5,opt,name=invite_code,json=inviteCode,proto3" json:"invite_code,omitempty"`
	BoundAtMs                     int64                  `protobuf:"varint,6,opt,name=bound_at_ms,json=boundAtMs,proto3" json:"bound_at_ms,omitempty"`
	ValidityStatus                string                 `protobuf:"bytes,7,opt,name=validity_status,json=validityStatus,proto3" json:"validity_status,omitempty"`
	AccumulatedRechargeCoinAmount int64                  `protobuf:"varint,8,opt,name=accumulated_recharge_coin_amount,json=accumulatedRechargeCoinAmount,proto3" json:"accumulated_recharge_coin_amount,omitempty"`
	RequiredRechargeCoinAmount    int64                  `protobuf:"varint,9,opt,name=required_recharge_coin_amount,json=requiredRechargeCoinAmount,proto3" json:"required_recharge_coin_amount,omitempty"`
	ValidAtMs                     int64                  `protobuf:"varint,10,opt,name=valid_at_ms,json=validAtMs,proto3" json:"valid_at_ms,omitempty"`
	unknownFields                 protoimpl.UnknownFields
	sizeCache                     protoimpl.SizeCache
}

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

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

func (*InviteAttribution) ProtoMessage() {}

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

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

func (x *InviteAttribution) GetFound() bool {
	if x != nil {
		return x.Found
	}
	return false
}

func (x *InviteAttribution) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *InviteAttribution) GetInvitedUserId() int64 {
	if x != nil {
		return x.InvitedUserId
	}
	return 0
}

func (x *InviteAttribution) GetInviterUserId() int64 {
	if x != nil {
		return x.InviterUserId
	}
	return 0
}

func (x *InviteAttribution) GetInviteCode() string {
	if x != nil {
		return x.InviteCode
	}
	return ""
}

func (x *InviteAttribution) GetBoundAtMs() int64 {
	if x != nil {
		return x.BoundAtMs
	}
	return 0
}

func (x *InviteAttribution) GetValidityStatus() string {
	if x != nil {
		return x.ValidityStatus
	}
	return ""
}

func (x *InviteAttribution) GetAccumulatedRechargeCoinAmount() int64 {
	if x != nil {
		return x.AccumulatedRechargeCoinAmount
	}
	return 0
}

func (x *InviteAttribution) GetRequiredRechargeCoinAmount() int64 {
	if x != nil {
		return x.RequiredRechargeCoinAmount
	}
	return 0
}

func (x *InviteAttribution) GetValidAtMs() int64 {
	if x != nil {
		return x.ValidAtMs
	}
	return 0
}

type GetInviteAttributionRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	InvitedUserId int64                  `protobuf:"varint,2,opt,name=invited_user_id,json=invitedUserId,proto3" json:"invited_user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetInviteAttributionRequest) ProtoMessage() {}

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

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

func (x *GetInviteAttributionRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetInviteAttributionRequest) GetInvitedUserId() int64 {
	if x != nil {
		return x.InvitedUserId
	}
	return 0
}

type GetInviteAttributionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Attribution   *InviteAttribution     `protobuf:"bytes,1,opt,name=attribution,proto3" json:"attribution,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetInviteAttributionResponse) ProtoMessage() {}

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

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

func (x *GetInviteAttributionResponse) GetAttribution() *InviteAttribution {
	if x != nil {
		return x.Attribution
	}
	return nil
}

// UserMicLifetimeStats 是用户维度的麦上累计基础指标，不区分主播/公会身份。
type UserMicLifetimeStats struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	UserId         int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	SeatOccupiedMs int64                  `protobuf:"varint,2,opt,name=seat_occupied_ms,json=seatOccupiedMs,proto3" json:"seat_occupied_ms,omitempty"`
	MicOnlineMs    int64                  `protobuf:"varint,3,opt,name=mic_online_ms,json=micOnlineMs,proto3" json:"mic_online_ms,omitempty"`
	SessionCount   int64                  `protobuf:"varint,4,opt,name=session_count,json=sessionCount,proto3" json:"session_count,omitempty"`
	FirstMicAtMs   int64                  `protobuf:"varint,5,opt,name=first_mic_at_ms,json=firstMicAtMs,proto3" json:"first_mic_at_ms,omitempty"`
	LastMicAtMs    int64                  `protobuf:"varint,6,opt,name=last_mic_at_ms,json=lastMicAtMs,proto3" json:"last_mic_at_ms,omitempty"`
	UpdatedAtMs    int64                  `protobuf:"varint,7,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	AppCode        string                 `protobuf:"bytes,8,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*UserMicLifetimeStats) ProtoMessage() {}

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

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

func (x *UserMicLifetimeStats) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserMicLifetimeStats) GetSeatOccupiedMs() int64 {
	if x != nil {
		return x.SeatOccupiedMs
	}
	return 0
}

func (x *UserMicLifetimeStats) GetMicOnlineMs() int64 {
	if x != nil {
		return x.MicOnlineMs
	}
	return 0
}

func (x *UserMicLifetimeStats) GetSessionCount() int64 {
	if x != nil {
		return x.SessionCount
	}
	return 0
}

func (x *UserMicLifetimeStats) GetFirstMicAtMs() int64 {
	if x != nil {
		return x.FirstMicAtMs
	}
	return 0
}

func (x *UserMicLifetimeStats) GetLastMicAtMs() int64 {
	if x != nil {
		return x.LastMicAtMs
	}
	return 0
}

func (x *UserMicLifetimeStats) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *UserMicLifetimeStats) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

// GetUserMicLifetimeStatsRequest 查询单个用户全部历史麦位时长。
type GetUserMicLifetimeStatsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetUserMicLifetimeStatsRequest) ProtoMessage() {}

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

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

func (x *GetUserMicLifetimeStatsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetUserMicLifetimeStatsRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

type GetUserMicLifetimeStatsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Stats         *UserMicLifetimeStats  `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetUserMicLifetimeStatsResponse) ProtoMessage() {}

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

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

func (x *GetUserMicLifetimeStatsResponse) GetStats() *UserMicLifetimeStats {
	if x != nil {
		return x.Stats
	}
	return nil
}

// CronBatchRequest 是 cron-service 触发 user-service 后台批处理的统一请求。
type CronBatchRequest struct {
	state                     protoimpl.MessageState `protogen:"open.v1"`
	Meta                      *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RunId                     string                 `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"`
	WorkerId                  string                 `protobuf:"bytes,3,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"`
	BatchSize                 int32                  `protobuf:"varint,4,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
	LockTtlMs                 int64                  `protobuf:"varint,5,opt,name=lock_ttl_ms,json=lockTtlMs,proto3" json:"lock_ttl_ms,omitempty"`
	PendingPublishMaxAgeMs    int64                  `protobuf:"varint,6,opt,name=pending_publish_max_age_ms,json=pendingPublishMaxAgeMs,proto3" json:"pending_publish_max_age_ms,omitempty"`
	PublishingSessionMaxAgeMs int64                  `protobuf:"varint,7,opt,name=publishing_session_max_age_ms,json=publishingSessionMaxAgeMs,proto3" json:"publishing_session_max_age_ms,omitempty"`
	OpenSessionMaxAgeMs       int64                  `protobuf:"varint,8,opt,name=open_session_max_age_ms,json=openSessionMaxAgeMs,proto3" json:"open_session_max_age_ms,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

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

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

func (*CronBatchRequest) ProtoMessage() {}

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

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

func (x *CronBatchRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CronBatchRequest) GetRunId() string {
	if x != nil {
		return x.RunId
	}
	return ""
}

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

func (x *CronBatchRequest) GetBatchSize() int32 {
	if x != nil {
		return x.BatchSize
	}
	return 0
}

func (x *CronBatchRequest) GetLockTtlMs() int64 {
	if x != nil {
		return x.LockTtlMs
	}
	return 0
}

func (x *CronBatchRequest) GetPendingPublishMaxAgeMs() int64 {
	if x != nil {
		return x.PendingPublishMaxAgeMs
	}
	return 0
}

func (x *CronBatchRequest) GetPublishingSessionMaxAgeMs() int64 {
	if x != nil {
		return x.PublishingSessionMaxAgeMs
	}
	return 0
}

func (x *CronBatchRequest) GetOpenSessionMaxAgeMs() int64 {
	if x != nil {
		return x.OpenSessionMaxAgeMs
	}
	return 0
}

// CronBatchResponse 返回一个批处理 run 的执行摘要。
type CronBatchResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ClaimedCount   int32                  `protobuf:"varint,1,opt,name=claimed_count,json=claimedCount,proto3" json:"claimed_count,omitempty"`
	ProcessedCount int32                  `protobuf:"varint,2,opt,name=processed_count,json=processedCount,proto3" json:"processed_count,omitempty"`
	SuccessCount   int32                  `protobuf:"varint,3,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"`
	FailureCount   int32                  `protobuf:"varint,4,opt,name=failure_count,json=failureCount,proto3" json:"failure_count,omitempty"`
	HasMore        bool                   `protobuf:"varint,5,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CronBatchResponse) Reset() {
	*x = CronBatchResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CronBatchResponse) ProtoMessage() {}

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

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

func (x *CronBatchResponse) GetClaimedCount() int32 {
	if x != nil {
		return x.ClaimedCount
	}
	return 0
}

func (x *CronBatchResponse) GetProcessedCount() int32 {
	if x != nil {
		return x.ProcessedCount
	}
	return 0
}

func (x *CronBatchResponse) GetSuccessCount() int32 {
	if x != nil {
		return x.SuccessCount
	}
	return 0
}

func (x *CronBatchResponse) GetFailureCount() int32 {
	if x != nil {
		return x.FailureCount
	}
	return 0
}

func (x *CronBatchResponse) GetHasMore() bool {
	if x != nil {
		return x.HasMore
	}
	return false
}

// AuthToken 是登录、刷新和注册完成后返回给 gateway 的访问令牌投影。
type AuthToken struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	UserId                   int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	SessionId                string                 `protobuf:"bytes,2,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	AccessToken              string                 `protobuf:"bytes,3,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
	RefreshToken             string                 `protobuf:"bytes,4,opt,name=refresh_token,json=refreshToken,proto3" json:"refresh_token,omitempty"`
	ExpiresInSec             int64                  `protobuf:"varint,5,opt,name=expires_in_sec,json=expiresInSec,proto3" json:"expires_in_sec,omitempty"`
	TokenType                string                 `protobuf:"bytes,6,opt,name=token_type,json=tokenType,proto3" json:"token_type,omitempty"`
	DisplayUserId            string                 `protobuf:"bytes,7,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	DefaultDisplayUserId     string                 `protobuf:"bytes,8,opt,name=default_display_user_id,json=defaultDisplayUserId,proto3" json:"default_display_user_id,omitempty"`
	DisplayUserIdKind        string                 `protobuf:"bytes,9,opt,name=display_user_id_kind,json=displayUserIdKind,proto3" json:"display_user_id_kind,omitempty"`
	DisplayUserIdExpiresAtMs int64                  `protobuf:"varint,10,opt,name=display_user_id_expires_at_ms,json=displayUserIdExpiresAtMs,proto3" json:"display_user_id_expires_at_ms,omitempty"`
	ProfileCompleted         bool                   `protobuf:"varint,11,opt,name=profile_completed,json=profileCompleted,proto3" json:"profile_completed,omitempty"`
	OnboardingStatus         string                 `protobuf:"bytes,12,opt,name=onboarding_status,json=onboardingStatus,proto3" json:"onboarding_status,omitempty"`
	AppCode                  string                 `protobuf:"bytes,13,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *AuthToken) Reset() {
	*x = AuthToken{}
	mi := &file_proto_user_v1_user_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AuthToken) ProtoMessage() {}

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

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

func (x *AuthToken) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *AuthToken) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *AuthToken) GetAccessToken() string {
	if x != nil {
		return x.AccessToken
	}
	return ""
}

func (x *AuthToken) GetRefreshToken() string {
	if x != nil {
		return x.RefreshToken
	}
	return ""
}

func (x *AuthToken) GetExpiresInSec() int64 {
	if x != nil {
		return x.ExpiresInSec
	}
	return 0
}

func (x *AuthToken) GetTokenType() string {
	if x != nil {
		return x.TokenType
	}
	return ""
}

func (x *AuthToken) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

func (x *AuthToken) GetDefaultDisplayUserId() string {
	if x != nil {
		return x.DefaultDisplayUserId
	}
	return ""
}

func (x *AuthToken) GetDisplayUserIdKind() string {
	if x != nil {
		return x.DisplayUserIdKind
	}
	return ""
}

func (x *AuthToken) GetDisplayUserIdExpiresAtMs() int64 {
	if x != nil {
		return x.DisplayUserIdExpiresAtMs
	}
	return 0
}

func (x *AuthToken) GetProfileCompleted() bool {
	if x != nil {
		return x.ProfileCompleted
	}
	return false
}

func (x *AuthToken) GetOnboardingStatus() string {
	if x != nil {
		return x.OnboardingStatus
	}
	return ""
}

func (x *AuthToken) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

// GetUserRequest 查询单个用户主状态。
type GetUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserRequest) Reset() {
	*x = GetUserRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetUserRequest) ProtoMessage() {}

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

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

func (x *GetUserRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetUserRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

// GetUserResponse 返回单个用户主状态。
type GetUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	User          *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserResponse) Reset() {
	*x = GetUserResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetUserResponse) ProtoMessage() {}

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

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

func (x *GetUserResponse) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

type BusinessUserLookupRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	ActorUserId   int64                  `protobuf:"varint,2,opt,name=actor_user_id,json=actorUserId,proto3" json:"actor_user_id,omitempty"`
	Scene         string                 `protobuf:"bytes,3,opt,name=scene,proto3" json:"scene,omitempty"`
	Keyword       string                 `protobuf:"bytes,4,opt,name=keyword,proto3" json:"keyword,omitempty"`
	PageSize      int32                  `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BusinessUserLookupRequest) Reset() {
	*x = BusinessUserLookupRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BusinessUserLookupRequest) ProtoMessage() {}

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

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

func (x *BusinessUserLookupRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *BusinessUserLookupRequest) GetActorUserId() int64 {
	if x != nil {
		return x.ActorUserId
	}
	return 0
}

func (x *BusinessUserLookupRequest) GetScene() string {
	if x != nil {
		return x.Scene
	}
	return ""
}

func (x *BusinessUserLookupRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *BusinessUserLookupRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type BusinessUserLookupItem struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	DisplayUserId string                 `protobuf:"bytes,2,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	Username      string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	Avatar        string                 `protobuf:"bytes,4,opt,name=avatar,proto3" json:"avatar,omitempty"`
	Status        UserStatus             `protobuf:"varint,5,opt,name=status,proto3,enum=hyapp.user.v1.UserStatus" json:"status,omitempty"`
	RegionId      int64                  `protobuf:"varint,6,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
	RegionCode    string                 `protobuf:"bytes,7,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
	RegionName    string                 `protobuf:"bytes,8,opt,name=region_name,json=regionName,proto3" json:"region_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BusinessUserLookupItem) Reset() {
	*x = BusinessUserLookupItem{}
	mi := &file_proto_user_v1_user_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BusinessUserLookupItem) ProtoMessage() {}

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

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

func (x *BusinessUserLookupItem) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *BusinessUserLookupItem) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

func (x *BusinessUserLookupItem) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *BusinessUserLookupItem) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

func (x *BusinessUserLookupItem) GetStatus() UserStatus {
	if x != nil {
		return x.Status
	}
	return UserStatus_USER_STATUS_UNSPECIFIED
}

func (x *BusinessUserLookupItem) GetRegionId() int64 {
	if x != nil {
		return x.RegionId
	}
	return 0
}

func (x *BusinessUserLookupItem) GetRegionCode() string {
	if x != nil {
		return x.RegionCode
	}
	return ""
}

func (x *BusinessUserLookupItem) GetRegionName() string {
	if x != nil {
		return x.RegionName
	}
	return ""
}

type BusinessUserLookupResponse struct {
	state         protoimpl.MessageState    `protogen:"open.v1"`
	Users         []*BusinessUserLookupItem `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BusinessUserLookupResponse) Reset() {
	*x = BusinessUserLookupResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BusinessUserLookupResponse) ProtoMessage() {}

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

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

func (x *BusinessUserLookupResponse) GetUsers() []*BusinessUserLookupItem {
	if x != nil {
		return x.Users
	}
	return nil
}

// UserProfileStats 是我的页顶部统计 read model；不得在查询时实时扫描关系链或礼物流水。
type UserProfileStats struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	UserId         int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	VisitorsCount  int64                  `protobuf:"varint,2,opt,name=visitors_count,json=visitorsCount,proto3" json:"visitors_count,omitempty"`
	FollowingCount int64                  `protobuf:"varint,3,opt,name=following_count,json=followingCount,proto3" json:"following_count,omitempty"`
	FriendsCount   int64                  `protobuf:"varint,4,opt,name=friends_count,json=friendsCount,proto3" json:"friends_count,omitempty"`
	UpdatedAtMs    int64                  `protobuf:"varint,5,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	AppCode        string                 `protobuf:"bytes,6,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	// followers_count 是关注该用户的人数预聚合；不能在资料页请求中反向 COUNT user_follows。
	FollowersCount int64 `protobuf:"varint,7,opt,name=followers_count,json=followersCount,proto3" json:"followers_count,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *UserProfileStats) Reset() {
	*x = UserProfileStats{}
	mi := &file_proto_user_v1_user_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UserProfileStats) ProtoMessage() {}

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

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

func (x *UserProfileStats) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserProfileStats) GetVisitorsCount() int64 {
	if x != nil {
		return x.VisitorsCount
	}
	return 0
}

func (x *UserProfileStats) GetFollowingCount() int64 {
	if x != nil {
		return x.FollowingCount
	}
	return 0
}

func (x *UserProfileStats) GetFriendsCount() int64 {
	if x != nil {
		return x.FriendsCount
	}
	return 0
}

func (x *UserProfileStats) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *UserProfileStats) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *UserProfileStats) GetFollowersCount() int64 {
	if x != nil {
		return x.FollowersCount
	}
	return 0
}

// GetMyProfileStatsRequest 查询我的页顶部统计计数。
type GetMyProfileStatsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMyProfileStatsRequest) Reset() {
	*x = GetMyProfileStatsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMyProfileStatsRequest) ProtoMessage() {}

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

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

func (x *GetMyProfileStatsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetMyProfileStatsRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

type GetMyProfileStatsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Stats         *UserProfileStats      `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMyProfileStatsResponse) Reset() {
	*x = GetMyProfileStatsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetMyProfileStatsResponse) ProtoMessage() {}

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

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

func (x *GetMyProfileStatsResponse) GetStats() *UserProfileStats {
	if x != nil {
		return x.Stats
	}
	return nil
}

type RecordProfileVisitRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	VisitorUserId int64                  `protobuf:"varint,2,opt,name=visitor_user_id,json=visitorUserId,proto3" json:"visitor_user_id,omitempty"`
	TargetUserId  int64                  `protobuf:"varint,3,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RecordProfileVisitRequest) Reset() {
	*x = RecordProfileVisitRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RecordProfileVisitRequest) ProtoMessage() {}

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

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

func (x *RecordProfileVisitRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RecordProfileVisitRequest) GetVisitorUserId() int64 {
	if x != nil {
		return x.VisitorUserId
	}
	return 0
}

func (x *RecordProfileVisitRequest) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

type RecordProfileVisitResponse struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	Recorded    bool                   `protobuf:"varint,1,opt,name=recorded,proto3" json:"recorded,omitempty"`
	TargetStats *UserProfileStats      `protobuf:"bytes,2,opt,name=target_stats,json=targetStats,proto3" json:"target_stats,omitempty"`
	// target_stats_hidden=true 时 target_stats 必须为空；该标志由 user-service
	// 基于目标用户当前 hide_profile_data 权益实时判定，客户端不能自行推断。
	TargetStatsHidden bool `protobuf:"varint,3,opt,name=target_stats_hidden,json=targetStatsHidden,proto3" json:"target_stats_hidden,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *RecordProfileVisitResponse) Reset() {
	*x = RecordProfileVisitResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RecordProfileVisitResponse) ProtoMessage() {}

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

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

func (x *RecordProfileVisitResponse) GetRecorded() bool {
	if x != nil {
		return x.Recorded
	}
	return false
}

func (x *RecordProfileVisitResponse) GetTargetStats() *UserProfileStats {
	if x != nil {
		return x.TargetStats
	}
	return nil
}

func (x *RecordProfileVisitResponse) GetTargetStatsHidden() bool {
	if x != nil {
		return x.TargetStatsHidden
	}
	return false
}

type ProfileVisitRecord struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// 隐藏访客身份的记录不返回真实 visitor_user_id，字段保持 0；客户端必须使用
	// visitor_identity_hidden/anonymous_visit_id 分支渲染匿名访客，不能把 0 当作用户 ID。
	VisitorUserId         int64 `protobuf:"varint,1,opt,name=visitor_user_id,json=visitorUserId,proto3" json:"visitor_user_id,omitempty"`
	TargetUserId          int64 `protobuf:"varint,2,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	VisitCount            int64 `protobuf:"varint,3,opt,name=visit_count,json=visitCount,proto3" json:"visit_count,omitempty"`
	LastVisitedAtMs       int64 `protobuf:"varint,4,opt,name=last_visited_at_ms,json=lastVisitedAtMs,proto3" json:"last_visited_at_ms,omitempty"`
	VisitorIdentityHidden bool  `protobuf:"varint,5,opt,name=visitor_identity_hidden,json=visitorIdentityHidden,proto3" json:"visitor_identity_hidden,omitempty"`
	// anonymous_visit_id 是首次匿名访问时随机生成、仅在同一 target 下稳定的展示 ID，
	// 不包含真实 user_id，也不能用于查询用户资料。
	AnonymousVisitId string `protobuf:"bytes,6,opt,name=anonymous_visit_id,json=anonymousVisitId,proto3" json:"anonymous_visit_id,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ProfileVisitRecord) Reset() {
	*x = ProfileVisitRecord{}
	mi := &file_proto_user_v1_user_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ProfileVisitRecord) ProtoMessage() {}

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

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

func (x *ProfileVisitRecord) GetVisitorUserId() int64 {
	if x != nil {
		return x.VisitorUserId
	}
	return 0
}

func (x *ProfileVisitRecord) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *ProfileVisitRecord) GetVisitCount() int64 {
	if x != nil {
		return x.VisitCount
	}
	return 0
}

func (x *ProfileVisitRecord) GetLastVisitedAtMs() int64 {
	if x != nil {
		return x.LastVisitedAtMs
	}
	return 0
}

func (x *ProfileVisitRecord) GetVisitorIdentityHidden() bool {
	if x != nil {
		return x.VisitorIdentityHidden
	}
	return false
}

func (x *ProfileVisitRecord) GetAnonymousVisitId() string {
	if x != nil {
		return x.AnonymousVisitId
	}
	return ""
}

type ListProfileVisitorsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Page          int32                  `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProfileVisitorsRequest) Reset() {
	*x = ListProfileVisitorsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProfileVisitorsRequest) ProtoMessage() {}

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

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

func (x *ListProfileVisitorsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListProfileVisitorsRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ListProfileVisitorsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListProfileVisitorsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListProfileVisitorsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Records       []*ProfileVisitRecord  `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProfileVisitorsResponse) Reset() {
	*x = ListProfileVisitorsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProfileVisitorsResponse) ProtoMessage() {}

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

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

func (x *ListProfileVisitorsResponse) GetRecords() []*ProfileVisitRecord {
	if x != nil {
		return x.Records
	}
	return nil
}

func (x *ListProfileVisitorsResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type FollowUserRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	FollowerUserId int64                  `protobuf:"varint,2,opt,name=follower_user_id,json=followerUserId,proto3" json:"follower_user_id,omitempty"`
	FolloweeUserId int64                  `protobuf:"varint,3,opt,name=followee_user_id,json=followeeUserId,proto3" json:"followee_user_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *FollowUserRequest) Reset() {
	*x = FollowUserRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FollowUserRequest) ProtoMessage() {}

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

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

func (x *FollowUserRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *FollowUserRequest) GetFollowerUserId() int64 {
	if x != nil {
		return x.FollowerUserId
	}
	return 0
}

func (x *FollowUserRequest) GetFolloweeUserId() int64 {
	if x != nil {
		return x.FolloweeUserId
	}
	return 0
}

type FollowUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Following     bool                   `protobuf:"varint,1,opt,name=following,proto3" json:"following,omitempty"`
	FollowerStats *UserProfileStats      `protobuf:"bytes,2,opt,name=follower_stats,json=followerStats,proto3" json:"follower_stats,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FollowUserResponse) Reset() {
	*x = FollowUserResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FollowUserResponse) ProtoMessage() {}

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

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

func (x *FollowUserResponse) GetFollowing() bool {
	if x != nil {
		return x.Following
	}
	return false
}

func (x *FollowUserResponse) GetFollowerStats() *UserProfileStats {
	if x != nil {
		return x.FollowerStats
	}
	return nil
}

type UnfollowUserRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	FollowerUserId int64                  `protobuf:"varint,2,opt,name=follower_user_id,json=followerUserId,proto3" json:"follower_user_id,omitempty"`
	FolloweeUserId int64                  `protobuf:"varint,3,opt,name=followee_user_id,json=followeeUserId,proto3" json:"followee_user_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *UnfollowUserRequest) Reset() {
	*x = UnfollowUserRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UnfollowUserRequest) ProtoMessage() {}

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

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

func (x *UnfollowUserRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UnfollowUserRequest) GetFollowerUserId() int64 {
	if x != nil {
		return x.FollowerUserId
	}
	return 0
}

func (x *UnfollowUserRequest) GetFolloweeUserId() int64 {
	if x != nil {
		return x.FolloweeUserId
	}
	return 0
}

type UnfollowUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Following     bool                   `protobuf:"varint,1,opt,name=following,proto3" json:"following,omitempty"`
	FollowerStats *UserProfileStats      `protobuf:"bytes,2,opt,name=follower_stats,json=followerStats,proto3" json:"follower_stats,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnfollowUserResponse) Reset() {
	*x = UnfollowUserResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UnfollowUserResponse) ProtoMessage() {}

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

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

func (x *UnfollowUserResponse) GetFollowing() bool {
	if x != nil {
		return x.Following
	}
	return false
}

func (x *UnfollowUserResponse) GetFollowerStats() *UserProfileStats {
	if x != nil {
		return x.FollowerStats
	}
	return nil
}

type FollowRecord struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	FollowerUserId int64                  `protobuf:"varint,1,opt,name=follower_user_id,json=followerUserId,proto3" json:"follower_user_id,omitempty"`
	FolloweeUserId int64                  `protobuf:"varint,2,opt,name=followee_user_id,json=followeeUserId,proto3" json:"followee_user_id,omitempty"`
	FollowedAtMs   int64                  `protobuf:"varint,3,opt,name=followed_at_ms,json=followedAtMs,proto3" json:"followed_at_ms,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *FollowRecord) Reset() {
	*x = FollowRecord{}
	mi := &file_proto_user_v1_user_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FollowRecord) ProtoMessage() {}

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

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

func (x *FollowRecord) GetFollowerUserId() int64 {
	if x != nil {
		return x.FollowerUserId
	}
	return 0
}

func (x *FollowRecord) GetFolloweeUserId() int64 {
	if x != nil {
		return x.FolloweeUserId
	}
	return 0
}

func (x *FollowRecord) GetFollowedAtMs() int64 {
	if x != nil {
		return x.FollowedAtMs
	}
	return 0
}

type ListFollowingRequest struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Meta     *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId   int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Page     int32                  `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// cursor_updated_at_ms/cursor_user_id 用于内部关系流按时间游标扫描；公开 HTTP 列表仍可继续使用 page/page_size。
	CursorUpdatedAtMs int64 `protobuf:"varint,5,opt,name=cursor_updated_at_ms,json=cursorUpdatedAtMs,proto3" json:"cursor_updated_at_ms,omitempty"`
	CursorUserId      int64 `protobuf:"varint,6,opt,name=cursor_user_id,json=cursorUserId,proto3" json:"cursor_user_id,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *ListFollowingRequest) Reset() {
	*x = ListFollowingRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListFollowingRequest) ProtoMessage() {}

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

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

func (x *ListFollowingRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListFollowingRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ListFollowingRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListFollowingRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListFollowingRequest) GetCursorUpdatedAtMs() int64 {
	if x != nil {
		return x.CursorUpdatedAtMs
	}
	return 0
}

func (x *ListFollowingRequest) GetCursorUserId() int64 {
	if x != nil {
		return x.CursorUserId
	}
	return 0
}

type ListFollowingResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Records       []*FollowRecord        `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListFollowingResponse) Reset() {
	*x = ListFollowingResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListFollowingResponse) ProtoMessage() {}

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

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

func (x *ListFollowingResponse) GetRecords() []*FollowRecord {
	if x != nil {
		return x.Records
	}
	return nil
}

func (x *ListFollowingResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type ApplyFriendRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RequesterUserId int64                  `protobuf:"varint,2,opt,name=requester_user_id,json=requesterUserId,proto3" json:"requester_user_id,omitempty"`
	TargetUserId    int64                  `protobuf:"varint,3,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ApplyFriendRequest) Reset() {
	*x = ApplyFriendRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ApplyFriendRequest) ProtoMessage() {}

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

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

func (x *ApplyFriendRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ApplyFriendRequest) GetRequesterUserId() int64 {
	if x != nil {
		return x.RequesterUserId
	}
	return 0
}

func (x *ApplyFriendRequest) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

type ApplyFriendResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Application    *FriendApplication     `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"`
	AlreadyFriends bool                   `protobuf:"varint,2,opt,name=already_friends,json=alreadyFriends,proto3" json:"already_friends,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ApplyFriendResponse) Reset() {
	*x = ApplyFriendResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ApplyFriendResponse) ProtoMessage() {}

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

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

func (x *ApplyFriendResponse) GetApplication() *FriendApplication {
	if x != nil {
		return x.Application
	}
	return nil
}

func (x *ApplyFriendResponse) GetAlreadyFriends() bool {
	if x != nil {
		return x.AlreadyFriends
	}
	return false
}

type AcceptFriendApplicationRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	AccepterUserId  int64                  `protobuf:"varint,2,opt,name=accepter_user_id,json=accepterUserId,proto3" json:"accepter_user_id,omitempty"`
	RequesterUserId int64                  `protobuf:"varint,3,opt,name=requester_user_id,json=requesterUserId,proto3" json:"requester_user_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *AcceptFriendApplicationRequest) Reset() {
	*x = AcceptFriendApplicationRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AcceptFriendApplicationRequest) ProtoMessage() {}

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

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

func (x *AcceptFriendApplicationRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AcceptFriendApplicationRequest) GetAccepterUserId() int64 {
	if x != nil {
		return x.AccepterUserId
	}
	return 0
}

func (x *AcceptFriendApplicationRequest) GetRequesterUserId() int64 {
	if x != nil {
		return x.RequesterUserId
	}
	return 0
}

type AcceptFriendApplicationResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Friend        *FriendRecord          `protobuf:"bytes,1,opt,name=friend,proto3" json:"friend,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AcceptFriendApplicationResponse) Reset() {
	*x = AcceptFriendApplicationResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AcceptFriendApplicationResponse) ProtoMessage() {}

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

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

func (x *AcceptFriendApplicationResponse) GetFriend() *FriendRecord {
	if x != nil {
		return x.Friend
	}
	return nil
}

type DeleteFriendRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	FriendUserId  int64                  `protobuf:"varint,3,opt,name=friend_user_id,json=friendUserId,proto3" json:"friend_user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteFriendRequest) Reset() {
	*x = DeleteFriendRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteFriendRequest) ProtoMessage() {}

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

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

func (x *DeleteFriendRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *DeleteFriendRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *DeleteFriendRequest) GetFriendUserId() int64 {
	if x != nil {
		return x.FriendUserId
	}
	return 0
}

type DeleteFriendResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Deleted       bool                   `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteFriendResponse) Reset() {
	*x = DeleteFriendResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteFriendResponse) ProtoMessage() {}

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

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

func (x *DeleteFriendResponse) GetDeleted() bool {
	if x != nil {
		return x.Deleted
	}
	return false
}

type FriendRecord struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	FriendUserId  int64                  `protobuf:"varint,2,opt,name=friend_user_id,json=friendUserId,proto3" json:"friend_user_id,omitempty"`
	FriendedAtMs  int64                  `protobuf:"varint,3,opt,name=friended_at_ms,json=friendedAtMs,proto3" json:"friended_at_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FriendRecord) Reset() {
	*x = FriendRecord{}
	mi := &file_proto_user_v1_user_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FriendRecord) ProtoMessage() {}

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

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

func (x *FriendRecord) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *FriendRecord) GetFriendUserId() int64 {
	if x != nil {
		return x.FriendUserId
	}
	return 0
}

func (x *FriendRecord) GetFriendedAtMs() int64 {
	if x != nil {
		return x.FriendedAtMs
	}
	return 0
}

type ListFriendsRequest struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Meta     *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId   int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Page     int32                  `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// cursor_updated_at_ms/cursor_user_id 用于内部关系流按时间游标扫描；公开 HTTP 列表仍可继续使用 page/page_size。
	CursorUpdatedAtMs int64 `protobuf:"varint,5,opt,name=cursor_updated_at_ms,json=cursorUpdatedAtMs,proto3" json:"cursor_updated_at_ms,omitempty"`
	CursorUserId      int64 `protobuf:"varint,6,opt,name=cursor_user_id,json=cursorUserId,proto3" json:"cursor_user_id,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *ListFriendsRequest) Reset() {
	*x = ListFriendsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListFriendsRequest) ProtoMessage() {}

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

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

func (x *ListFriendsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListFriendsRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ListFriendsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListFriendsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListFriendsRequest) GetCursorUpdatedAtMs() int64 {
	if x != nil {
		return x.CursorUpdatedAtMs
	}
	return 0
}

func (x *ListFriendsRequest) GetCursorUserId() int64 {
	if x != nil {
		return x.CursorUserId
	}
	return 0
}

type ListFriendsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Records       []*FriendRecord        `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListFriendsResponse) Reset() {
	*x = ListFriendsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListFriendsResponse) ProtoMessage() {}

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

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

func (x *ListFriendsResponse) GetRecords() []*FriendRecord {
	if x != nil {
		return x.Records
	}
	return nil
}

func (x *ListFriendsResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type FriendApplication struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	RequesterUserId int64                  `protobuf:"varint,1,opt,name=requester_user_id,json=requesterUserId,proto3" json:"requester_user_id,omitempty"`
	TargetUserId    int64                  `protobuf:"varint,2,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	Status          string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAtMs     int64                  `protobuf:"varint,4,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs     int64                  `protobuf:"varint,5,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *FriendApplication) Reset() {
	*x = FriendApplication{}
	mi := &file_proto_user_v1_user_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FriendApplication) ProtoMessage() {}

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

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

func (x *FriendApplication) GetRequesterUserId() int64 {
	if x != nil {
		return x.RequesterUserId
	}
	return 0
}

func (x *FriendApplication) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

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

func (x *FriendApplication) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *FriendApplication) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

type ListFriendApplicationsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Direction     string                 `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"`
	Page          int32                  `protobuf:"varint,4,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListFriendApplicationsRequest) Reset() {
	*x = ListFriendApplicationsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListFriendApplicationsRequest) ProtoMessage() {}

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

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

func (x *ListFriendApplicationsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListFriendApplicationsRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ListFriendApplicationsRequest) GetDirection() string {
	if x != nil {
		return x.Direction
	}
	return ""
}

func (x *ListFriendApplicationsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListFriendApplicationsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListFriendApplicationsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Applications  []*FriendApplication   `protobuf:"bytes,1,rep,name=applications,proto3" json:"applications,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListFriendApplicationsResponse) Reset() {
	*x = ListFriendApplicationsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListFriendApplicationsResponse) ProtoMessage() {}

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

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

func (x *ListFriendApplicationsResponse) GetApplications() []*FriendApplication {
	if x != nil {
		return x.Applications
	}
	return nil
}

func (x *ListFriendApplicationsResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

// CPUserProfile 是 CP 关系消息里需要展示的用户快照。
type CPUserProfile struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	DisplayUserId string                 `protobuf:"bytes,2,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	Username      string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	Avatar        string                 `protobuf:"bytes,4,opt,name=avatar,proto3" json:"avatar,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CPUserProfile) Reset() {
	*x = CPUserProfile{}
	mi := &file_proto_user_v1_user_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPUserProfile) ProtoMessage() {}

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

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

func (x *CPUserProfile) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *CPUserProfile) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

func (x *CPUserProfile) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *CPUserProfile) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

// CPGiftSnapshot 固化触发申请或亲密值增长的礼物展示信息。
type CPGiftSnapshot struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	GiftId           string                 `protobuf:"bytes,1,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
	GiftName         string                 `protobuf:"bytes,2,opt,name=gift_name,json=giftName,proto3" json:"gift_name,omitempty"`
	GiftIconUrl      string                 `protobuf:"bytes,3,opt,name=gift_icon_url,json=giftIconUrl,proto3" json:"gift_icon_url,omitempty"`
	GiftAnimationUrl string                 `protobuf:"bytes,4,opt,name=gift_animation_url,json=giftAnimationUrl,proto3" json:"gift_animation_url,omitempty"`
	GiftCount        int32                  `protobuf:"varint,5,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"`
	GiftValue        int64                  `protobuf:"varint,6,opt,name=gift_value,json=giftValue,proto3" json:"gift_value,omitempty"`
	BillingReceiptId string                 `protobuf:"bytes,7,opt,name=billing_receipt_id,json=billingReceiptId,proto3" json:"billing_receipt_id,omitempty"`
	// coin_spent 是 wallet 结算出的礼物金币价值（背包礼物也保留价值），不能用 gift_value（热度/亲密值）替代。
	CoinSpent     int64 `protobuf:"varint,8,opt,name=coin_spent,json=coinSpent,proto3" json:"coin_spent,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CPGiftSnapshot) Reset() {
	*x = CPGiftSnapshot{}
	mi := &file_proto_user_v1_user_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPGiftSnapshot) ProtoMessage() {}

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

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

func (x *CPGiftSnapshot) GetGiftId() string {
	if x != nil {
		return x.GiftId
	}
	return ""
}

func (x *CPGiftSnapshot) GetGiftName() string {
	if x != nil {
		return x.GiftName
	}
	return ""
}

func (x *CPGiftSnapshot) GetGiftIconUrl() string {
	if x != nil {
		return x.GiftIconUrl
	}
	return ""
}

func (x *CPGiftSnapshot) GetGiftAnimationUrl() string {
	if x != nil {
		return x.GiftAnimationUrl
	}
	return ""
}

func (x *CPGiftSnapshot) GetGiftCount() int32 {
	if x != nil {
		return x.GiftCount
	}
	return 0
}

func (x *CPGiftSnapshot) GetGiftValue() int64 {
	if x != nil {
		return x.GiftValue
	}
	return 0
}

func (x *CPGiftSnapshot) GetBillingReceiptId() string {
	if x != nil {
		return x.BillingReceiptId
	}
	return ""
}

func (x *CPGiftSnapshot) GetCoinSpent() int64 {
	if x != nil {
		return x.CoinSpent
	}
	return 0
}

// CPApplication 是 A 给 B 发送 CP/兄弟/姐妹礼物后生成的待处理申请。
type CPApplication struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ApplicationId string                 `protobuf:"bytes,1,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
	RelationType  string                 `protobuf:"bytes,2,opt,name=relation_type,json=relationType,proto3" json:"relation_type,omitempty"`
	Status        string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	Requester     *CPUserProfile         `protobuf:"bytes,4,opt,name=requester,proto3" json:"requester,omitempty"`
	Target        *CPUserProfile         `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"`
	RoomId        string                 `protobuf:"bytes,6,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
	RoomRegionId  int64                  `protobuf:"varint,7,opt,name=room_region_id,json=roomRegionId,proto3" json:"room_region_id,omitempty"`
	Gift          *CPGiftSnapshot        `protobuf:"bytes,8,opt,name=gift,proto3" json:"gift,omitempty"`
	CreatedAtMs   int64                  `protobuf:"varint,9,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs   int64                  `protobuf:"varint,10,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	ExpiresAtMs   int64                  `protobuf:"varint,11,opt,name=expires_at_ms,json=expiresAtMs,proto3" json:"expires_at_ms,omitempty"`
	DecidedAtMs   int64                  `protobuf:"varint,12,opt,name=decided_at_ms,json=decidedAtMs,proto3" json:"decided_at_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CPApplication) Reset() {
	*x = CPApplication{}
	mi := &file_proto_user_v1_user_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPApplication) ProtoMessage() {}

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

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

func (x *CPApplication) GetApplicationId() string {
	if x != nil {
		return x.ApplicationId
	}
	return ""
}

func (x *CPApplication) GetRelationType() string {
	if x != nil {
		return x.RelationType
	}
	return ""
}

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

func (x *CPApplication) GetRequester() *CPUserProfile {
	if x != nil {
		return x.Requester
	}
	return nil
}

func (x *CPApplication) GetTarget() *CPUserProfile {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *CPApplication) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *CPApplication) GetRoomRegionId() int64 {
	if x != nil {
		return x.RoomRegionId
	}
	return 0
}

func (x *CPApplication) GetGift() *CPGiftSnapshot {
	if x != nil {
		return x.Gift
	}
	return nil
}

func (x *CPApplication) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *CPApplication) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *CPApplication) GetExpiresAtMs() int64 {
	if x != nil {
		return x.ExpiresAtMs
	}
	return 0
}

func (x *CPApplication) GetDecidedAtMs() int64 {
	if x != nil {
		return x.DecidedAtMs
	}
	return 0
}

// CPRelationship 是两个用户已经形成的一种关系；同一用户同一时间只能 active 一种。
type CPRelationship struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	RelationshipId        string                 `protobuf:"bytes,1,opt,name=relationship_id,json=relationshipId,proto3" json:"relationship_id,omitempty"`
	RelationType          string                 `protobuf:"bytes,2,opt,name=relation_type,json=relationType,proto3" json:"relation_type,omitempty"`
	Status                string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	Me                    *CPUserProfile         `protobuf:"bytes,4,opt,name=me,proto3" json:"me,omitempty"`
	Partner               *CPUserProfile         `protobuf:"bytes,5,opt,name=partner,proto3" json:"partner,omitempty"`
	IntimacyValue         int64                  `protobuf:"varint,6,opt,name=intimacy_value,json=intimacyValue,proto3" json:"intimacy_value,omitempty"`
	Level                 int32                  `protobuf:"varint,7,opt,name=level,proto3" json:"level,omitempty"`
	FormedAtMs            int64                  `protobuf:"varint,9,opt,name=formed_at_ms,json=formedAtMs,proto3" json:"formed_at_ms,omitempty"`
	UpdatedAtMs           int64                  `protobuf:"varint,10,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	CurrentLevelThreshold int64                  `protobuf:"varint,11,opt,name=current_level_threshold,json=currentLevelThreshold,proto3" json:"current_level_threshold,omitempty"`
	NextLevelThreshold    int64                  `protobuf:"varint,12,opt,name=next_level_threshold,json=nextLevelThreshold,proto3" json:"next_level_threshold,omitempty"`
	NeededForNextLevel    int64                  `protobuf:"varint,13,opt,name=needed_for_next_level,json=neededForNextLevel,proto3" json:"needed_for_next_level,omitempty"`
	LevelProgressPercent  int32                  `protobuf:"varint,14,opt,name=level_progress_percent,json=levelProgressPercent,proto3" json:"level_progress_percent,omitempty"`
	MaxLevel              bool                   `protobuf:"varint,15,opt,name=max_level,json=maxLevel,proto3" json:"max_level,omitempty"`
	// breakup_cost_coins 是当前关系类型后台配置的解除费用；active 关系返回配置值，ended 关系返回实际支付值。
	BreakupCostCoins int64 `protobuf:"varint,16,opt,name=breakup_cost_coins,json=breakupCostCoins,proto3" json:"breakup_cost_coins,omitempty"`
	EndedAtMs        int64 `protobuf:"varint,17,opt,name=ended_at_ms,json=endedAtMs,proto3" json:"ended_at_ms,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *CPRelationship) Reset() {
	*x = CPRelationship{}
	mi := &file_proto_user_v1_user_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPRelationship) ProtoMessage() {}

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

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

func (x *CPRelationship) GetRelationshipId() string {
	if x != nil {
		return x.RelationshipId
	}
	return ""
}

func (x *CPRelationship) GetRelationType() string {
	if x != nil {
		return x.RelationType
	}
	return ""
}

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

func (x *CPRelationship) GetMe() *CPUserProfile {
	if x != nil {
		return x.Me
	}
	return nil
}

func (x *CPRelationship) GetPartner() *CPUserProfile {
	if x != nil {
		return x.Partner
	}
	return nil
}

func (x *CPRelationship) GetIntimacyValue() int64 {
	if x != nil {
		return x.IntimacyValue
	}
	return 0
}

func (x *CPRelationship) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *CPRelationship) GetFormedAtMs() int64 {
	if x != nil {
		return x.FormedAtMs
	}
	return 0
}

func (x *CPRelationship) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *CPRelationship) GetCurrentLevelThreshold() int64 {
	if x != nil {
		return x.CurrentLevelThreshold
	}
	return 0
}

func (x *CPRelationship) GetNextLevelThreshold() int64 {
	if x != nil {
		return x.NextLevelThreshold
	}
	return 0
}

func (x *CPRelationship) GetNeededForNextLevel() int64 {
	if x != nil {
		return x.NeededForNextLevel
	}
	return 0
}

func (x *CPRelationship) GetLevelProgressPercent() int32 {
	if x != nil {
		return x.LevelProgressPercent
	}
	return 0
}

func (x *CPRelationship) GetMaxLevel() bool {
	if x != nil {
		return x.MaxLevel
	}
	return false
}

func (x *CPRelationship) GetBreakupCostCoins() int64 {
	if x != nil {
		return x.BreakupCostCoins
	}
	return 0
}

func (x *CPRelationship) GetEndedAtMs() int64 {
	if x != nil {
		return x.EndedAtMs
	}
	return 0
}

// CPAvatarFrameSnapshot 是排行榜里展示用户当前头像框的轻量快照。
type CPAvatarFrameSnapshot struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ResourceId    int64                  `protobuf:"varint,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"`
	ResourceCode  string                 `protobuf:"bytes,2,opt,name=resource_code,json=resourceCode,proto3" json:"resource_code,omitempty"`
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	AssetUrl      string                 `protobuf:"bytes,4,opt,name=asset_url,json=assetUrl,proto3" json:"asset_url,omitempty"`
	PreviewUrl    string                 `protobuf:"bytes,5,opt,name=preview_url,json=previewUrl,proto3" json:"preview_url,omitempty"`
	AnimationUrl  string                 `protobuf:"bytes,6,opt,name=animation_url,json=animationUrl,proto3" json:"animation_url,omitempty"`
	MetadataJson  string                 `protobuf:"bytes,7,opt,name=metadata_json,json=metadataJson,proto3" json:"metadata_json,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CPAvatarFrameSnapshot) Reset() {
	*x = CPAvatarFrameSnapshot{}
	mi := &file_proto_user_v1_user_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPAvatarFrameSnapshot) ProtoMessage() {}

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

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

func (x *CPAvatarFrameSnapshot) GetResourceId() int64 {
	if x != nil {
		return x.ResourceId
	}
	return 0
}

func (x *CPAvatarFrameSnapshot) GetResourceCode() string {
	if x != nil {
		return x.ResourceCode
	}
	return ""
}

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

func (x *CPAvatarFrameSnapshot) GetAssetUrl() string {
	if x != nil {
		return x.AssetUrl
	}
	return ""
}

func (x *CPAvatarFrameSnapshot) GetPreviewUrl() string {
	if x != nil {
		return x.PreviewUrl
	}
	return ""
}

func (x *CPAvatarFrameSnapshot) GetAnimationUrl() string {
	if x != nil {
		return x.AnimationUrl
	}
	return ""
}

func (x *CPAvatarFrameSnapshot) GetMetadataJson() string {
	if x != nil {
		return x.MetadataJson
	}
	return ""
}

// CPIntimacyLeaderboardUser 是 CP 亲密榜中一方用户的展示资料。
type CPIntimacyLeaderboardUser struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	DisplayUserId string                 `protobuf:"bytes,2,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	Username      string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	Avatar        string                 `protobuf:"bytes,4,opt,name=avatar,proto3" json:"avatar,omitempty"`
	AvatarFrame   *CPAvatarFrameSnapshot `protobuf:"bytes,5,opt,name=avatar_frame,json=avatarFrame,proto3" json:"avatar_frame,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CPIntimacyLeaderboardUser) Reset() {
	*x = CPIntimacyLeaderboardUser{}
	mi := &file_proto_user_v1_user_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPIntimacyLeaderboardUser) ProtoMessage() {}

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

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

func (x *CPIntimacyLeaderboardUser) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *CPIntimacyLeaderboardUser) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

func (x *CPIntimacyLeaderboardUser) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *CPIntimacyLeaderboardUser) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

func (x *CPIntimacyLeaderboardUser) GetAvatarFrame() *CPAvatarFrameSnapshot {
	if x != nil {
		return x.AvatarFrame
	}
	return nil
}

// CPIntimacyLeaderboardItem 是一对 active 关系在亲密值榜单里的读模型。
type CPIntimacyLeaderboardItem struct {
	state          protoimpl.MessageState     `protogen:"open.v1"`
	Rank           int64                      `protobuf:"varint,1,opt,name=rank,proto3" json:"rank,omitempty"`
	RelationshipId string                     `protobuf:"bytes,2,opt,name=relationship_id,json=relationshipId,proto3" json:"relationship_id,omitempty"`
	RelationType   string                     `protobuf:"bytes,3,opt,name=relation_type,json=relationType,proto3" json:"relation_type,omitempty"`
	IntimacyValue  int64                      `protobuf:"varint,4,opt,name=intimacy_value,json=intimacyValue,proto3" json:"intimacy_value,omitempty"`
	Level          int32                      `protobuf:"varint,5,opt,name=level,proto3" json:"level,omitempty"`
	UserA          *CPIntimacyLeaderboardUser `protobuf:"bytes,6,opt,name=user_a,json=userA,proto3" json:"user_a,omitempty"`
	UserB          *CPIntimacyLeaderboardUser `protobuf:"bytes,7,opt,name=user_b,json=userB,proto3" json:"user_b,omitempty"`
	FormedAtMs     int64                      `protobuf:"varint,8,opt,name=formed_at_ms,json=formedAtMs,proto3" json:"formed_at_ms,omitempty"`
	UpdatedAtMs    int64                      `protobuf:"varint,9,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CPIntimacyLeaderboardItem) Reset() {
	*x = CPIntimacyLeaderboardItem{}
	mi := &file_proto_user_v1_user_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPIntimacyLeaderboardItem) ProtoMessage() {}

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

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

func (x *CPIntimacyLeaderboardItem) GetRank() int64 {
	if x != nil {
		return x.Rank
	}
	return 0
}

func (x *CPIntimacyLeaderboardItem) GetRelationshipId() string {
	if x != nil {
		return x.RelationshipId
	}
	return ""
}

func (x *CPIntimacyLeaderboardItem) GetRelationType() string {
	if x != nil {
		return x.RelationType
	}
	return ""
}

func (x *CPIntimacyLeaderboardItem) GetIntimacyValue() int64 {
	if x != nil {
		return x.IntimacyValue
	}
	return 0
}

func (x *CPIntimacyLeaderboardItem) GetLevel() int32 {
	if x != nil {
		return x.Level
	}
	return 0
}

func (x *CPIntimacyLeaderboardItem) GetUserA() *CPIntimacyLeaderboardUser {
	if x != nil {
		return x.UserA
	}
	return nil
}

func (x *CPIntimacyLeaderboardItem) GetUserB() *CPIntimacyLeaderboardUser {
	if x != nil {
		return x.UserB
	}
	return nil
}

func (x *CPIntimacyLeaderboardItem) GetFormedAtMs() int64 {
	if x != nil {
		return x.FormedAtMs
	}
	return 0
}

func (x *CPIntimacyLeaderboardItem) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

// CPWeeklyRankEntry 是 activity-service 结算 CP 周榜时读取的关系周积分快照。
type CPWeeklyRankEntry struct {
	state           protoimpl.MessageState     `protogen:"open.v1"`
	Rank            int64                      `protobuf:"varint,1,opt,name=rank,proto3" json:"rank,omitempty"`
	RelationshipId  string                     `protobuf:"bytes,2,opt,name=relationship_id,json=relationshipId,proto3" json:"relationship_id,omitempty"`
	RelationType    string                     `protobuf:"bytes,3,opt,name=relation_type,json=relationType,proto3" json:"relation_type,omitempty"`
	Score           int64                      `protobuf:"varint,4,opt,name=score,proto3" json:"score,omitempty"`
	UserA           *CPIntimacyLeaderboardUser `protobuf:"bytes,5,opt,name=user_a,json=userA,proto3" json:"user_a,omitempty"`
	UserB           *CPIntimacyLeaderboardUser `protobuf:"bytes,6,opt,name=user_b,json=userB,proto3" json:"user_b,omitempty"`
	FormedAtMs      int64                      `protobuf:"varint,7,opt,name=formed_at_ms,json=formedAtMs,proto3" json:"formed_at_ms,omitempty"`
	UpdatedAtMs     int64                      `protobuf:"varint,8,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	FirstScoredAtMs int64                      `protobuf:"varint,9,opt,name=first_scored_at_ms,json=firstScoredAtMs,proto3" json:"first_scored_at_ms,omitempty"`
	LastScoredAtMs  int64                      `protobuf:"varint,10,opt,name=last_scored_at_ms,json=lastScoredAtMs,proto3" json:"last_scored_at_ms,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *CPWeeklyRankEntry) Reset() {
	*x = CPWeeklyRankEntry{}
	mi := &file_proto_user_v1_user_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPWeeklyRankEntry) ProtoMessage() {}

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

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

func (x *CPWeeklyRankEntry) GetRank() int64 {
	if x != nil {
		return x.Rank
	}
	return 0
}

func (x *CPWeeklyRankEntry) GetRelationshipId() string {
	if x != nil {
		return x.RelationshipId
	}
	return ""
}

func (x *CPWeeklyRankEntry) GetRelationType() string {
	if x != nil {
		return x.RelationType
	}
	return ""
}

func (x *CPWeeklyRankEntry) GetScore() int64 {
	if x != nil {
		return x.Score
	}
	return 0
}

func (x *CPWeeklyRankEntry) GetUserA() *CPIntimacyLeaderboardUser {
	if x != nil {
		return x.UserA
	}
	return nil
}

func (x *CPWeeklyRankEntry) GetUserB() *CPIntimacyLeaderboardUser {
	if x != nil {
		return x.UserB
	}
	return nil
}

func (x *CPWeeklyRankEntry) GetFormedAtMs() int64 {
	if x != nil {
		return x.FormedAtMs
	}
	return 0
}

func (x *CPWeeklyRankEntry) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *CPWeeklyRankEntry) GetFirstScoredAtMs() int64 {
	if x != nil {
		return x.FirstScoredAtMs
	}
	return 0
}

func (x *CPWeeklyRankEntry) GetLastScoredAtMs() int64 {
	if x != nil {
		return x.LastScoredAtMs
	}
	return 0
}

type ListCPWeeklyRankEntriesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RelationType  string                 `protobuf:"bytes,2,opt,name=relation_type,json=relationType,proto3" json:"relation_type,omitempty"`
	StartMs       int64                  `protobuf:"varint,3,opt,name=start_ms,json=startMs,proto3" json:"start_ms,omitempty"`
	EndMs         int64                  `protobuf:"varint,4,opt,name=end_ms,json=endMs,proto3" json:"end_ms,omitempty"`
	Limit         int32                  `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPWeeklyRankEntriesRequest) Reset() {
	*x = ListCPWeeklyRankEntriesRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPWeeklyRankEntriesRequest) ProtoMessage() {}

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

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

func (x *ListCPWeeklyRankEntriesRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListCPWeeklyRankEntriesRequest) GetRelationType() string {
	if x != nil {
		return x.RelationType
	}
	return ""
}

func (x *ListCPWeeklyRankEntriesRequest) GetStartMs() int64 {
	if x != nil {
		return x.StartMs
	}
	return 0
}

func (x *ListCPWeeklyRankEntriesRequest) GetEndMs() int64 {
	if x != nil {
		return x.EndMs
	}
	return 0
}

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

type ListCPWeeklyRankEntriesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Entries       []*CPWeeklyRankEntry   `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
	ServerTimeMs  int64                  `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPWeeklyRankEntriesResponse) Reset() {
	*x = ListCPWeeklyRankEntriesResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPWeeklyRankEntriesResponse) ProtoMessage() {}

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

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

func (x *ListCPWeeklyRankEntriesResponse) GetEntries() []*CPWeeklyRankEntry {
	if x != nil {
		return x.Entries
	}
	return nil
}

func (x *ListCPWeeklyRankEntriesResponse) GetServerTimeMs() int64 {
	if x != nil {
		return x.ServerTimeMs
	}
	return 0
}

type ListCPApplicationsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Direction     string                 `protobuf:"bytes,3,opt,name=direction,proto3" json:"direction,omitempty"`
	Status        string                 `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	Page          int32                  `protobuf:"varint,5,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPApplicationsRequest) Reset() {
	*x = ListCPApplicationsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPApplicationsRequest) ProtoMessage() {}

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

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

func (x *ListCPApplicationsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListCPApplicationsRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ListCPApplicationsRequest) GetDirection() string {
	if x != nil {
		return x.Direction
	}
	return ""
}

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

func (x *ListCPApplicationsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListCPApplicationsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListCPApplicationsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Applications  []*CPApplication       `protobuf:"bytes,1,rep,name=applications,proto3" json:"applications,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	ServerTimeMs  int64                  `protobuf:"varint,3,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPApplicationsResponse) Reset() {
	*x = ListCPApplicationsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPApplicationsResponse) ProtoMessage() {}

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

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

func (x *ListCPApplicationsResponse) GetApplications() []*CPApplication {
	if x != nil {
		return x.Applications
	}
	return nil
}

func (x *ListCPApplicationsResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListCPApplicationsResponse) GetServerTimeMs() int64 {
	if x != nil {
		return x.ServerTimeMs
	}
	return 0
}

type AcceptCPApplicationRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	ApplicationId string                 `protobuf:"bytes,3,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AcceptCPApplicationRequest) Reset() {
	*x = AcceptCPApplicationRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AcceptCPApplicationRequest) ProtoMessage() {}

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

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

func (x *AcceptCPApplicationRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AcceptCPApplicationRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *AcceptCPApplicationRequest) GetApplicationId() string {
	if x != nil {
		return x.ApplicationId
	}
	return ""
}

type AcceptCPApplicationResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Application   *CPApplication         `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"`
	Relationship  *CPRelationship        `protobuf:"bytes,2,opt,name=relationship,proto3" json:"relationship,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AcceptCPApplicationResponse) Reset() {
	*x = AcceptCPApplicationResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AcceptCPApplicationResponse) ProtoMessage() {}

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

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

func (x *AcceptCPApplicationResponse) GetApplication() *CPApplication {
	if x != nil {
		return x.Application
	}
	return nil
}

func (x *AcceptCPApplicationResponse) GetRelationship() *CPRelationship {
	if x != nil {
		return x.Relationship
	}
	return nil
}

type RejectCPApplicationRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	ApplicationId string                 `protobuf:"bytes,3,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
	Reason        string                 `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RejectCPApplicationRequest) Reset() {
	*x = RejectCPApplicationRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RejectCPApplicationRequest) ProtoMessage() {}

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

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

func (x *RejectCPApplicationRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RejectCPApplicationRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *RejectCPApplicationRequest) GetApplicationId() string {
	if x != nil {
		return x.ApplicationId
	}
	return ""
}

func (x *RejectCPApplicationRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type RejectCPApplicationResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Application   *CPApplication         `protobuf:"bytes,1,opt,name=application,proto3" json:"application,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RejectCPApplicationResponse) Reset() {
	*x = RejectCPApplicationResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RejectCPApplicationResponse) ProtoMessage() {}

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

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

func (x *RejectCPApplicationResponse) GetApplication() *CPApplication {
	if x != nil {
		return x.Application
	}
	return nil
}

type ListCPRelationshipsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	RelationType  string                 `protobuf:"bytes,3,opt,name=relation_type,json=relationType,proto3" json:"relation_type,omitempty"`
	Page          int32                  `protobuf:"varint,4,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPRelationshipsRequest) Reset() {
	*x = ListCPRelationshipsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPRelationshipsRequest) ProtoMessage() {}

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

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

func (x *ListCPRelationshipsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListCPRelationshipsRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ListCPRelationshipsRequest) GetRelationType() string {
	if x != nil {
		return x.RelationType
	}
	return ""
}

func (x *ListCPRelationshipsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListCPRelationshipsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListCPRelationshipsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Relationships []*CPRelationship      `protobuf:"bytes,1,rep,name=relationships,proto3" json:"relationships,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPRelationshipsResponse) Reset() {
	*x = ListCPRelationshipsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPRelationshipsResponse) ProtoMessage() {}

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

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

func (x *ListCPRelationshipsResponse) GetRelationships() []*CPRelationship {
	if x != nil {
		return x.Relationships
	}
	return nil
}

func (x *ListCPRelationshipsResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type ListCPIntimacyLeaderboardRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RelationType  string                 `protobuf:"bytes,2,opt,name=relation_type,json=relationType,proto3" json:"relation_type,omitempty"`
	Page          int32                  `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPIntimacyLeaderboardRequest) Reset() {
	*x = ListCPIntimacyLeaderboardRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPIntimacyLeaderboardRequest) ProtoMessage() {}

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

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

func (x *ListCPIntimacyLeaderboardRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListCPIntimacyLeaderboardRequest) GetRelationType() string {
	if x != nil {
		return x.RelationType
	}
	return ""
}

func (x *ListCPIntimacyLeaderboardRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListCPIntimacyLeaderboardRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListCPIntimacyLeaderboardResponse struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Items         []*CPIntimacyLeaderboardItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Total         int64                        `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	Page          int32                        `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                        `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	ServerTimeMs  int64                        `protobuf:"varint,5,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPIntimacyLeaderboardResponse) Reset() {
	*x = ListCPIntimacyLeaderboardResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPIntimacyLeaderboardResponse) ProtoMessage() {}

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

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

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

func (x *ListCPIntimacyLeaderboardResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *ListCPIntimacyLeaderboardResponse) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListCPIntimacyLeaderboardResponse) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListCPIntimacyLeaderboardResponse) GetServerTimeMs() int64 {
	if x != nil {
		return x.ServerTimeMs
	}
	return 0
}

type PrepareBreakCPRelationshipRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId         int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	RelationshipId string                 `protobuf:"bytes,3,opt,name=relationship_id,json=relationshipId,proto3" json:"relationship_id,omitempty"`
	CommandId      string                 `protobuf:"bytes,4,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *PrepareBreakCPRelationshipRequest) Reset() {
	*x = PrepareBreakCPRelationshipRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrepareBreakCPRelationshipRequest) ProtoMessage() {}

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

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

func (x *PrepareBreakCPRelationshipRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *PrepareBreakCPRelationshipRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *PrepareBreakCPRelationshipRequest) GetRelationshipId() string {
	if x != nil {
		return x.RelationshipId
	}
	return ""
}

func (x *PrepareBreakCPRelationshipRequest) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

type PrepareBreakCPRelationshipResponse struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Relationship        *CPRelationship        `protobuf:"bytes,1,opt,name=relationship,proto3" json:"relationship,omitempty"`
	CommandId           string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	Status              string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	BreakupCostCoins    int64                  `protobuf:"varint,4,opt,name=breakup_cost_coins,json=breakupCostCoins,proto3" json:"breakup_cost_coins,omitempty"`
	WalletTransactionId string                 `protobuf:"bytes,5,opt,name=wallet_transaction_id,json=walletTransactionId,proto3" json:"wallet_transaction_id,omitempty"`
	CoinBalanceAfter    int64                  `protobuf:"varint,6,opt,name=coin_balance_after,json=coinBalanceAfter,proto3" json:"coin_balance_after,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *PrepareBreakCPRelationshipResponse) Reset() {
	*x = PrepareBreakCPRelationshipResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrepareBreakCPRelationshipResponse) ProtoMessage() {}

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

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

func (x *PrepareBreakCPRelationshipResponse) GetRelationship() *CPRelationship {
	if x != nil {
		return x.Relationship
	}
	return nil
}

func (x *PrepareBreakCPRelationshipResponse) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

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

func (x *PrepareBreakCPRelationshipResponse) GetBreakupCostCoins() int64 {
	if x != nil {
		return x.BreakupCostCoins
	}
	return 0
}

func (x *PrepareBreakCPRelationshipResponse) GetWalletTransactionId() string {
	if x != nil {
		return x.WalletTransactionId
	}
	return ""
}

func (x *PrepareBreakCPRelationshipResponse) GetCoinBalanceAfter() int64 {
	if x != nil {
		return x.CoinBalanceAfter
	}
	return 0
}

type ConfirmBreakCPRelationshipRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Meta                *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId              int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	RelationshipId      string                 `protobuf:"bytes,3,opt,name=relationship_id,json=relationshipId,proto3" json:"relationship_id,omitempty"`
	CommandId           string                 `protobuf:"bytes,4,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	WalletTransactionId string                 `protobuf:"bytes,5,opt,name=wallet_transaction_id,json=walletTransactionId,proto3" json:"wallet_transaction_id,omitempty"`
	PaidCoinAmount      int64                  `protobuf:"varint,6,opt,name=paid_coin_amount,json=paidCoinAmount,proto3" json:"paid_coin_amount,omitempty"`
	CoinBalanceAfter    int64                  `protobuf:"varint,7,opt,name=coin_balance_after,json=coinBalanceAfter,proto3" json:"coin_balance_after,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *ConfirmBreakCPRelationshipRequest) Reset() {
	*x = ConfirmBreakCPRelationshipRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ConfirmBreakCPRelationshipRequest) ProtoMessage() {}

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

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

func (x *ConfirmBreakCPRelationshipRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ConfirmBreakCPRelationshipRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ConfirmBreakCPRelationshipRequest) GetRelationshipId() string {
	if x != nil {
		return x.RelationshipId
	}
	return ""
}

func (x *ConfirmBreakCPRelationshipRequest) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *ConfirmBreakCPRelationshipRequest) GetWalletTransactionId() string {
	if x != nil {
		return x.WalletTransactionId
	}
	return ""
}

func (x *ConfirmBreakCPRelationshipRequest) GetPaidCoinAmount() int64 {
	if x != nil {
		return x.PaidCoinAmount
	}
	return 0
}

func (x *ConfirmBreakCPRelationshipRequest) GetCoinBalanceAfter() int64 {
	if x != nil {
		return x.CoinBalanceAfter
	}
	return 0
}

type ConfirmBreakCPRelationshipResponse struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Relationship        *CPRelationship        `protobuf:"bytes,1,opt,name=relationship,proto3" json:"relationship,omitempty"`
	BreakupCostCoins    int64                  `protobuf:"varint,2,opt,name=breakup_cost_coins,json=breakupCostCoins,proto3" json:"breakup_cost_coins,omitempty"`
	WalletTransactionId string                 `protobuf:"bytes,3,opt,name=wallet_transaction_id,json=walletTransactionId,proto3" json:"wallet_transaction_id,omitempty"`
	CoinBalanceAfter    int64                  `protobuf:"varint,4,opt,name=coin_balance_after,json=coinBalanceAfter,proto3" json:"coin_balance_after,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *ConfirmBreakCPRelationshipResponse) Reset() {
	*x = ConfirmBreakCPRelationshipResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ConfirmBreakCPRelationshipResponse) ProtoMessage() {}

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

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

func (x *ConfirmBreakCPRelationshipResponse) GetRelationship() *CPRelationship {
	if x != nil {
		return x.Relationship
	}
	return nil
}

func (x *ConfirmBreakCPRelationshipResponse) GetBreakupCostCoins() int64 {
	if x != nil {
		return x.BreakupCostCoins
	}
	return 0
}

func (x *ConfirmBreakCPRelationshipResponse) GetWalletTransactionId() string {
	if x != nil {
		return x.WalletTransactionId
	}
	return ""
}

func (x *ConfirmBreakCPRelationshipResponse) GetCoinBalanceAfter() int64 {
	if x != nil {
		return x.CoinBalanceAfter
	}
	return 0
}

type CancelBreakCPRelationshipRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId         int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	RelationshipId string                 `protobuf:"bytes,3,opt,name=relationship_id,json=relationshipId,proto3" json:"relationship_id,omitempty"`
	CommandId      string                 `protobuf:"bytes,4,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	Reason         string                 `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CancelBreakCPRelationshipRequest) Reset() {
	*x = CancelBreakCPRelationshipRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CancelBreakCPRelationshipRequest) ProtoMessage() {}

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

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

func (x *CancelBreakCPRelationshipRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CancelBreakCPRelationshipRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *CancelBreakCPRelationshipRequest) GetRelationshipId() string {
	if x != nil {
		return x.RelationshipId
	}
	return ""
}

func (x *CancelBreakCPRelationshipRequest) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *CancelBreakCPRelationshipRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type CancelBreakCPRelationshipResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CommandId     string                 `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CancelBreakCPRelationshipResponse) Reset() {
	*x = CancelBreakCPRelationshipResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CancelBreakCPRelationshipResponse) ProtoMessage() {}

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

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

func (x *CancelBreakCPRelationshipResponse) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

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

type RoomGiftCPEvent struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Meta             *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	EventId          string                 `protobuf:"bytes,2,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
	RoomId           string                 `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
	RoomVersion      int64                  `protobuf:"varint,4,opt,name=room_version,json=roomVersion,proto3" json:"room_version,omitempty"`
	OccurredAtMs     int64                  `protobuf:"varint,5,opt,name=occurred_at_ms,json=occurredAtMs,proto3" json:"occurred_at_ms,omitempty"`
	SenderUserId     int64                  `protobuf:"varint,6,opt,name=sender_user_id,json=senderUserId,proto3" json:"sender_user_id,omitempty"`
	TargetUserId     int64                  `protobuf:"varint,7,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	GiftId           string                 `protobuf:"bytes,8,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"`
	GiftCount        int32                  `protobuf:"varint,9,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"`
	GiftValue        int64                  `protobuf:"varint,10,opt,name=gift_value,json=giftValue,proto3" json:"gift_value,omitempty"`
	BillingReceiptId string                 `protobuf:"bytes,11,opt,name=billing_receipt_id,json=billingReceiptId,proto3" json:"billing_receipt_id,omitempty"`
	VisibleRegionId  int64                  `protobuf:"varint,12,opt,name=visible_region_id,json=visibleRegionId,proto3" json:"visible_region_id,omitempty"`
	CommandId        string                 `protobuf:"bytes,13,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	GiftTypeCode     string                 `protobuf:"bytes,14,opt,name=gift_type_code,json=giftTypeCode,proto3" json:"gift_type_code,omitempty"`
	CpRelationType   string                 `protobuf:"bytes,15,opt,name=cp_relation_type,json=cpRelationType,proto3" json:"cp_relation_type,omitempty"`
	GiftName         string                 `protobuf:"bytes,16,opt,name=gift_name,json=giftName,proto3" json:"gift_name,omitempty"`
	GiftIconUrl      string                 `protobuf:"bytes,17,opt,name=gift_icon_url,json=giftIconUrl,proto3" json:"gift_icon_url,omitempty"`
	GiftAnimationUrl string                 `protobuf:"bytes,18,opt,name=gift_animation_url,json=giftAnimationUrl,proto3" json:"gift_animation_url,omitempty"`
	// coin_spent 来自 RoomGiftSent 的 wallet 结算价值，和 gift_value 的热度口径彼此独立。
	CoinSpent     int64 `protobuf:"varint,19,opt,name=coin_spent,json=coinSpent,proto3" json:"coin_spent,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RoomGiftCPEvent) Reset() {
	*x = RoomGiftCPEvent{}
	mi := &file_proto_user_v1_user_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RoomGiftCPEvent) ProtoMessage() {}

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

// Deprecated: Use RoomGiftCPEvent.ProtoReflect.Descriptor instead.
func (*RoomGiftCPEvent) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{74}
}

func (x *RoomGiftCPEvent) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RoomGiftCPEvent) GetEventId() string {
	if x != nil {
		return x.EventId
	}
	return ""
}

func (x *RoomGiftCPEvent) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *RoomGiftCPEvent) GetRoomVersion() int64 {
	if x != nil {
		return x.RoomVersion
	}
	return 0
}

func (x *RoomGiftCPEvent) GetOccurredAtMs() int64 {
	if x != nil {
		return x.OccurredAtMs
	}
	return 0
}

func (x *RoomGiftCPEvent) GetSenderUserId() int64 {
	if x != nil {
		return x.SenderUserId
	}
	return 0
}

func (x *RoomGiftCPEvent) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *RoomGiftCPEvent) GetGiftId() string {
	if x != nil {
		return x.GiftId
	}
	return ""
}

func (x *RoomGiftCPEvent) GetGiftCount() int32 {
	if x != nil {
		return x.GiftCount
	}
	return 0
}

func (x *RoomGiftCPEvent) GetGiftValue() int64 {
	if x != nil {
		return x.GiftValue
	}
	return 0
}

func (x *RoomGiftCPEvent) GetBillingReceiptId() string {
	if x != nil {
		return x.BillingReceiptId
	}
	return ""
}

func (x *RoomGiftCPEvent) GetVisibleRegionId() int64 {
	if x != nil {
		return x.VisibleRegionId
	}
	return 0
}

func (x *RoomGiftCPEvent) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *RoomGiftCPEvent) GetGiftTypeCode() string {
	if x != nil {
		return x.GiftTypeCode
	}
	return ""
}

func (x *RoomGiftCPEvent) GetCpRelationType() string {
	if x != nil {
		return x.CpRelationType
	}
	return ""
}

func (x *RoomGiftCPEvent) GetGiftName() string {
	if x != nil {
		return x.GiftName
	}
	return ""
}

func (x *RoomGiftCPEvent) GetGiftIconUrl() string {
	if x != nil {
		return x.GiftIconUrl
	}
	return ""
}

func (x *RoomGiftCPEvent) GetGiftAnimationUrl() string {
	if x != nil {
		return x.GiftAnimationUrl
	}
	return ""
}

func (x *RoomGiftCPEvent) GetCoinSpent() int64 {
	if x != nil {
		return x.CoinSpent
	}
	return 0
}

type ConsumeRoomGiftCPEventRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Event         *RoomGiftCPEvent       `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConsumeRoomGiftCPEventRequest) Reset() {
	*x = ConsumeRoomGiftCPEventRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ConsumeRoomGiftCPEventRequest) ProtoMessage() {}

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

// Deprecated: Use ConsumeRoomGiftCPEventRequest.ProtoReflect.Descriptor instead.
func (*ConsumeRoomGiftCPEventRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{75}
}

func (x *ConsumeRoomGiftCPEventRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ConsumeRoomGiftCPEventRequest) GetEvent() *RoomGiftCPEvent {
	if x != nil {
		return x.Event
	}
	return nil
}

type ConsumeRoomGiftCPEventResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Consumed      bool                   `protobuf:"varint,1,opt,name=consumed,proto3" json:"consumed,omitempty"`
	Application   *CPApplication         `protobuf:"bytes,2,opt,name=application,proto3" json:"application,omitempty"`
	Relationship  *CPRelationship        `protobuf:"bytes,3,opt,name=relationship,proto3" json:"relationship,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ConsumeRoomGiftCPEventResponse) Reset() {
	*x = ConsumeRoomGiftCPEventResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ConsumeRoomGiftCPEventResponse) ProtoMessage() {}

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

// Deprecated: Use ConsumeRoomGiftCPEventResponse.ProtoReflect.Descriptor instead.
func (*ConsumeRoomGiftCPEventResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{76}
}

func (x *ConsumeRoomGiftCPEventResponse) GetConsumed() bool {
	if x != nil {
		return x.Consumed
	}
	return false
}

func (x *ConsumeRoomGiftCPEventResponse) GetApplication() *CPApplication {
	if x != nil {
		return x.Application
	}
	return nil
}

func (x *ConsumeRoomGiftCPEventResponse) GetRelationship() *CPRelationship {
	if x != nil {
		return x.Relationship
	}
	return nil
}

// UserReport 是 App 用户提交的治理举报单。
type UserReport struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ReportId       string                 `protobuf:"bytes,1,opt,name=report_id,json=reportId,proto3" json:"report_id,omitempty"`
	ReporterUserId int64                  `protobuf:"varint,2,opt,name=reporter_user_id,json=reporterUserId,proto3" json:"reporter_user_id,omitempty"`
	TargetType     string                 `protobuf:"bytes,3,opt,name=target_type,json=targetType,proto3" json:"target_type,omitempty"`
	UserId         int64                  `protobuf:"varint,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	RoomId         string                 `protobuf:"bytes,5,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
	ReportType     string                 `protobuf:"bytes,6,opt,name=report_type,json=reportType,proto3" json:"report_type,omitempty"`
	Reason         string                 `protobuf:"bytes,7,opt,name=reason,proto3" json:"reason,omitempty"`
	ImageUrls      []string               `protobuf:"bytes,8,rep,name=image_urls,json=imageUrls,proto3" json:"image_urls,omitempty"`
	Status         string                 `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"`
	CreatedAtMs    int64                  `protobuf:"varint,10,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *UserReport) Reset() {
	*x = UserReport{}
	mi := &file_proto_user_v1_user_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UserReport) ProtoMessage() {}

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

// Deprecated: Use UserReport.ProtoReflect.Descriptor instead.
func (*UserReport) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{77}
}

func (x *UserReport) GetReportId() string {
	if x != nil {
		return x.ReportId
	}
	return ""
}

func (x *UserReport) GetReporterUserId() int64 {
	if x != nil {
		return x.ReporterUserId
	}
	return 0
}

func (x *UserReport) GetTargetType() string {
	if x != nil {
		return x.TargetType
	}
	return ""
}

func (x *UserReport) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserReport) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *UserReport) GetReportType() string {
	if x != nil {
		return x.ReportType
	}
	return ""
}

func (x *UserReport) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *UserReport) GetImageUrls() []string {
	if x != nil {
		return x.ImageUrls
	}
	return nil
}

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

func (x *UserReport) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

// SubmitReportRequest 提交用户或房间举报；user_id 和 room_id 必须二选一。
type SubmitReportRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	ReporterUserId int64                  `protobuf:"varint,2,opt,name=reporter_user_id,json=reporterUserId,proto3" json:"reporter_user_id,omitempty"`
	UserId         int64                  `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	RoomId         string                 `protobuf:"bytes,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
	ReportType     string                 `protobuf:"bytes,5,opt,name=report_type,json=reportType,proto3" json:"report_type,omitempty"`
	Reason         string                 `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"`
	ImageUrls      []string               `protobuf:"bytes,7,rep,name=image_urls,json=imageUrls,proto3" json:"image_urls,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *SubmitReportRequest) Reset() {
	*x = SubmitReportRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SubmitReportRequest) ProtoMessage() {}

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

// Deprecated: Use SubmitReportRequest.ProtoReflect.Descriptor instead.
func (*SubmitReportRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{78}
}

func (x *SubmitReportRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *SubmitReportRequest) GetReporterUserId() int64 {
	if x != nil {
		return x.ReporterUserId
	}
	return 0
}

func (x *SubmitReportRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *SubmitReportRequest) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *SubmitReportRequest) GetReportType() string {
	if x != nil {
		return x.ReportType
	}
	return ""
}

func (x *SubmitReportRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *SubmitReportRequest) GetImageUrls() []string {
	if x != nil {
		return x.ImageUrls
	}
	return nil
}

type SubmitReportResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Report        *UserReport            `protobuf:"bytes,1,opt,name=report,proto3" json:"report,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SubmitReportResponse) Reset() {
	*x = SubmitReportResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SubmitReportResponse) ProtoMessage() {}

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

// Deprecated: Use SubmitReportResponse.ProtoReflect.Descriptor instead.
func (*SubmitReportResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{79}
}

func (x *SubmitReportResponse) GetReport() *UserReport {
	if x != nil {
		return x.Report
	}
	return nil
}

// BatchGetUsersRequest 批量查询用户主状态。
type BatchGetUsersRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserIds       []int64                `protobuf:"varint,2,rep,packed,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchGetUsersRequest) Reset() {
	*x = BatchGetUsersRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BatchGetUsersRequest) ProtoMessage() {}

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

// Deprecated: Use BatchGetUsersRequest.ProtoReflect.Descriptor instead.
func (*BatchGetUsersRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{80}
}

func (x *BatchGetUsersRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *BatchGetUsersRequest) GetUserIds() []int64 {
	if x != nil {
		return x.UserIds
	}
	return nil
}

// BatchGetUsersResponse 返回按 user_id 索引的用户主状态。
type BatchGetUsersResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Users         map[int64]*User        `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchGetUsersResponse) Reset() {
	*x = BatchGetUsersResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BatchGetUsersResponse) ProtoMessage() {}

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

// Deprecated: Use BatchGetUsersResponse.ProtoReflect.Descriptor instead.
func (*BatchGetUsersResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{81}
}

func (x *BatchGetUsersResponse) GetUsers() map[int64]*User {
	if x != nil {
		return x.Users
	}
	return nil
}

// ActiveUserBanSummary 是后台用户列表读取的有效封禁摘要。
// expires_at_ms=0 只在 permanent=true 时表示永久；source 区分 admin、manager 和无新事实表记录的 legacy。
type ActiveUserBanSummary struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Active         bool                   `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"`
	Source         string                 `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
	BanId          string                 `protobuf:"bytes,3,opt,name=ban_id,json=banId,proto3" json:"ban_id,omitempty"`
	Permanent      bool                   `protobuf:"varint,4,opt,name=permanent,proto3" json:"permanent,omitempty"`
	ExpiresAtMs    int64                  `protobuf:"varint,5,opt,name=expires_at_ms,json=expiresAtMs,proto3" json:"expires_at_ms,omitempty"`
	UserStatus     UserStatus             `protobuf:"varint,6,opt,name=user_status,json=userStatus,proto3,enum=hyapp.user.v1.UserStatus" json:"user_status,omitempty"`
	OperatorType   string                 `protobuf:"bytes,7,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
	OperatorUserId int64                  `protobuf:"varint,8,opt,name=operator_user_id,json=operatorUserId,proto3" json:"operator_user_id,omitempty"`
	Reason         string                 `protobuf:"bytes,9,opt,name=reason,proto3" json:"reason,omitempty"`
	CreatedAtMs    int64                  `protobuf:"varint,10,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	ActiveBanCount int32                  `protobuf:"varint,11,opt,name=active_ban_count,json=activeBanCount,proto3" json:"active_ban_count,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ActiveUserBanSummary) Reset() {
	*x = ActiveUserBanSummary{}
	mi := &file_proto_user_v1_user_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ActiveUserBanSummary) ProtoMessage() {}

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

// Deprecated: Use ActiveUserBanSummary.ProtoReflect.Descriptor instead.
func (*ActiveUserBanSummary) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{82}
}

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

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

func (x *ActiveUserBanSummary) GetBanId() string {
	if x != nil {
		return x.BanId
	}
	return ""
}

func (x *ActiveUserBanSummary) GetPermanent() bool {
	if x != nil {
		return x.Permanent
	}
	return false
}

func (x *ActiveUserBanSummary) GetExpiresAtMs() int64 {
	if x != nil {
		return x.ExpiresAtMs
	}
	return 0
}

func (x *ActiveUserBanSummary) GetUserStatus() UserStatus {
	if x != nil {
		return x.UserStatus
	}
	return UserStatus_USER_STATUS_UNSPECIFIED
}

func (x *ActiveUserBanSummary) GetOperatorType() string {
	if x != nil {
		return x.OperatorType
	}
	return ""
}

func (x *ActiveUserBanSummary) GetOperatorUserId() int64 {
	if x != nil {
		return x.OperatorUserId
	}
	return 0
}

func (x *ActiveUserBanSummary) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *ActiveUserBanSummary) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *ActiveUserBanSummary) GetActiveBanCount() int32 {
	if x != nil {
		return x.ActiveBanCount
	}
	return 0
}

// UserAdminProfile 聚合后台用户列表和详情需要的 user-service owner 事实。
// roles 只返回当前有效身份：host、agency、bd、bd_leader、coin_seller、manager。
type UserAdminProfile struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	User                 *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	Birth                string                 `protobuf:"bytes,2,opt,name=birth,proto3" json:"birth,omitempty"`
	RegisterDevice       string                 `protobuf:"bytes,3,opt,name=register_device,json=registerDevice,proto3" json:"register_device,omitempty"`
	LastSuccessLoginAtMs int64                  `protobuf:"varint,4,opt,name=last_success_login_at_ms,json=lastSuccessLoginAtMs,proto3" json:"last_success_login_at_ms,omitempty"`
	Roles                []string               `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"`
	Ban                  *ActiveUserBanSummary  `protobuf:"bytes,6,opt,name=ban,proto3" json:"ban,omitempty"`
	LastOperatorType     string                 `protobuf:"bytes,7,opt,name=last_operator_type,json=lastOperatorType,proto3" json:"last_operator_type,omitempty"`
	LastOperatorUserId   int64                  `protobuf:"varint,8,opt,name=last_operator_user_id,json=lastOperatorUserId,proto3" json:"last_operator_user_id,omitempty"`
	LastOperationReason  string                 `protobuf:"bytes,9,opt,name=last_operation_reason,json=lastOperationReason,proto3" json:"last_operation_reason,omitempty"`
	LastOperationAtMs    int64                  `protobuf:"varint,10,opt,name=last_operation_at_ms,json=lastOperationAtMs,proto3" json:"last_operation_at_ms,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *UserAdminProfile) Reset() {
	*x = UserAdminProfile{}
	mi := &file_proto_user_v1_user_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UserAdminProfile) ProtoMessage() {}

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

// Deprecated: Use UserAdminProfile.ProtoReflect.Descriptor instead.
func (*UserAdminProfile) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{83}
}

func (x *UserAdminProfile) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *UserAdminProfile) GetBirth() string {
	if x != nil {
		return x.Birth
	}
	return ""
}

func (x *UserAdminProfile) GetRegisterDevice() string {
	if x != nil {
		return x.RegisterDevice
	}
	return ""
}

func (x *UserAdminProfile) GetLastSuccessLoginAtMs() int64 {
	if x != nil {
		return x.LastSuccessLoginAtMs
	}
	return 0
}

func (x *UserAdminProfile) GetRoles() []string {
	if x != nil {
		return x.Roles
	}
	return nil
}

func (x *UserAdminProfile) GetBan() *ActiveUserBanSummary {
	if x != nil {
		return x.Ban
	}
	return nil
}

func (x *UserAdminProfile) GetLastOperatorType() string {
	if x != nil {
		return x.LastOperatorType
	}
	return ""
}

func (x *UserAdminProfile) GetLastOperatorUserId() int64 {
	if x != nil {
		return x.LastOperatorUserId
	}
	return 0
}

func (x *UserAdminProfile) GetLastOperationReason() string {
	if x != nil {
		return x.LastOperationReason
	}
	return ""
}

func (x *UserAdminProfile) GetLastOperationAtMs() int64 {
	if x != nil {
		return x.LastOperationAtMs
	}
	return 0
}

type BatchGetUserAdminProfilesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserIds       []int64                `protobuf:"varint,2,rep,packed,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchGetUserAdminProfilesRequest) Reset() {
	*x = BatchGetUserAdminProfilesRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BatchGetUserAdminProfilesRequest) ProtoMessage() {}

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

// Deprecated: Use BatchGetUserAdminProfilesRequest.ProtoReflect.Descriptor instead.
func (*BatchGetUserAdminProfilesRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{84}
}

func (x *BatchGetUserAdminProfilesRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *BatchGetUserAdminProfilesRequest) GetUserIds() []int64 {
	if x != nil {
		return x.UserIds
	}
	return nil
}

type BatchGetUserAdminProfilesResponse struct {
	state         protoimpl.MessageState      `protogen:"open.v1"`
	Profiles      map[int64]*UserAdminProfile `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchGetUserAdminProfilesResponse) Reset() {
	*x = BatchGetUserAdminProfilesResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BatchGetUserAdminProfilesResponse) ProtoMessage() {}

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

// Deprecated: Use BatchGetUserAdminProfilesResponse.ProtoReflect.Descriptor instead.
func (*BatchGetUserAdminProfilesResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{85}
}

func (x *BatchGetUserAdminProfilesResponse) GetProfiles() map[int64]*UserAdminProfile {
	if x != nil {
		return x.Profiles
	}
	return nil
}

// AdminIssueUserAccessTokenRequest 供后台按用户当前最新 active session 重签 access token。
// 该链路不写 login_audit，也不修改 session 行——后台取 token 不能污染用户“最近活跃/最近登录”事实；
// 审计责任由 admin 侧操作日志承担。
type AdminIssueUserAccessTokenRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	AppCode       string                 `protobuf:"bytes,2,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	UserId        int64                  `protobuf:"varint,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdminIssueUserAccessTokenRequest) Reset() {
	*x = AdminIssueUserAccessTokenRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminIssueUserAccessTokenRequest) ProtoMessage() {}

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

// Deprecated: Use AdminIssueUserAccessTokenRequest.ProtoReflect.Descriptor instead.
func (*AdminIssueUserAccessTokenRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{86}
}

func (x *AdminIssueUserAccessTokenRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AdminIssueUserAccessTokenRequest) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *AdminIssueUserAccessTokenRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

// AdminIssueUserAccessTokenResponse 返回重签的 access token 和所属 session 的定位信息。
// 不返回 refresh token：后台没有轮换会话的理由，refresh 原文也不允许离开登录主链路。
type AdminIssueUserAccessTokenResponse struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	AccessToken              string                 `protobuf:"bytes,1,opt,name=access_token,json=accessToken,proto3" json:"access_token,omitempty"`
	TokenType                string                 `protobuf:"bytes,2,opt,name=token_type,json=tokenType,proto3" json:"token_type,omitempty"`
	ExpiresInSec             int64                  `protobuf:"varint,3,opt,name=expires_in_sec,json=expiresInSec,proto3" json:"expires_in_sec,omitempty"`
	SessionId                string                 `protobuf:"bytes,4,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
	DeviceId                 string                 `protobuf:"bytes,5,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	SessionLastHeartbeatAtMs int64                  `protobuf:"varint,6,opt,name=session_last_heartbeat_at_ms,json=sessionLastHeartbeatAtMs,proto3" json:"session_last_heartbeat_at_ms,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *AdminIssueUserAccessTokenResponse) Reset() {
	*x = AdminIssueUserAccessTokenResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminIssueUserAccessTokenResponse) ProtoMessage() {}

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

// Deprecated: Use AdminIssueUserAccessTokenResponse.ProtoReflect.Descriptor instead.
func (*AdminIssueUserAccessTokenResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{87}
}

func (x *AdminIssueUserAccessTokenResponse) GetAccessToken() string {
	if x != nil {
		return x.AccessToken
	}
	return ""
}

func (x *AdminIssueUserAccessTokenResponse) GetTokenType() string {
	if x != nil {
		return x.TokenType
	}
	return ""
}

func (x *AdminIssueUserAccessTokenResponse) GetExpiresInSec() int64 {
	if x != nil {
		return x.ExpiresInSec
	}
	return 0
}

func (x *AdminIssueUserAccessTokenResponse) GetSessionId() string {
	if x != nil {
		return x.SessionId
	}
	return ""
}

func (x *AdminIssueUserAccessTokenResponse) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *AdminIssueUserAccessTokenResponse) GetSessionLastHeartbeatAtMs() int64 {
	if x != nil {
		return x.SessionLastHeartbeatAtMs
	}
	return 0
}

// UserContentBlacklistEntry 是后台“黑名单屏蔽用户”列表当前态。
// 用户展示字段随列表查询读取当前资料；operator_admin_id/reason/time 是 user-service 持有的治理事实。
type UserContentBlacklistEntry struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	UserId               int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	DisplayUserId        string                 `protobuf:"bytes,2,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	DefaultDisplayUserId string                 `protobuf:"bytes,3,opt,name=default_display_user_id,json=defaultDisplayUserId,proto3" json:"default_display_user_id,omitempty"`
	PrettyId             string                 `protobuf:"bytes,4,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	PrettyDisplayUserId  string                 `protobuf:"bytes,5,opt,name=pretty_display_user_id,json=prettyDisplayUserId,proto3" json:"pretty_display_user_id,omitempty"`
	Username             string                 `protobuf:"bytes,6,opt,name=username,proto3" json:"username,omitempty"`
	Avatar               string                 `protobuf:"bytes,7,opt,name=avatar,proto3" json:"avatar,omitempty"`
	UserStatus           UserStatus             `protobuf:"varint,8,opt,name=user_status,json=userStatus,proto3,enum=hyapp.user.v1.UserStatus" json:"user_status,omitempty"`
	OperatorAdminId      int64                  `protobuf:"varint,9,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	Reason               string                 `protobuf:"bytes,10,opt,name=reason,proto3" json:"reason,omitempty"`
	CreatedAtMs          int64                  `protobuf:"varint,11,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs          int64                  `protobuf:"varint,12,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *UserContentBlacklistEntry) Reset() {
	*x = UserContentBlacklistEntry{}
	mi := &file_proto_user_v1_user_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UserContentBlacklistEntry) ProtoMessage() {}

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

// Deprecated: Use UserContentBlacklistEntry.ProtoReflect.Descriptor instead.
func (*UserContentBlacklistEntry) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{88}
}

func (x *UserContentBlacklistEntry) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserContentBlacklistEntry) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

func (x *UserContentBlacklistEntry) GetDefaultDisplayUserId() string {
	if x != nil {
		return x.DefaultDisplayUserId
	}
	return ""
}

func (x *UserContentBlacklistEntry) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

func (x *UserContentBlacklistEntry) GetPrettyDisplayUserId() string {
	if x != nil {
		return x.PrettyDisplayUserId
	}
	return ""
}

func (x *UserContentBlacklistEntry) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *UserContentBlacklistEntry) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

func (x *UserContentBlacklistEntry) GetUserStatus() UserStatus {
	if x != nil {
		return x.UserStatus
	}
	return UserStatus_USER_STATUS_UNSPECIFIED
}

func (x *UserContentBlacklistEntry) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

func (x *UserContentBlacklistEntry) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *UserContentBlacklistEntry) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *UserContentBlacklistEntry) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

type ListUserContentBlacklistRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Page          int32                  `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListUserContentBlacklistRequest) Reset() {
	*x = ListUserContentBlacklistRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListUserContentBlacklistRequest) ProtoMessage() {}

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

// Deprecated: Use ListUserContentBlacklistRequest.ProtoReflect.Descriptor instead.
func (*ListUserContentBlacklistRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{89}
}

func (x *ListUserContentBlacklistRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListUserContentBlacklistRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListUserContentBlacklistRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListUserContentBlacklistResponse struct {
	state         protoimpl.MessageState       `protogen:"open.v1"`
	Items         []*UserContentBlacklistEntry `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Total         int64                        `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListUserContentBlacklistResponse) Reset() {
	*x = ListUserContentBlacklistResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListUserContentBlacklistResponse) ProtoMessage() {}

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

// Deprecated: Use ListUserContentBlacklistResponse.ProtoReflect.Descriptor instead.
func (*ListUserContentBlacklistResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{90}
}

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

func (x *ListUserContentBlacklistResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type AdminAddUserContentBlacklistRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId          int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,3,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	Reason          string                 `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *AdminAddUserContentBlacklistRequest) Reset() {
	*x = AdminAddUserContentBlacklistRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminAddUserContentBlacklistRequest) ProtoMessage() {}

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

// Deprecated: Use AdminAddUserContentBlacklistRequest.ProtoReflect.Descriptor instead.
func (*AdminAddUserContentBlacklistRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{91}
}

func (x *AdminAddUserContentBlacklistRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AdminAddUserContentBlacklistRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *AdminAddUserContentBlacklistRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

func (x *AdminAddUserContentBlacklistRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type AdminAddUserContentBlacklistResponse struct {
	state         protoimpl.MessageState     `protogen:"open.v1"`
	Item          *UserContentBlacklistEntry `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdminAddUserContentBlacklistResponse) Reset() {
	*x = AdminAddUserContentBlacklistResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[92]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminAddUserContentBlacklistResponse) ProtoMessage() {}

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

// Deprecated: Use AdminAddUserContentBlacklistResponse.ProtoReflect.Descriptor instead.
func (*AdminAddUserContentBlacklistResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{92}
}

func (x *AdminAddUserContentBlacklistResponse) GetItem() *UserContentBlacklistEntry {
	if x != nil {
		return x.Item
	}
	return nil
}

type AdminRemoveUserContentBlacklistRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId          int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,3,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	Reason          string                 `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *AdminRemoveUserContentBlacklistRequest) Reset() {
	*x = AdminRemoveUserContentBlacklistRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminRemoveUserContentBlacklistRequest) ProtoMessage() {}

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

// Deprecated: Use AdminRemoveUserContentBlacklistRequest.ProtoReflect.Descriptor instead.
func (*AdminRemoveUserContentBlacklistRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{93}
}

func (x *AdminRemoveUserContentBlacklistRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AdminRemoveUserContentBlacklistRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *AdminRemoveUserContentBlacklistRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

func (x *AdminRemoveUserContentBlacklistRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type AdminRemoveUserContentBlacklistResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Removed       bool                   `protobuf:"varint,1,opt,name=removed,proto3" json:"removed,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdminRemoveUserContentBlacklistResponse) Reset() {
	*x = AdminRemoveUserContentBlacklistResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminRemoveUserContentBlacklistResponse) ProtoMessage() {}

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

// Deprecated: Use AdminRemoveUserContentBlacklistResponse.ProtoReflect.Descriptor instead.
func (*AdminRemoveUserContentBlacklistResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{94}
}

func (x *AdminRemoveUserContentBlacklistResponse) GetRemoved() bool {
	if x != nil {
		return x.Removed
	}
	return false
}

// RoomBasicUser 是房间首屏只需要的用户展示基础资料。
type RoomBasicUser struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	UserId        int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Username      string                 `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
	Avatar        string                 `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar,omitempty"`
	DisplayUserId string                 `protobuf:"bytes,4,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RoomBasicUser) Reset() {
	*x = RoomBasicUser{}
	mi := &file_proto_user_v1_user_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RoomBasicUser) ProtoMessage() {}

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

// Deprecated: Use RoomBasicUser.ProtoReflect.Descriptor instead.
func (*RoomBasicUser) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{95}
}

func (x *RoomBasicUser) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *RoomBasicUser) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *RoomBasicUser) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

func (x *RoomBasicUser) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

// BatchGetRoomBasicUsersRequest 为房间进房 lite 首屏批量读取最小用户资料。
type BatchGetRoomBasicUsersRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserIds       []int64                `protobuf:"varint,2,rep,packed,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchGetRoomBasicUsersRequest) Reset() {
	*x = BatchGetRoomBasicUsersRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[96]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BatchGetRoomBasicUsersRequest) ProtoMessage() {}

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

// Deprecated: Use BatchGetRoomBasicUsersRequest.ProtoReflect.Descriptor instead.
func (*BatchGetRoomBasicUsersRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{96}
}

func (x *BatchGetRoomBasicUsersRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *BatchGetRoomBasicUsersRequest) GetUserIds() []int64 {
	if x != nil {
		return x.UserIds
	}
	return nil
}

// BatchGetRoomBasicUsersResponse 返回按 user_id 索引的房间首屏基础资料。
type BatchGetRoomBasicUsersResponse struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Users         map[int64]*RoomBasicUser `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BatchGetRoomBasicUsersResponse) Reset() {
	*x = BatchGetRoomBasicUsersResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BatchGetRoomBasicUsersResponse) ProtoMessage() {}

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

// Deprecated: Use BatchGetRoomBasicUsersResponse.ProtoReflect.Descriptor instead.
func (*BatchGetRoomBasicUsersResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{97}
}

func (x *BatchGetRoomBasicUsersResponse) GetUsers() map[int64]*RoomBasicUser {
	if x != nil {
		return x.Users
	}
	return nil
}

// ListUserIDsRequest 给低频后台 fanout/重算任务按 user_id 游标读取目标用户。
type ListUserIDsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	TargetScope   string                 `protobuf:"bytes,2,opt,name=target_scope,json=targetScope,proto3" json:"target_scope,omitempty"`
	CursorUserId  int64                  `protobuf:"varint,3,opt,name=cursor_user_id,json=cursorUserId,proto3" json:"cursor_user_id,omitempty"`
	PageSize      int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	RegionId      int64                  `protobuf:"varint,5,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
	Country       string                 `protobuf:"bytes,6,opt,name=country,proto3" json:"country,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListUserIDsRequest) Reset() {
	*x = ListUserIDsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListUserIDsRequest) ProtoMessage() {}

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

// Deprecated: Use ListUserIDsRequest.ProtoReflect.Descriptor instead.
func (*ListUserIDsRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{98}
}

func (x *ListUserIDsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListUserIDsRequest) GetTargetScope() string {
	if x != nil {
		return x.TargetScope
	}
	return ""
}

func (x *ListUserIDsRequest) GetCursorUserId() int64 {
	if x != nil {
		return x.CursorUserId
	}
	return 0
}

func (x *ListUserIDsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListUserIDsRequest) GetRegionId() int64 {
	if x != nil {
		return x.RegionId
	}
	return 0
}

func (x *ListUserIDsRequest) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

// ListUserIDsResponse 返回一页递增 user_id，调用方必须用 next_cursor_user_id 继续。
type ListUserIDsResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	UserIds          []int64                `protobuf:"varint,1,rep,packed,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
	NextCursorUserId int64                  `protobuf:"varint,2,opt,name=next_cursor_user_id,json=nextCursorUserId,proto3" json:"next_cursor_user_id,omitempty"`
	Done             bool                   `protobuf:"varint,3,opt,name=done,proto3" json:"done,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ListUserIDsResponse) Reset() {
	*x = ListUserIDsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListUserIDsResponse) ProtoMessage() {}

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

// Deprecated: Use ListUserIDsResponse.ProtoReflect.Descriptor instead.
func (*ListUserIDsResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{99}
}

func (x *ListUserIDsResponse) GetUserIds() []int64 {
	if x != nil {
		return x.UserIds
	}
	return nil
}

func (x *ListUserIDsResponse) GetNextCursorUserId() int64 {
	if x != nil {
		return x.NextCursorUserId
	}
	return 0
}

func (x *ListUserIDsResponse) GetDone() bool {
	if x != nil {
		return x.Done
	}
	return false
}

// UpdateUserProfileRequest 修改用户可自助维护的基础资料。
type UpdateUserProfileRequest struct {
	state    protoimpl.MessageState `protogen:"open.v1"`
	Meta     *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId   int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Username *string                `protobuf:"bytes,3,opt,name=username,proto3,oneof" json:"username,omitempty"`
	Avatar   *string                `protobuf:"bytes,4,opt,name=avatar,proto3,oneof" json:"avatar,omitempty"`
	Birth    *string                `protobuf:"bytes,5,opt,name=birth,proto3,oneof" json:"birth,omitempty"`
	Gender   *string                `protobuf:"bytes,6,opt,name=gender,proto3,oneof" json:"gender,omitempty"`
	// avatar_upload_id 由专用头像上传接口签发；权益制 App 修改头像时必须消费该凭证，不能提交任意 URL。
	AvatarUploadId *string `protobuf:"bytes,7,opt,name=avatar_upload_id,json=avatarUploadId,proto3,oneof" json:"avatar_upload_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *UpdateUserProfileRequest) Reset() {
	*x = UpdateUserProfileRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateUserProfileRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateUserProfileRequest.ProtoReflect.Descriptor instead.
func (*UpdateUserProfileRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{100}
}

func (x *UpdateUserProfileRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UpdateUserProfileRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UpdateUserProfileRequest) GetUsername() string {
	if x != nil && x.Username != nil {
		return *x.Username
	}
	return ""
}

func (x *UpdateUserProfileRequest) GetAvatar() string {
	if x != nil && x.Avatar != nil {
		return *x.Avatar
	}
	return ""
}

func (x *UpdateUserProfileRequest) GetBirth() string {
	if x != nil && x.Birth != nil {
		return *x.Birth
	}
	return ""
}

func (x *UpdateUserProfileRequest) GetGender() string {
	if x != nil && x.Gender != nil {
		return *x.Gender
	}
	return ""
}

func (x *UpdateUserProfileRequest) GetAvatarUploadId() string {
	if x != nil && x.AvatarUploadId != nil {
		return *x.AvatarUploadId
	}
	return ""
}

// UpdateUserProfileResponse 返回更新后的用户资料投影。
type UpdateUserProfileResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	User          *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserProfileResponse) Reset() {
	*x = UpdateUserProfileResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[101]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateUserProfileResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateUserProfileResponse.ProtoReflect.Descriptor instead.
func (*UpdateUserProfileResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{101}
}

func (x *UpdateUserProfileResponse) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

// UserAvatarMedia 是 gateway 从原始文件字节解析出的可信媒体事实。
// user-service 会持久化首次授权结果，并在完成上传和资料更新时逐字段复核。
type UserAvatarMedia struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	ObjectKey     string                 `protobuf:"bytes,2,opt,name=object_key,json=objectKey,proto3" json:"object_key,omitempty"`
	ContentType   string                 `protobuf:"bytes,3,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
	Format        string                 `protobuf:"bytes,4,opt,name=format,proto3" json:"format,omitempty"`
	SizeBytes     int64                  `protobuf:"varint,5,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	Width         int32                  `protobuf:"varint,6,opt,name=width,proto3" json:"width,omitempty"`
	Height        int32                  `protobuf:"varint,7,opt,name=height,proto3" json:"height,omitempty"`
	Animated      bool                   `protobuf:"varint,8,opt,name=animated,proto3" json:"animated,omitempty"`
	FrameCount    int32                  `protobuf:"varint,9,opt,name=frame_count,json=frameCount,proto3" json:"frame_count,omitempty"`
	DurationMs    int64                  `protobuf:"varint,10,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
	Sha256        string                 `protobuf:"bytes,11,opt,name=sha256,proto3" json:"sha256,omitempty"`
	Status        string                 `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UserAvatarMedia) Reset() {
	*x = UserAvatarMedia{}
	mi := &file_proto_user_v1_user_proto_msgTypes[102]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UserAvatarMedia) ProtoMessage() {}

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

// Deprecated: Use UserAvatarMedia.ProtoReflect.Descriptor instead.
func (*UserAvatarMedia) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{102}
}

func (x *UserAvatarMedia) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *UserAvatarMedia) GetObjectKey() string {
	if x != nil {
		return x.ObjectKey
	}
	return ""
}

func (x *UserAvatarMedia) GetContentType() string {
	if x != nil {
		return x.ContentType
	}
	return ""
}

func (x *UserAvatarMedia) GetFormat() string {
	if x != nil {
		return x.Format
	}
	return ""
}

func (x *UserAvatarMedia) GetSizeBytes() int64 {
	if x != nil {
		return x.SizeBytes
	}
	return 0
}

func (x *UserAvatarMedia) GetWidth() int32 {
	if x != nil {
		return x.Width
	}
	return 0
}

func (x *UserAvatarMedia) GetHeight() int32 {
	if x != nil {
		return x.Height
	}
	return 0
}

func (x *UserAvatarMedia) GetAnimated() bool {
	if x != nil {
		return x.Animated
	}
	return false
}

func (x *UserAvatarMedia) GetFrameCount() int32 {
	if x != nil {
		return x.FrameCount
	}
	return 0
}

func (x *UserAvatarMedia) GetDurationMs() int64 {
	if x != nil {
		return x.DurationMs
	}
	return 0
}

func (x *UserAvatarMedia) GetSha256() string {
	if x != nil {
		return x.Sha256
	}
	return ""
}

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

// AuthorizeUserAvatarUploadRequest 在 COS PutObject 前占用 command_id 并执行动态头像权益校验。
type AuthorizeUserAvatarUploadRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	CommandId     string                 `protobuf:"bytes,3,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	Media         *UserAvatarMedia       `protobuf:"bytes,4,opt,name=media,proto3" json:"media,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AuthorizeUserAvatarUploadRequest) Reset() {
	*x = AuthorizeUserAvatarUploadRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[103]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AuthorizeUserAvatarUploadRequest) ProtoMessage() {}

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

// Deprecated: Use AuthorizeUserAvatarUploadRequest.ProtoReflect.Descriptor instead.
func (*AuthorizeUserAvatarUploadRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{103}
}

func (x *AuthorizeUserAvatarUploadRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AuthorizeUserAvatarUploadRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *AuthorizeUserAvatarUploadRequest) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *AuthorizeUserAvatarUploadRequest) GetMedia() *UserAvatarMedia {
	if x != nil {
		return x.Media
	}
	return nil
}

type AuthorizeUserAvatarUploadResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Allowed        bool                   `protobuf:"varint,1,opt,name=allowed,proto3" json:"allowed,omitempty"`
	AvatarUploadId string                 `protobuf:"bytes,2,opt,name=avatar_upload_id,json=avatarUploadId,proto3" json:"avatar_upload_id,omitempty"`
	ObjectKey      string                 `protobuf:"bytes,3,opt,name=object_key,json=objectKey,proto3" json:"object_key,omitempty"`
	ServerTimeMs   int64                  `protobuf:"varint,4,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *AuthorizeUserAvatarUploadResponse) Reset() {
	*x = AuthorizeUserAvatarUploadResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[104]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AuthorizeUserAvatarUploadResponse) ProtoMessage() {}

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

// Deprecated: Use AuthorizeUserAvatarUploadResponse.ProtoReflect.Descriptor instead.
func (*AuthorizeUserAvatarUploadResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{104}
}

func (x *AuthorizeUserAvatarUploadResponse) GetAllowed() bool {
	if x != nil {
		return x.Allowed
	}
	return false
}

func (x *AuthorizeUserAvatarUploadResponse) GetAvatarUploadId() string {
	if x != nil {
		return x.AvatarUploadId
	}
	return ""
}

func (x *AuthorizeUserAvatarUploadResponse) GetObjectKey() string {
	if x != nil {
		return x.ObjectKey
	}
	return ""
}

func (x *AuthorizeUserAvatarUploadResponse) GetServerTimeMs() int64 {
	if x != nil {
		return x.ServerTimeMs
	}
	return 0
}

// CompleteUserAvatarUploadRequest 只接受 gateway 成功写入受信 COS 后回传的 URL 和对象键。
type CompleteUserAvatarUploadRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId         int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	AvatarUploadId string                 `protobuf:"bytes,3,opt,name=avatar_upload_id,json=avatarUploadId,proto3" json:"avatar_upload_id,omitempty"`
	Media          *UserAvatarMedia       `protobuf:"bytes,4,opt,name=media,proto3" json:"media,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CompleteUserAvatarUploadRequest) Reset() {
	*x = CompleteUserAvatarUploadRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[105]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CompleteUserAvatarUploadRequest) ProtoMessage() {}

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

// Deprecated: Use CompleteUserAvatarUploadRequest.ProtoReflect.Descriptor instead.
func (*CompleteUserAvatarUploadRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{105}
}

func (x *CompleteUserAvatarUploadRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CompleteUserAvatarUploadRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *CompleteUserAvatarUploadRequest) GetAvatarUploadId() string {
	if x != nil {
		return x.AvatarUploadId
	}
	return ""
}

func (x *CompleteUserAvatarUploadRequest) GetMedia() *UserAvatarMedia {
	if x != nil {
		return x.Media
	}
	return nil
}

type CompleteUserAvatarUploadResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Active         bool                   `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"`
	AvatarUploadId string                 `protobuf:"bytes,2,opt,name=avatar_upload_id,json=avatarUploadId,proto3" json:"avatar_upload_id,omitempty"`
	Media          *UserAvatarMedia       `protobuf:"bytes,3,opt,name=media,proto3" json:"media,omitempty"`
	ServerTimeMs   int64                  `protobuf:"varint,4,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CompleteUserAvatarUploadResponse) Reset() {
	*x = CompleteUserAvatarUploadResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[106]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CompleteUserAvatarUploadResponse) ProtoMessage() {}

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

// Deprecated: Use CompleteUserAvatarUploadResponse.ProtoReflect.Descriptor instead.
func (*CompleteUserAvatarUploadResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{106}
}

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

func (x *CompleteUserAvatarUploadResponse) GetAvatarUploadId() string {
	if x != nil {
		return x.AvatarUploadId
	}
	return ""
}

func (x *CompleteUserAvatarUploadResponse) GetMedia() *UserAvatarMedia {
	if x != nil {
		return x.Media
	}
	return nil
}

func (x *CompleteUserAvatarUploadResponse) GetServerTimeMs() int64 {
	if x != nil {
		return x.ServerTimeMs
	}
	return 0
}

// UpdateUserProfileBackgroundRequest 只修改用户个人信息页背景图。
type UpdateUserProfileBackgroundRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	ProfileBgImg  string                 `protobuf:"bytes,3,opt,name=profile_bg_img,json=profileBgImg,proto3" json:"profile_bg_img,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserProfileBackgroundRequest) Reset() {
	*x = UpdateUserProfileBackgroundRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[107]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateUserProfileBackgroundRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateUserProfileBackgroundRequest.ProtoReflect.Descriptor instead.
func (*UpdateUserProfileBackgroundRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{107}
}

func (x *UpdateUserProfileBackgroundRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UpdateUserProfileBackgroundRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UpdateUserProfileBackgroundRequest) GetProfileBgImg() string {
	if x != nil {
		return x.ProfileBgImg
	}
	return ""
}

// UpdateUserProfileBackgroundResponse 返回写入后的用户资料投影。
type UpdateUserProfileBackgroundResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	User          *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserProfileBackgroundResponse) Reset() {
	*x = UpdateUserProfileBackgroundResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[108]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateUserProfileBackgroundResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateUserProfileBackgroundResponse.ProtoReflect.Descriptor instead.
func (*UpdateUserProfileBackgroundResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{108}
}

func (x *UpdateUserProfileBackgroundResponse) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

// UpdateUserContactInfoRequest 只修改用户主资料上的联系方式，供不同经营身份共用。
type UpdateUserContactInfoRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	ContactInfo   string                 `protobuf:"bytes,3,opt,name=contact_info,json=contactInfo,proto3" json:"contact_info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserContactInfoRequest) Reset() {
	*x = UpdateUserContactInfoRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[109]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateUserContactInfoRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateUserContactInfoRequest.ProtoReflect.Descriptor instead.
func (*UpdateUserContactInfoRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{109}
}

func (x *UpdateUserContactInfoRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UpdateUserContactInfoRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UpdateUserContactInfoRequest) GetContactInfo() string {
	if x != nil {
		return x.ContactInfo
	}
	return ""
}

// UpdateUserContactInfoResponse 返回写入后的用户资料投影。
type UpdateUserContactInfoResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	User          *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserContactInfoResponse) Reset() {
	*x = UpdateUserContactInfoResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[110]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateUserContactInfoResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateUserContactInfoResponse.ProtoReflect.Descriptor instead.
func (*UpdateUserContactInfoResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{110}
}

func (x *UpdateUserContactInfoResponse) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

// UpdateUserWithdrawAddressRequest 只修改用户默认提现地址，提现订单会在 wallet-service 另行快照。
type UpdateUserWithdrawAddressRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Meta             *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId           int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	UsdtTrc20Address string                 `protobuf:"bytes,3,opt,name=usdt_trc20_address,json=usdtTrc20Address,proto3" json:"usdt_trc20_address,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *UpdateUserWithdrawAddressRequest) Reset() {
	*x = UpdateUserWithdrawAddressRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[111]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateUserWithdrawAddressRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateUserWithdrawAddressRequest.ProtoReflect.Descriptor instead.
func (*UpdateUserWithdrawAddressRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{111}
}

func (x *UpdateUserWithdrawAddressRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UpdateUserWithdrawAddressRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UpdateUserWithdrawAddressRequest) GetUsdtTrc20Address() string {
	if x != nil {
		return x.UsdtTrc20Address
	}
	return ""
}

// UpdateUserWithdrawAddressResponse 返回写入后的用户资料投影。
type UpdateUserWithdrawAddressResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	User          *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateUserWithdrawAddressResponse) Reset() {
	*x = UpdateUserWithdrawAddressResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[112]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateUserWithdrawAddressResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateUserWithdrawAddressResponse.ProtoReflect.Descriptor instead.
func (*UpdateUserWithdrawAddressResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{112}
}

func (x *UpdateUserWithdrawAddressResponse) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

// ChangeUserCountryRequest 是 App 用户自助修改国家入口；受限业务身份不允许自助修改。
type ChangeUserCountryRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Country       string                 `protobuf:"bytes,3,opt,name=country,proto3" json:"country,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChangeUserCountryRequest) Reset() {
	*x = ChangeUserCountryRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[113]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChangeUserCountryRequest) ProtoMessage() {}

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

// Deprecated: Use ChangeUserCountryRequest.ProtoReflect.Descriptor instead.
func (*ChangeUserCountryRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{113}
}

func (x *ChangeUserCountryRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ChangeUserCountryRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ChangeUserCountryRequest) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

// AdminChangeUserCountryRequest 是后台显式覆盖用户国家入口；它绕过 App 自助身份限制。
type AdminChangeUserCountryRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	TargetUserId  int64                  `protobuf:"varint,2,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	Country       string                 `protobuf:"bytes,3,opt,name=country,proto3" json:"country,omitempty"`
	AdminUserId   int64                  `protobuf:"varint,4,opt,name=admin_user_id,json=adminUserId,proto3" json:"admin_user_id,omitempty"`
	Reason        string                 `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdminChangeUserCountryRequest) Reset() {
	*x = AdminChangeUserCountryRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[114]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminChangeUserCountryRequest) ProtoMessage() {}

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

// Deprecated: Use AdminChangeUserCountryRequest.ProtoReflect.Descriptor instead.
func (*AdminChangeUserCountryRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{114}
}

func (x *AdminChangeUserCountryRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AdminChangeUserCountryRequest) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *AdminChangeUserCountryRequest) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

func (x *AdminChangeUserCountryRequest) GetAdminUserId() int64 {
	if x != nil {
		return x.AdminUserId
	}
	return 0
}

func (x *AdminChangeUserCountryRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

// ChangeUserCountryResponse 返回更新后的用户资料和下一次可修改时间。
type ChangeUserCountryResponse struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	User                  *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	NextChangeAllowedAtMs int64                  `protobuf:"varint,2,opt,name=next_change_allowed_at_ms,json=nextChangeAllowedAtMs,proto3" json:"next_change_allowed_at_ms,omitempty"`
	OldRegionId           int64                  `protobuf:"varint,3,opt,name=old_region_id,json=oldRegionId,proto3" json:"old_region_id,omitempty"`
	NewRegionId           int64                  `protobuf:"varint,4,opt,name=new_region_id,json=newRegionId,proto3" json:"new_region_id,omitempty"`
	RegionChanged         bool                   `protobuf:"varint,5,opt,name=region_changed,json=regionChanged,proto3" json:"region_changed,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *ChangeUserCountryResponse) Reset() {
	*x = ChangeUserCountryResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[115]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChangeUserCountryResponse) ProtoMessage() {}

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

// Deprecated: Use ChangeUserCountryResponse.ProtoReflect.Descriptor instead.
func (*ChangeUserCountryResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{115}
}

func (x *ChangeUserCountryResponse) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *ChangeUserCountryResponse) GetNextChangeAllowedAtMs() int64 {
	if x != nil {
		return x.NextChangeAllowedAtMs
	}
	return 0
}

func (x *ChangeUserCountryResponse) GetOldRegionId() int64 {
	if x != nil {
		return x.OldRegionId
	}
	return 0
}

func (x *ChangeUserCountryResponse) GetNewRegionId() int64 {
	if x != nil {
		return x.NewRegionId
	}
	return 0
}

func (x *ChangeUserCountryResponse) GetRegionChanged() bool {
	if x != nil {
		return x.RegionChanged
	}
	return false
}

// SetUserStatusRequest 是封禁、停用和恢复用户的通用内部入口。
// 非 active 状态会同步吊销 refresh session，并把仍在有效期内的 access session 写入 gateway denylist。
type SetUserStatusRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	TargetUserId   int64                  `protobuf:"varint,2,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	Status         UserStatus             `protobuf:"varint,3,opt,name=status,proto3,enum=hyapp.user.v1.UserStatus" json:"status,omitempty"`
	OperatorUserId int64                  `protobuf:"varint,4,opt,name=operator_user_id,json=operatorUserId,proto3" json:"operator_user_id,omitempty"`
	Reason         string                 `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	// operator_type 区分 admin、app_user、system，避免不同身份体系共用一个整数 ID 后无法追溯。
	OperatorType  string `protobuf:"bytes,6,opt,name=operator_type,json=operatorType,proto3" json:"operator_type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetUserStatusRequest) Reset() {
	*x = SetUserStatusRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[116]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SetUserStatusRequest) ProtoMessage() {}

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

// Deprecated: Use SetUserStatusRequest.ProtoReflect.Descriptor instead.
func (*SetUserStatusRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{116}
}

func (x *SetUserStatusRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *SetUserStatusRequest) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *SetUserStatusRequest) GetStatus() UserStatus {
	if x != nil {
		return x.Status
	}
	return UserStatus_USER_STATUS_UNSPECIFIED
}

func (x *SetUserStatusRequest) GetOperatorUserId() int64 {
	if x != nil {
		return x.OperatorUserId
	}
	return 0
}

func (x *SetUserStatusRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *SetUserStatusRequest) GetOperatorType() string {
	if x != nil {
		return x.OperatorType
	}
	return ""
}

// SetUserStatusResponse 返回用户当前状态和封禁相关副作用结果。
// 外部副作用字段用于后台或 App 管理入口判断是否需要重试补偿。
type SetUserStatusResponse struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	User                   *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	RevokedSessionCount    int64                  `protobuf:"varint,2,opt,name=revoked_session_count,json=revokedSessionCount,proto3" json:"revoked_session_count,omitempty"`
	ImKicked               bool                   `protobuf:"varint,3,opt,name=im_kicked,json=imKicked,proto3" json:"im_kicked,omitempty"`
	ImKickError            string                 `protobuf:"bytes,4,opt,name=im_kick_error,json=imKickError,proto3" json:"im_kick_error,omitempty"`
	RoomEvicted            bool                   `protobuf:"varint,5,opt,name=room_evicted,json=roomEvicted,proto3" json:"room_evicted,omitempty"`
	RoomId                 string                 `protobuf:"bytes,6,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
	RtcKicked              bool                   `protobuf:"varint,7,opt,name=rtc_kicked,json=rtcKicked,proto3" json:"rtc_kicked,omitempty"`
	RoomEvictError         string                 `protobuf:"bytes,8,opt,name=room_evict_error,json=roomEvictError,proto3" json:"room_evict_error,omitempty"`
	RtcKickError           string                 `protobuf:"bytes,9,opt,name=rtc_kick_error,json=rtcKickError,proto3" json:"rtc_kick_error,omitempty"`
	AccessTokenRevoked     bool                   `protobuf:"varint,10,opt,name=access_token_revoked,json=accessTokenRevoked,proto3" json:"access_token_revoked,omitempty"`
	AccessTokenRevokeError string                 `protobuf:"bytes,11,opt,name=access_token_revoke_error,json=accessTokenRevokeError,proto3" json:"access_token_revoke_error,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *SetUserStatusResponse) Reset() {
	*x = SetUserStatusResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[117]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SetUserStatusResponse) ProtoMessage() {}

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

// Deprecated: Use SetUserStatusResponse.ProtoReflect.Descriptor instead.
func (*SetUserStatusResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{117}
}

func (x *SetUserStatusResponse) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *SetUserStatusResponse) GetRevokedSessionCount() int64 {
	if x != nil {
		return x.RevokedSessionCount
	}
	return 0
}

func (x *SetUserStatusResponse) GetImKicked() bool {
	if x != nil {
		return x.ImKicked
	}
	return false
}

func (x *SetUserStatusResponse) GetImKickError() string {
	if x != nil {
		return x.ImKickError
	}
	return ""
}

func (x *SetUserStatusResponse) GetRoomEvicted() bool {
	if x != nil {
		return x.RoomEvicted
	}
	return false
}

func (x *SetUserStatusResponse) GetRoomId() string {
	if x != nil {
		return x.RoomId
	}
	return ""
}

func (x *SetUserStatusResponse) GetRtcKicked() bool {
	if x != nil {
		return x.RtcKicked
	}
	return false
}

func (x *SetUserStatusResponse) GetRoomEvictError() string {
	if x != nil {
		return x.RoomEvictError
	}
	return ""
}

func (x *SetUserStatusResponse) GetRtcKickError() string {
	if x != nil {
		return x.RtcKickError
	}
	return ""
}

func (x *SetUserStatusResponse) GetAccessTokenRevoked() bool {
	if x != nil {
		return x.AccessTokenRevoked
	}
	return false
}

func (x *SetUserStatusResponse) GetAccessTokenRevokeError() string {
	if x != nil {
		return x.AccessTokenRevokeError
	}
	return ""
}

// AdminUserBan 是后台管理员封禁的独立事实；expires_at_ms=0 表示永久封禁。
type AdminUserBan struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	BanId             string                 `protobuf:"bytes,1,opt,name=ban_id,json=banId,proto3" json:"ban_id,omitempty"`
	CommandId         string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	TargetUserId      int64                  `protobuf:"varint,3,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	ExpiresAtMs       int64                  `protobuf:"varint,4,opt,name=expires_at_ms,json=expiresAtMs,proto3" json:"expires_at_ms,omitempty"`
	Permanent         bool                   `protobuf:"varint,5,opt,name=permanent,proto3" json:"permanent,omitempty"`
	Status            string                 `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	Reason            string                 `protobuf:"bytes,7,opt,name=reason,proto3" json:"reason,omitempty"`
	OperatorAdminId   int64                  `protobuf:"varint,8,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	CreatedAtMs       int64                  `protobuf:"varint,9,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs       int64                  `protobuf:"varint,10,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	ReleasedByAdminId int64                  `protobuf:"varint,11,opt,name=released_by_admin_id,json=releasedByAdminId,proto3" json:"released_by_admin_id,omitempty"`
	ReleasedReason    string                 `protobuf:"bytes,12,opt,name=released_reason,json=releasedReason,proto3" json:"released_reason,omitempty"`
	ReleasedAtMs      int64                  `protobuf:"varint,13,opt,name=released_at_ms,json=releasedAtMs,proto3" json:"released_at_ms,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *AdminUserBan) Reset() {
	*x = AdminUserBan{}
	mi := &file_proto_user_v1_user_proto_msgTypes[118]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminUserBan) ProtoMessage() {}

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

// Deprecated: Use AdminUserBan.ProtoReflect.Descriptor instead.
func (*AdminUserBan) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{118}
}

func (x *AdminUserBan) GetBanId() string {
	if x != nil {
		return x.BanId
	}
	return ""
}

func (x *AdminUserBan) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *AdminUserBan) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *AdminUserBan) GetExpiresAtMs() int64 {
	if x != nil {
		return x.ExpiresAtMs
	}
	return 0
}

func (x *AdminUserBan) GetPermanent() bool {
	if x != nil {
		return x.Permanent
	}
	return false
}

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

func (x *AdminUserBan) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *AdminUserBan) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

func (x *AdminUserBan) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *AdminUserBan) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *AdminUserBan) GetReleasedByAdminId() int64 {
	if x != nil {
		return x.ReleasedByAdminId
	}
	return 0
}

func (x *AdminUserBan) GetReleasedReason() string {
	if x != nil {
		return x.ReleasedReason
	}
	return ""
}

func (x *AdminUserBan) GetReleasedAtMs() int64 {
	if x != nil {
		return x.ReleasedAtMs
	}
	return 0
}

type AdminBanUserRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	CommandId       string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	TargetUserId    int64                  `protobuf:"varint,3,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	ExpiresAtMs     int64                  `protobuf:"varint,4,opt,name=expires_at_ms,json=expiresAtMs,proto3" json:"expires_at_ms,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,5,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	Reason          string                 `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *AdminBanUserRequest) Reset() {
	*x = AdminBanUserRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[119]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminBanUserRequest) ProtoMessage() {}

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

// Deprecated: Use AdminBanUserRequest.ProtoReflect.Descriptor instead.
func (*AdminBanUserRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{119}
}

func (x *AdminBanUserRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AdminBanUserRequest) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *AdminBanUserRequest) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *AdminBanUserRequest) GetExpiresAtMs() int64 {
	if x != nil {
		return x.ExpiresAtMs
	}
	return 0
}

func (x *AdminBanUserRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

func (x *AdminBanUserRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type AdminBanUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ban           *AdminUserBan          `protobuf:"bytes,1,opt,name=ban,proto3" json:"ban,omitempty"`
	Status        *SetUserStatusResponse `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdminBanUserResponse) Reset() {
	*x = AdminBanUserResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[120]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminBanUserResponse) ProtoMessage() {}

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

// Deprecated: Use AdminBanUserResponse.ProtoReflect.Descriptor instead.
func (*AdminBanUserResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{120}
}

func (x *AdminBanUserResponse) GetBan() *AdminUserBan {
	if x != nil {
		return x.Ban
	}
	return nil
}

func (x *AdminBanUserResponse) GetStatus() *SetUserStatusResponse {
	if x != nil {
		return x.Status
	}
	return nil
}

// AdminUnbanUserRequest 由后台管理员强制释放目标用户全部管理员、经理和 legacy 封禁来源。
type AdminUnbanUserRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Meta  *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	// ban_id 已废弃；保留字段号用于滚动发布兼容，强制解封始终按 target_user_id 处理全部有效事实。
	BanId           string `protobuf:"bytes,2,opt,name=ban_id,json=banId,proto3" json:"ban_id,omitempty"`
	TargetUserId    int64  `protobuf:"varint,3,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	OperatorAdminId int64  `protobuf:"varint,4,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	Reason          string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *AdminUnbanUserRequest) Reset() {
	*x = AdminUnbanUserRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[121]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminUnbanUserRequest) ProtoMessage() {}

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

// Deprecated: Use AdminUnbanUserRequest.ProtoReflect.Descriptor instead.
func (*AdminUnbanUserRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{121}
}

func (x *AdminUnbanUserRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AdminUnbanUserRequest) GetBanId() string {
	if x != nil {
		return x.BanId
	}
	return ""
}

func (x *AdminUnbanUserRequest) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *AdminUnbanUserRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

func (x *AdminUnbanUserRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type AdminUnbanUserResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// ban 仅为旧客户端保留；强制解封可能只释放经理或 legacy 来源，因此新调用方不应依赖该字段。
	Ban                       *AdminUserBan          `protobuf:"bytes,1,opt,name=ban,proto3" json:"ban,omitempty"`
	Status                    *SetUserStatusResponse `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	ReleasedAdminBanCount     int64                  `protobuf:"varint,3,opt,name=released_admin_ban_count,json=releasedAdminBanCount,proto3" json:"released_admin_ban_count,omitempty"`
	ReleasedManagerBlockCount int64                  `protobuf:"varint,4,opt,name=released_manager_block_count,json=releasedManagerBlockCount,proto3" json:"released_manager_block_count,omitempty"`
	StatusRestored            bool                   `protobuf:"varint,5,opt,name=status_restored,json=statusRestored,proto3" json:"status_restored,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *AdminUnbanUserResponse) Reset() {
	*x = AdminUnbanUserResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[122]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminUnbanUserResponse) ProtoMessage() {}

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

// Deprecated: Use AdminUnbanUserResponse.ProtoReflect.Descriptor instead.
func (*AdminUnbanUserResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{122}
}

func (x *AdminUnbanUserResponse) GetBan() *AdminUserBan {
	if x != nil {
		return x.Ban
	}
	return nil
}

func (x *AdminUnbanUserResponse) GetStatus() *SetUserStatusResponse {
	if x != nil {
		return x.Status
	}
	return nil
}

func (x *AdminUnbanUserResponse) GetReleasedAdminBanCount() int64 {
	if x != nil {
		return x.ReleasedAdminBanCount
	}
	return 0
}

func (x *AdminUnbanUserResponse) GetReleasedManagerBlockCount() int64 {
	if x != nil {
		return x.ReleasedManagerBlockCount
	}
	return 0
}

func (x *AdminUnbanUserResponse) GetStatusRestored() bool {
	if x != nil {
		return x.StatusRestored
	}
	return false
}

type ManagerUserBlock struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	BlockId             string                 `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
	ManagerUserId       int64                  `protobuf:"varint,2,opt,name=manager_user_id,json=managerUserId,proto3" json:"manager_user_id,omitempty"`
	TargetUserId        int64                  `protobuf:"varint,3,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	TargetDisplayUserId string                 `protobuf:"bytes,4,opt,name=target_display_user_id,json=targetDisplayUserId,proto3" json:"target_display_user_id,omitempty"`
	TargetUsername      string                 `protobuf:"bytes,5,opt,name=target_username,json=targetUsername,proto3" json:"target_username,omitempty"`
	TargetAvatar        string                 `protobuf:"bytes,6,opt,name=target_avatar,json=targetAvatar,proto3" json:"target_avatar,omitempty"`
	Country             string                 `protobuf:"bytes,7,opt,name=country,proto3" json:"country,omitempty"`
	BlockedUntilMs      int64                  `protobuf:"varint,8,opt,name=blocked_until_ms,json=blockedUntilMs,proto3" json:"blocked_until_ms,omitempty"`
	Status              string                 `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"`
	Reason              string                 `protobuf:"bytes,10,opt,name=reason,proto3" json:"reason,omitempty"`
	CreatedAtMs         int64                  `protobuf:"varint,11,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs         int64                  `protobuf:"varint,12,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *ManagerUserBlock) Reset() {
	*x = ManagerUserBlock{}
	mi := &file_proto_user_v1_user_proto_msgTypes[123]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ManagerUserBlock) ProtoMessage() {}

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

// Deprecated: Use ManagerUserBlock.ProtoReflect.Descriptor instead.
func (*ManagerUserBlock) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{123}
}

func (x *ManagerUserBlock) GetBlockId() string {
	if x != nil {
		return x.BlockId
	}
	return ""
}

func (x *ManagerUserBlock) GetManagerUserId() int64 {
	if x != nil {
		return x.ManagerUserId
	}
	return 0
}

func (x *ManagerUserBlock) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *ManagerUserBlock) GetTargetDisplayUserId() string {
	if x != nil {
		return x.TargetDisplayUserId
	}
	return ""
}

func (x *ManagerUserBlock) GetTargetUsername() string {
	if x != nil {
		return x.TargetUsername
	}
	return ""
}

func (x *ManagerUserBlock) GetTargetAvatar() string {
	if x != nil {
		return x.TargetAvatar
	}
	return ""
}

func (x *ManagerUserBlock) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

func (x *ManagerUserBlock) GetBlockedUntilMs() int64 {
	if x != nil {
		return x.BlockedUntilMs
	}
	return 0
}

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

func (x *ManagerUserBlock) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *ManagerUserBlock) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *ManagerUserBlock) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

type CreateManagerUserBlockRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	CommandId      string                 `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"`
	ManagerUserId  int64                  `protobuf:"varint,3,opt,name=manager_user_id,json=managerUserId,proto3" json:"manager_user_id,omitempty"`
	TargetUserId   int64                  `protobuf:"varint,4,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	BlockedUntilMs int64                  `protobuf:"varint,5,opt,name=blocked_until_ms,json=blockedUntilMs,proto3" json:"blocked_until_ms,omitempty"`
	Reason         string                 `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CreateManagerUserBlockRequest) Reset() {
	*x = CreateManagerUserBlockRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[124]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateManagerUserBlockRequest) ProtoMessage() {}

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

// Deprecated: Use CreateManagerUserBlockRequest.ProtoReflect.Descriptor instead.
func (*CreateManagerUserBlockRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{124}
}

func (x *CreateManagerUserBlockRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CreateManagerUserBlockRequest) GetCommandId() string {
	if x != nil {
		return x.CommandId
	}
	return ""
}

func (x *CreateManagerUserBlockRequest) GetManagerUserId() int64 {
	if x != nil {
		return x.ManagerUserId
	}
	return 0
}

func (x *CreateManagerUserBlockRequest) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *CreateManagerUserBlockRequest) GetBlockedUntilMs() int64 {
	if x != nil {
		return x.BlockedUntilMs
	}
	return 0
}

func (x *CreateManagerUserBlockRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type CreateManagerUserBlockResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Block         *ManagerUserBlock      `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
	Status        *SetUserStatusResponse `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateManagerUserBlockResponse) Reset() {
	*x = CreateManagerUserBlockResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[125]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateManagerUserBlockResponse) ProtoMessage() {}

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

// Deprecated: Use CreateManagerUserBlockResponse.ProtoReflect.Descriptor instead.
func (*CreateManagerUserBlockResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{125}
}

func (x *CreateManagerUserBlockResponse) GetBlock() *ManagerUserBlock {
	if x != nil {
		return x.Block
	}
	return nil
}

func (x *CreateManagerUserBlockResponse) GetStatus() *SetUserStatusResponse {
	if x != nil {
		return x.Status
	}
	return nil
}

type ListManagerUserBlocksRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	ManagerUserId int64                  `protobuf:"varint,2,opt,name=manager_user_id,json=managerUserId,proto3" json:"manager_user_id,omitempty"`
	Status        string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	PageSize      int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListManagerUserBlocksRequest) Reset() {
	*x = ListManagerUserBlocksRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[126]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListManagerUserBlocksRequest) ProtoMessage() {}

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

// Deprecated: Use ListManagerUserBlocksRequest.ProtoReflect.Descriptor instead.
func (*ListManagerUserBlocksRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{126}
}

func (x *ListManagerUserBlocksRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListManagerUserBlocksRequest) GetManagerUserId() int64 {
	if x != nil {
		return x.ManagerUserId
	}
	return 0
}

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

func (x *ListManagerUserBlocksRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListManagerUserBlocksResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Blocks        []*ManagerUserBlock    `protobuf:"bytes,1,rep,name=blocks,proto3" json:"blocks,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListManagerUserBlocksResponse) Reset() {
	*x = ListManagerUserBlocksResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[127]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListManagerUserBlocksResponse) ProtoMessage() {}

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

// Deprecated: Use ListManagerUserBlocksResponse.ProtoReflect.Descriptor instead.
func (*ListManagerUserBlocksResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{127}
}

func (x *ListManagerUserBlocksResponse) GetBlocks() []*ManagerUserBlock {
	if x != nil {
		return x.Blocks
	}
	return nil
}

type UnblockManagerUserRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	ManagerUserId int64                  `protobuf:"varint,2,opt,name=manager_user_id,json=managerUserId,proto3" json:"manager_user_id,omitempty"`
	BlockId       string                 `protobuf:"bytes,3,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
	Reason        string                 `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnblockManagerUserRequest) Reset() {
	*x = UnblockManagerUserRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[128]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UnblockManagerUserRequest) ProtoMessage() {}

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

// Deprecated: Use UnblockManagerUserRequest.ProtoReflect.Descriptor instead.
func (*UnblockManagerUserRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{128}
}

func (x *UnblockManagerUserRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UnblockManagerUserRequest) GetManagerUserId() int64 {
	if x != nil {
		return x.ManagerUserId
	}
	return 0
}

func (x *UnblockManagerUserRequest) GetBlockId() string {
	if x != nil {
		return x.BlockId
	}
	return ""
}

func (x *UnblockManagerUserRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type UnblockManagerUserResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Block         *ManagerUserBlock      `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
	Status        *SetUserStatusResponse `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UnblockManagerUserResponse) Reset() {
	*x = UnblockManagerUserResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[129]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UnblockManagerUserResponse) ProtoMessage() {}

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

// Deprecated: Use UnblockManagerUserResponse.ProtoReflect.Descriptor instead.
func (*UnblockManagerUserResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{129}
}

func (x *UnblockManagerUserResponse) GetBlock() *ManagerUserBlock {
	if x != nil {
		return x.Block
	}
	return nil
}

func (x *UnblockManagerUserResponse) GetStatus() *SetUserStatusResponse {
	if x != nil {
		return x.Status
	}
	return nil
}

// CompleteOnboardingRequest 是注册页唯一资料提交入口。
type CompleteOnboardingRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Username      string                 `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"`
	Avatar        string                 `protobuf:"bytes,4,opt,name=avatar,proto3" json:"avatar,omitempty"`
	Country       string                 `protobuf:"bytes,5,opt,name=country,proto3" json:"country,omitempty"`
	Gender        string                 `protobuf:"bytes,6,opt,name=gender,proto3" json:"gender,omitempty"`
	InviteCode    string                 `protobuf:"bytes,7,opt,name=invite_code,json=inviteCode,proto3" json:"invite_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CompleteOnboardingRequest) Reset() {
	*x = CompleteOnboardingRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[130]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CompleteOnboardingRequest) ProtoMessage() {}

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

// Deprecated: Use CompleteOnboardingRequest.ProtoReflect.Descriptor instead.
func (*CompleteOnboardingRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{130}
}

func (x *CompleteOnboardingRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *CompleteOnboardingRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *CompleteOnboardingRequest) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *CompleteOnboardingRequest) GetAvatar() string {
	if x != nil {
		return x.Avatar
	}
	return ""
}

func (x *CompleteOnboardingRequest) GetCountry() string {
	if x != nil {
		return x.Country
	}
	return ""
}

func (x *CompleteOnboardingRequest) GetGender() string {
	if x != nil {
		return x.Gender
	}
	return ""
}

func (x *CompleteOnboardingRequest) GetInviteCode() string {
	if x != nil {
		return x.InviteCode
	}
	return ""
}

// CompleteOnboardingResponse 返回固化后的最小注册状态。
type CompleteOnboardingResponse struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	User                 *User                  `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	ProfileCompleted     bool                   `protobuf:"varint,2,opt,name=profile_completed,json=profileCompleted,proto3" json:"profile_completed,omitempty"`
	ProfileCompletedAtMs int64                  `protobuf:"varint,3,opt,name=profile_completed_at_ms,json=profileCompletedAtMs,proto3" json:"profile_completed_at_ms,omitempty"`
	OnboardingStatus     string                 `protobuf:"bytes,4,opt,name=onboarding_status,json=onboardingStatus,proto3" json:"onboarding_status,omitempty"`
	Token                *AuthToken             `protobuf:"bytes,5,opt,name=token,proto3" json:"token,omitempty"`
	Invite               *InviteBinding         `protobuf:"bytes,6,opt,name=invite,proto3" json:"invite,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *CompleteOnboardingResponse) Reset() {
	*x = CompleteOnboardingResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[131]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CompleteOnboardingResponse) ProtoMessage() {}

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

// Deprecated: Use CompleteOnboardingResponse.ProtoReflect.Descriptor instead.
func (*CompleteOnboardingResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{131}
}

func (x *CompleteOnboardingResponse) GetUser() *User {
	if x != nil {
		return x.User
	}
	return nil
}

func (x *CompleteOnboardingResponse) GetProfileCompleted() bool {
	if x != nil {
		return x.ProfileCompleted
	}
	return false
}

func (x *CompleteOnboardingResponse) GetProfileCompletedAtMs() int64 {
	if x != nil {
		return x.ProfileCompletedAtMs
	}
	return 0
}

func (x *CompleteOnboardingResponse) GetOnboardingStatus() string {
	if x != nil {
		return x.OnboardingStatus
	}
	return ""
}

func (x *CompleteOnboardingResponse) GetToken() *AuthToken {
	if x != nil {
		return x.Token
	}
	return nil
}

func (x *CompleteOnboardingResponse) GetInvite() *InviteBinding {
	if x != nil {
		return x.Invite
	}
	return nil
}

// SearchInviteReferrerRequest 用当前用户国家约束可绑定邀请码的搜索范围。
type SearchInviteReferrerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	InviteCode    string                 `protobuf:"bytes,3,opt,name=invite_code,json=inviteCode,proto3" json:"invite_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchInviteReferrerRequest) Reset() {
	*x = SearchInviteReferrerRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[132]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SearchInviteReferrerRequest) ProtoMessage() {}

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

// Deprecated: Use SearchInviteReferrerRequest.ProtoReflect.Descriptor instead.
func (*SearchInviteReferrerRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{132}
}

func (x *SearchInviteReferrerRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *SearchInviteReferrerRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *SearchInviteReferrerRequest) GetInviteCode() string {
	if x != nil {
		return x.InviteCode
	}
	return ""
}

type SearchInviteReferrerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Inviter       *User                  `protobuf:"bytes,1,opt,name=inviter,proto3" json:"inviter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SearchInviteReferrerResponse) Reset() {
	*x = SearchInviteReferrerResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[133]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SearchInviteReferrerResponse) ProtoMessage() {}

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

// Deprecated: Use SearchInviteReferrerResponse.ProtoReflect.Descriptor instead.
func (*SearchInviteReferrerResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{133}
}

func (x *SearchInviteReferrerResponse) GetInviter() *User {
	if x != nil {
		return x.Inviter
	}
	return nil
}

// BindInviteReferrerRequest 只接受用户输入的邀请码，归属由 user-service 事务内读取。
type BindInviteReferrerRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	InviteCode    string                 `protobuf:"bytes,3,opt,name=invite_code,json=inviteCode,proto3" json:"invite_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BindInviteReferrerRequest) Reset() {
	*x = BindInviteReferrerRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[134]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BindInviteReferrerRequest) ProtoMessage() {}

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

// Deprecated: Use BindInviteReferrerRequest.ProtoReflect.Descriptor instead.
func (*BindInviteReferrerRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{134}
}

func (x *BindInviteReferrerRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *BindInviteReferrerRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *BindInviteReferrerRequest) GetInviteCode() string {
	if x != nil {
		return x.InviteCode
	}
	return ""
}

type BindInviteReferrerResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Invite        *InviteBinding         `protobuf:"bytes,1,opt,name=invite,proto3" json:"invite,omitempty"`
	Inviter       *User                  `protobuf:"bytes,2,opt,name=inviter,proto3" json:"inviter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BindInviteReferrerResponse) Reset() {
	*x = BindInviteReferrerResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[135]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BindInviteReferrerResponse) ProtoMessage() {}

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

// Deprecated: Use BindInviteReferrerResponse.ProtoReflect.Descriptor instead.
func (*BindInviteReferrerResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{135}
}

func (x *BindInviteReferrerResponse) GetInvite() *InviteBinding {
	if x != nil {
		return x.Invite
	}
	return nil
}

func (x *BindInviteReferrerResponse) GetInviter() *User {
	if x != nil {
		return x.Inviter
	}
	return nil
}

// BindPushTokenRequest 绑定当前登录用户的系统推送 token。
// push token 只服务离线触达，不作为登录凭证或设备身份凭证。
type BindPushTokenRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	DeviceId      string                 `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	PushToken     string                 `protobuf:"bytes,4,opt,name=push_token,json=pushToken,proto3" json:"push_token,omitempty"`
	Provider      string                 `protobuf:"bytes,5,opt,name=provider,proto3" json:"provider,omitempty"`
	Platform      string                 `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform,omitempty"`
	AppVersion    string                 `protobuf:"bytes,7,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
	Language      string                 `protobuf:"bytes,8,opt,name=language,proto3" json:"language,omitempty"`
	Timezone      string                 `protobuf:"bytes,9,opt,name=timezone,proto3" json:"timezone,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BindPushTokenRequest) Reset() {
	*x = BindPushTokenRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[136]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BindPushTokenRequest) ProtoMessage() {}

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

// Deprecated: Use BindPushTokenRequest.ProtoReflect.Descriptor instead.
func (*BindPushTokenRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{136}
}

func (x *BindPushTokenRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *BindPushTokenRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *BindPushTokenRequest) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *BindPushTokenRequest) GetPushToken() string {
	if x != nil {
		return x.PushToken
	}
	return ""
}

func (x *BindPushTokenRequest) GetProvider() string {
	if x != nil {
		return x.Provider
	}
	return ""
}

func (x *BindPushTokenRequest) GetPlatform() string {
	if x != nil {
		return x.Platform
	}
	return ""
}

func (x *BindPushTokenRequest) GetAppVersion() string {
	if x != nil {
		return x.AppVersion
	}
	return ""
}

func (x *BindPushTokenRequest) GetLanguage() string {
	if x != nil {
		return x.Language
	}
	return ""
}

func (x *BindPushTokenRequest) GetTimezone() string {
	if x != nil {
		return x.Timezone
	}
	return ""
}

type BindPushTokenResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Bound         bool                   `protobuf:"varint,1,opt,name=bound,proto3" json:"bound,omitempty"`
	UpdatedAtMs   int64                  `protobuf:"varint,2,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BindPushTokenResponse) Reset() {
	*x = BindPushTokenResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[137]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*BindPushTokenResponse) ProtoMessage() {}

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

// Deprecated: Use BindPushTokenResponse.ProtoReflect.Descriptor instead.
func (*BindPushTokenResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{137}
}

func (x *BindPushTokenResponse) GetBound() bool {
	if x != nil {
		return x.Bound
	}
	return false
}

func (x *BindPushTokenResponse) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

// DeletePushTokenRequest 删除或失效当前登录用户的系统推送 token。
// push_token 可为空；为空时按 user_id + device_id 失效该设备的 active token。
type DeletePushTokenRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	DeviceId      string                 `protobuf:"bytes,3,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	PushToken     string                 `protobuf:"bytes,4,opt,name=push_token,json=pushToken,proto3" json:"push_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePushTokenRequest) Reset() {
	*x = DeletePushTokenRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[138]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeletePushTokenRequest) ProtoMessage() {}

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

// Deprecated: Use DeletePushTokenRequest.ProtoReflect.Descriptor instead.
func (*DeletePushTokenRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{138}
}

func (x *DeletePushTokenRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *DeletePushTokenRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *DeletePushTokenRequest) GetDeviceId() string {
	if x != nil {
		return x.DeviceId
	}
	return ""
}

func (x *DeletePushTokenRequest) GetPushToken() string {
	if x != nil {
		return x.PushToken
	}
	return ""
}

type DeletePushTokenResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Deleted       bool                   `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"`
	UpdatedAtMs   int64                  `protobuf:"varint,2,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeletePushTokenResponse) Reset() {
	*x = DeletePushTokenResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[139]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeletePushTokenResponse) ProtoMessage() {}

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

// Deprecated: Use DeletePushTokenResponse.ProtoReflect.Descriptor instead.
func (*DeletePushTokenResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{139}
}

func (x *DeletePushTokenResponse) GetDeleted() bool {
	if x != nil {
		return x.Deleted
	}
	return false
}

func (x *DeletePushTokenResponse) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

// Country 是国家主数据投影，客户端和普通用户流程只提交 country_code。
type Country struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	CountryId          int64                  `protobuf:"varint,1,opt,name=country_id,json=countryId,proto3" json:"country_id,omitempty"`
	CountryName        string                 `protobuf:"bytes,2,opt,name=country_name,json=countryName,proto3" json:"country_name,omitempty"`
	CountryCode        string                 `protobuf:"bytes,3,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
	CountryDisplayName string                 `protobuf:"bytes,4,opt,name=country_display_name,json=countryDisplayName,proto3" json:"country_display_name,omitempty"`
	SortOrder          int32                  `protobuf:"varint,6,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
	CreatedAtMs        int64                  `protobuf:"varint,7,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs        int64                  `protobuf:"varint,8,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	IsoAlpha3          string                 `protobuf:"bytes,9,opt,name=iso_alpha3,json=isoAlpha3,proto3" json:"iso_alpha3,omitempty"`
	IsoNumeric         string                 `protobuf:"bytes,10,opt,name=iso_numeric,json=isoNumeric,proto3" json:"iso_numeric,omitempty"`
	PhoneCountryCode   string                 `protobuf:"bytes,11,opt,name=phone_country_code,json=phoneCountryCode,proto3" json:"phone_country_code,omitempty"`
	Enabled            bool                   `protobuf:"varint,12,opt,name=enabled,proto3" json:"enabled,omitempty"`
	Flag               string                 `protobuf:"bytes,13,opt,name=flag,proto3" json:"flag,omitempty"`
	AppCode            string                 `protobuf:"bytes,14,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Country) Reset() {
	*x = Country{}
	mi := &file_proto_user_v1_user_proto_msgTypes[140]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Country) ProtoMessage() {}

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

// Deprecated: Use Country.ProtoReflect.Descriptor instead.
func (*Country) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{140}
}

func (x *Country) GetCountryId() int64 {
	if x != nil {
		return x.CountryId
	}
	return 0
}

func (x *Country) GetCountryName() string {
	if x != nil {
		return x.CountryName
	}
	return ""
}

func (x *Country) GetCountryCode() string {
	if x != nil {
		return x.CountryCode
	}
	return ""
}

func (x *Country) GetCountryDisplayName() string {
	if x != nil {
		return x.CountryDisplayName
	}
	return ""
}

func (x *Country) GetSortOrder() int32 {
	if x != nil {
		return x.SortOrder
	}
	return 0
}

func (x *Country) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *Country) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *Country) GetIsoAlpha3() string {
	if x != nil {
		return x.IsoAlpha3
	}
	return ""
}

func (x *Country) GetIsoNumeric() string {
	if x != nil {
		return x.IsoNumeric
	}
	return ""
}

func (x *Country) GetPhoneCountryCode() string {
	if x != nil {
		return x.PhoneCountryCode
	}
	return ""
}

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

func (x *Country) GetFlag() string {
	if x != nil {
		return x.Flag
	}
	return ""
}

func (x *Country) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

// Region 是区域主数据投影，countries 只包含当前 active 国家码。
type Region struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RegionId      int64                  `protobuf:"varint,1,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
	RegionCode    string                 `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Status        string                 `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	Countries     []string               `protobuf:"bytes,5,rep,name=countries,proto3" json:"countries,omitempty"`
	SortOrder     int32                  `protobuf:"varint,6,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
	CreatedAtMs   int64                  `protobuf:"varint,7,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs   int64                  `protobuf:"varint,8,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	AppCode       string                 `protobuf:"bytes,9,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Region) Reset() {
	*x = Region{}
	mi := &file_proto_user_v1_user_proto_msgTypes[141]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Region) ProtoMessage() {}

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

// Deprecated: Use Region.ProtoReflect.Descriptor instead.
func (*Region) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{141}
}

func (x *Region) GetRegionId() int64 {
	if x != nil {
		return x.RegionId
	}
	return 0
}

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

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

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

func (x *Region) GetCountries() []string {
	if x != nil {
		return x.Countries
	}
	return nil
}

func (x *Region) GetSortOrder() int32 {
	if x != nil {
		return x.SortOrder
	}
	return 0
}

func (x *Region) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *Region) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

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

type ListCountriesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Enabled       *bool                  `protobuf:"varint,3,opt,name=enabled,proto3,oneof" json:"enabled,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCountriesRequest) Reset() {
	*x = ListCountriesRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[142]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCountriesRequest) ProtoMessage() {}

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

// Deprecated: Use ListCountriesRequest.ProtoReflect.Descriptor instead.
func (*ListCountriesRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{142}
}

func (x *ListCountriesRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

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

type ListCountriesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Countries     []*Country             `protobuf:"bytes,1,rep,name=countries,proto3" json:"countries,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCountriesResponse) Reset() {
	*x = ListCountriesResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[143]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCountriesResponse) ProtoMessage() {}

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

// Deprecated: Use ListCountriesResponse.ProtoReflect.Descriptor instead.
func (*ListCountriesResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{143}
}

func (x *ListCountriesResponse) GetCountries() []*Country {
	if x != nil {
		return x.Countries
	}
	return nil
}

// UpdateCountryRequest 只修改国家展示字段，不修改 country_code。
type UpdateCountryRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Meta               *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	CountryId          int64                  `protobuf:"varint,2,opt,name=country_id,json=countryId,proto3" json:"country_id,omitempty"`
	CountryName        string                 `protobuf:"bytes,3,opt,name=country_name,json=countryName,proto3" json:"country_name,omitempty"`
	CountryDisplayName string                 `protobuf:"bytes,4,opt,name=country_display_name,json=countryDisplayName,proto3" json:"country_display_name,omitempty"`
	SortOrder          int32                  `protobuf:"varint,5,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
	OperatorUserId     int64                  `protobuf:"varint,6,opt,name=operator_user_id,json=operatorUserId,proto3" json:"operator_user_id,omitempty"`
	IsoAlpha3          string                 `protobuf:"bytes,7,opt,name=iso_alpha3,json=isoAlpha3,proto3" json:"iso_alpha3,omitempty"`
	IsoNumeric         string                 `protobuf:"bytes,8,opt,name=iso_numeric,json=isoNumeric,proto3" json:"iso_numeric,omitempty"`
	PhoneCountryCode   string                 `protobuf:"bytes,9,opt,name=phone_country_code,json=phoneCountryCode,proto3" json:"phone_country_code,omitempty"`
	Flag               string                 `protobuf:"bytes,10,opt,name=flag,proto3" json:"flag,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *UpdateCountryRequest) Reset() {
	*x = UpdateCountryRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[144]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateCountryRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateCountryRequest.ProtoReflect.Descriptor instead.
func (*UpdateCountryRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{144}
}

func (x *UpdateCountryRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UpdateCountryRequest) GetCountryId() int64 {
	if x != nil {
		return x.CountryId
	}
	return 0
}

func (x *UpdateCountryRequest) GetCountryName() string {
	if x != nil {
		return x.CountryName
	}
	return ""
}

func (x *UpdateCountryRequest) GetCountryDisplayName() string {
	if x != nil {
		return x.CountryDisplayName
	}
	return ""
}

func (x *UpdateCountryRequest) GetSortOrder() int32 {
	if x != nil {
		return x.SortOrder
	}
	return 0
}

func (x *UpdateCountryRequest) GetOperatorUserId() int64 {
	if x != nil {
		return x.OperatorUserId
	}
	return 0
}

func (x *UpdateCountryRequest) GetIsoAlpha3() string {
	if x != nil {
		return x.IsoAlpha3
	}
	return ""
}

func (x *UpdateCountryRequest) GetIsoNumeric() string {
	if x != nil {
		return x.IsoNumeric
	}
	return ""
}

func (x *UpdateCountryRequest) GetPhoneCountryCode() string {
	if x != nil {
		return x.PhoneCountryCode
	}
	return ""
}

func (x *UpdateCountryRequest) GetFlag() string {
	if x != nil {
		return x.Flag
	}
	return ""
}

type CountryResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Country       *Country               `protobuf:"bytes,1,opt,name=country,proto3" json:"country,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CountryResponse) Reset() {
	*x = CountryResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[145]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CountryResponse) ProtoMessage() {}

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

// Deprecated: Use CountryResponse.ProtoReflect.Descriptor instead.
func (*CountryResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{145}
}

func (x *CountryResponse) GetCountry() *Country {
	if x != nil {
		return x.Country
	}
	return nil
}

type ListRegistrationCountriesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRegistrationCountriesRequest) Reset() {
	*x = ListRegistrationCountriesRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[146]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRegistrationCountriesRequest) ProtoMessage() {}

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

// Deprecated: Use ListRegistrationCountriesRequest.ProtoReflect.Descriptor instead.
func (*ListRegistrationCountriesRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{146}
}

func (x *ListRegistrationCountriesRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListRegistrationCountriesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Countries     []*Country             `protobuf:"bytes,1,rep,name=countries,proto3" json:"countries,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRegistrationCountriesResponse) Reset() {
	*x = ListRegistrationCountriesResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[147]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRegistrationCountriesResponse) ProtoMessage() {}

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

// Deprecated: Use ListRegistrationCountriesResponse.ProtoReflect.Descriptor instead.
func (*ListRegistrationCountriesResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{147}
}

func (x *ListRegistrationCountriesResponse) GetCountries() []*Country {
	if x != nil {
		return x.Countries
	}
	return nil
}

type LoginRiskBlockedCountry struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CountryCode   string                 `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
	Keyword       string                 `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"`
	UpdatedAtMs   int64                  `protobuf:"varint,3,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LoginRiskBlockedCountry) Reset() {
	*x = LoginRiskBlockedCountry{}
	mi := &file_proto_user_v1_user_proto_msgTypes[148]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*LoginRiskBlockedCountry) ProtoMessage() {}

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

// Deprecated: Use LoginRiskBlockedCountry.ProtoReflect.Descriptor instead.
func (*LoginRiskBlockedCountry) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{148}
}

func (x *LoginRiskBlockedCountry) GetCountryCode() string {
	if x != nil {
		return x.CountryCode
	}
	return ""
}

func (x *LoginRiskBlockedCountry) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *LoginRiskBlockedCountry) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

type ListLoginRiskBlockedCountriesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListLoginRiskBlockedCountriesRequest) Reset() {
	*x = ListLoginRiskBlockedCountriesRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[149]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListLoginRiskBlockedCountriesRequest) ProtoMessage() {}

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

// Deprecated: Use ListLoginRiskBlockedCountriesRequest.ProtoReflect.Descriptor instead.
func (*ListLoginRiskBlockedCountriesRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{149}
}

func (x *ListLoginRiskBlockedCountriesRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListLoginRiskBlockedCountriesResponse struct {
	state         protoimpl.MessageState     `protogen:"open.v1"`
	Countries     []*LoginRiskBlockedCountry `protobuf:"bytes,1,rep,name=countries,proto3" json:"countries,omitempty"`
	UpdatedAtMs   int64                      `protobuf:"varint,2,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListLoginRiskBlockedCountriesResponse) Reset() {
	*x = ListLoginRiskBlockedCountriesResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[150]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListLoginRiskBlockedCountriesResponse) ProtoMessage() {}

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

// Deprecated: Use ListLoginRiskBlockedCountriesResponse.ProtoReflect.Descriptor instead.
func (*ListLoginRiskBlockedCountriesResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{150}
}

func (x *ListLoginRiskBlockedCountriesResponse) GetCountries() []*LoginRiskBlockedCountry {
	if x != nil {
		return x.Countries
	}
	return nil
}

func (x *ListLoginRiskBlockedCountriesResponse) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

type ListRegionsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRegionsRequest) Reset() {
	*x = ListRegionsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[151]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRegionsRequest) ProtoMessage() {}

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

// Deprecated: Use ListRegionsRequest.ProtoReflect.Descriptor instead.
func (*ListRegionsRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{151}
}

func (x *ListRegionsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

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

type ListRegionsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Regions       []*Region              `protobuf:"bytes,1,rep,name=regions,proto3" json:"regions,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRegionsResponse) Reset() {
	*x = ListRegionsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[152]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRegionsResponse) ProtoMessage() {}

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

// Deprecated: Use ListRegionsResponse.ProtoReflect.Descriptor instead.
func (*ListRegionsResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{152}
}

func (x *ListRegionsResponse) GetRegions() []*Region {
	if x != nil {
		return x.Regions
	}
	return nil
}

type GetRegionRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RegionId      int64                  `protobuf:"varint,2,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRegionRequest) Reset() {
	*x = GetRegionRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[153]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetRegionRequest) ProtoMessage() {}

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

// Deprecated: Use GetRegionRequest.ProtoReflect.Descriptor instead.
func (*GetRegionRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{153}
}

func (x *GetRegionRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetRegionRequest) GetRegionId() int64 {
	if x != nil {
		return x.RegionId
	}
	return 0
}

// UpdateRegionRequest 只修改区域展示字段，不修改 countries。
type UpdateRegionRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RegionId       int64                  `protobuf:"varint,2,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
	RegionCode     string                 `protobuf:"bytes,3,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
	Name           string                 `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	SortOrder      int32                  `protobuf:"varint,5,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
	OperatorUserId int64                  `protobuf:"varint,6,opt,name=operator_user_id,json=operatorUserId,proto3" json:"operator_user_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *UpdateRegionRequest) Reset() {
	*x = UpdateRegionRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[154]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateRegionRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateRegionRequest.ProtoReflect.Descriptor instead.
func (*UpdateRegionRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{154}
}

func (x *UpdateRegionRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UpdateRegionRequest) GetRegionId() int64 {
	if x != nil {
		return x.RegionId
	}
	return 0
}

func (x *UpdateRegionRequest) GetRegionCode() string {
	if x != nil {
		return x.RegionCode
	}
	return ""
}

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

func (x *UpdateRegionRequest) GetSortOrder() int32 {
	if x != nil {
		return x.SortOrder
	}
	return 0
}

func (x *UpdateRegionRequest) GetOperatorUserId() int64 {
	if x != nil {
		return x.OperatorUserId
	}
	return 0
}

type ReplaceRegionCountriesRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	RegionId       int64                  `protobuf:"varint,2,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
	Countries      []string               `protobuf:"bytes,3,rep,name=countries,proto3" json:"countries,omitempty"`
	OperatorUserId int64                  `protobuf:"varint,4,opt,name=operator_user_id,json=operatorUserId,proto3" json:"operator_user_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ReplaceRegionCountriesRequest) Reset() {
	*x = ReplaceRegionCountriesRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[155]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ReplaceRegionCountriesRequest) ProtoMessage() {}

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

// Deprecated: Use ReplaceRegionCountriesRequest.ProtoReflect.Descriptor instead.
func (*ReplaceRegionCountriesRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{155}
}

func (x *ReplaceRegionCountriesRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ReplaceRegionCountriesRequest) GetRegionId() int64 {
	if x != nil {
		return x.RegionId
	}
	return 0
}

func (x *ReplaceRegionCountriesRequest) GetCountries() []string {
	if x != nil {
		return x.Countries
	}
	return nil
}

func (x *ReplaceRegionCountriesRequest) GetOperatorUserId() int64 {
	if x != nil {
		return x.OperatorUserId
	}
	return 0
}

type RegionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Region        *Region                `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegionResponse) Reset() {
	*x = RegionResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[156]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RegionResponse) ProtoMessage() {}

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

// Deprecated: Use RegionResponse.ProtoReflect.Descriptor instead.
func (*RegionResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{156}
}

func (x *RegionResponse) GetRegion() *Region {
	if x != nil {
		return x.Region
	}
	return nil
}

// UserIdentity 是 user_id 和当前 active display_user_id 的绑定投影。
type UserIdentity struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	UserId                   int64                  `protobuf:"varint,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	DisplayUserId            string                 `protobuf:"bytes,2,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	Status                   string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	DefaultDisplayUserId     string                 `protobuf:"bytes,4,opt,name=default_display_user_id,json=defaultDisplayUserId,proto3" json:"default_display_user_id,omitempty"`
	DisplayUserIdKind        string                 `protobuf:"bytes,5,opt,name=display_user_id_kind,json=displayUserIdKind,proto3" json:"display_user_id_kind,omitempty"`
	DisplayUserIdExpiresAtMs int64                  `protobuf:"varint,6,opt,name=display_user_id_expires_at_ms,json=displayUserIdExpiresAtMs,proto3" json:"display_user_id_expires_at_ms,omitempty"`
	AppCode                  string                 `protobuf:"bytes,7,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	PrettyId                 string                 `protobuf:"bytes,8,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	PrettyDisplayUserId      string                 `protobuf:"bytes,9,opt,name=pretty_display_user_id,json=prettyDisplayUserId,proto3" json:"pretty_display_user_id,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *UserIdentity) Reset() {
	*x = UserIdentity{}
	mi := &file_proto_user_v1_user_proto_msgTypes[157]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UserIdentity) ProtoMessage() {}

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

// Deprecated: Use UserIdentity.ProtoReflect.Descriptor instead.
func (*UserIdentity) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{157}
}

func (x *UserIdentity) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *UserIdentity) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

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

func (x *UserIdentity) GetDefaultDisplayUserId() string {
	if x != nil {
		return x.DefaultDisplayUserId
	}
	return ""
}

func (x *UserIdentity) GetDisplayUserIdKind() string {
	if x != nil {
		return x.DisplayUserIdKind
	}
	return ""
}

func (x *UserIdentity) GetDisplayUserIdExpiresAtMs() int64 {
	if x != nil {
		return x.DisplayUserIdExpiresAtMs
	}
	return 0
}

func (x *UserIdentity) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *UserIdentity) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

func (x *UserIdentity) GetPrettyDisplayUserId() string {
	if x != nil {
		return x.PrettyDisplayUserId
	}
	return ""
}

// GetUserIdentityRequest 按 user_id 查询当前短号。
type GetUserIdentityRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserIdentityRequest) Reset() {
	*x = GetUserIdentityRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[158]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetUserIdentityRequest) ProtoMessage() {}

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

// Deprecated: Use GetUserIdentityRequest.ProtoReflect.Descriptor instead.
func (*GetUserIdentityRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{158}
}

func (x *GetUserIdentityRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetUserIdentityRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

// GetUserIdentityResponse 返回当前短号绑定。
type GetUserIdentityResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *UserIdentity          `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetUserIdentityResponse) Reset() {
	*x = GetUserIdentityResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[159]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetUserIdentityResponse) ProtoMessage() {}

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

// Deprecated: Use GetUserIdentityResponse.ProtoReflect.Descriptor instead.
func (*GetUserIdentityResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{159}
}

func (x *GetUserIdentityResponse) GetIdentity() *UserIdentity {
	if x != nil {
		return x.Identity
	}
	return nil
}

// ResolveDisplayUserIDRequest 把客户端展示短号解析成系统 user_id。
type ResolveDisplayUserIDRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	DisplayUserId string                 `protobuf:"bytes,2,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResolveDisplayUserIDRequest) Reset() {
	*x = ResolveDisplayUserIDRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[160]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ResolveDisplayUserIDRequest) ProtoMessage() {}

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

// Deprecated: Use ResolveDisplayUserIDRequest.ProtoReflect.Descriptor instead.
func (*ResolveDisplayUserIDRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{160}
}

func (x *ResolveDisplayUserIDRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ResolveDisplayUserIDRequest) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

// ResolveDisplayUserIDResponse 返回 active 短号归属。
type ResolveDisplayUserIDResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *UserIdentity          `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResolveDisplayUserIDResponse) Reset() {
	*x = ResolveDisplayUserIDResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[161]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ResolveDisplayUserIDResponse) ProtoMessage() {}

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

// Deprecated: Use ResolveDisplayUserIDResponse.ProtoReflect.Descriptor instead.
func (*ResolveDisplayUserIDResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{161}
}

func (x *ResolveDisplayUserIDResponse) GetIdentity() *UserIdentity {
	if x != nil {
		return x.Identity
	}
	return nil
}

// ChangeDisplayUserIDRequest 修改用户短号，必须由 user-service 保证事务一致。
type ChangeDisplayUserIDRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	Meta             *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId           int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	NewDisplayUserId string                 `protobuf:"bytes,3,opt,name=new_display_user_id,json=newDisplayUserId,proto3" json:"new_display_user_id,omitempty"`
	Reason           string                 `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	OperatorUserId   int64                  `protobuf:"varint,5,opt,name=operator_user_id,json=operatorUserId,proto3" json:"operator_user_id,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ChangeDisplayUserIDRequest) Reset() {
	*x = ChangeDisplayUserIDRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[162]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChangeDisplayUserIDRequest) ProtoMessage() {}

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

// Deprecated: Use ChangeDisplayUserIDRequest.ProtoReflect.Descriptor instead.
func (*ChangeDisplayUserIDRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{162}
}

func (x *ChangeDisplayUserIDRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ChangeDisplayUserIDRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ChangeDisplayUserIDRequest) GetNewDisplayUserId() string {
	if x != nil {
		return x.NewDisplayUserId
	}
	return ""
}

func (x *ChangeDisplayUserIDRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *ChangeDisplayUserIDRequest) GetOperatorUserId() int64 {
	if x != nil {
		return x.OperatorUserId
	}
	return 0
}

// ChangeDisplayUserIDResponse 返回修改后的 active 绑定。
type ChangeDisplayUserIDResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *UserIdentity          `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ChangeDisplayUserIDResponse) Reset() {
	*x = ChangeDisplayUserIDResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[163]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ChangeDisplayUserIDResponse) ProtoMessage() {}

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

// Deprecated: Use ChangeDisplayUserIDResponse.ProtoReflect.Descriptor instead.
func (*ChangeDisplayUserIDResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{163}
}

func (x *ChangeDisplayUserIDResponse) GetIdentity() *UserIdentity {
	if x != nil {
		return x.Identity
	}
	return nil
}

// ApplyPrettyDisplayUserIDRequest 申请临时靓号并覆盖当前展示号。
type ApplyPrettyDisplayUserIDRequest struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	Meta                *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId              int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	PrettyDisplayUserId string                 `protobuf:"bytes,3,opt,name=pretty_display_user_id,json=prettyDisplayUserId,proto3" json:"pretty_display_user_id,omitempty"`
	LeaseDurationMs     int64                  `protobuf:"varint,4,opt,name=lease_duration_ms,json=leaseDurationMs,proto3" json:"lease_duration_ms,omitempty"`
	PaymentReceiptId    string                 `protobuf:"bytes,5,opt,name=payment_receipt_id,json=paymentReceiptId,proto3" json:"payment_receipt_id,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *ApplyPrettyDisplayUserIDRequest) Reset() {
	*x = ApplyPrettyDisplayUserIDRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[164]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ApplyPrettyDisplayUserIDRequest) ProtoMessage() {}

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

// Deprecated: Use ApplyPrettyDisplayUserIDRequest.ProtoReflect.Descriptor instead.
func (*ApplyPrettyDisplayUserIDRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{164}
}

func (x *ApplyPrettyDisplayUserIDRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ApplyPrettyDisplayUserIDRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ApplyPrettyDisplayUserIDRequest) GetPrettyDisplayUserId() string {
	if x != nil {
		return x.PrettyDisplayUserId
	}
	return ""
}

func (x *ApplyPrettyDisplayUserIDRequest) GetLeaseDurationMs() int64 {
	if x != nil {
		return x.LeaseDurationMs
	}
	return 0
}

func (x *ApplyPrettyDisplayUserIDRequest) GetPaymentReceiptId() string {
	if x != nil {
		return x.PaymentReceiptId
	}
	return ""
}

// ApplyPrettyDisplayUserIDResponse 返回申请成功后的当前展示号和租约。
type ApplyPrettyDisplayUserIDResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *UserIdentity          `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	LeaseId       string                 `protobuf:"bytes,2,opt,name=lease_id,json=leaseId,proto3" json:"lease_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ApplyPrettyDisplayUserIDResponse) Reset() {
	*x = ApplyPrettyDisplayUserIDResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[165]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ApplyPrettyDisplayUserIDResponse) ProtoMessage() {}

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

// Deprecated: Use ApplyPrettyDisplayUserIDResponse.ProtoReflect.Descriptor instead.
func (*ApplyPrettyDisplayUserIDResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{165}
}

func (x *ApplyPrettyDisplayUserIDResponse) GetIdentity() *UserIdentity {
	if x != nil {
		return x.Identity
	}
	return nil
}

func (x *ApplyPrettyDisplayUserIDResponse) GetLeaseId() string {
	if x != nil {
		return x.LeaseId
	}
	return ""
}

// ExpirePrettyDisplayUserIDRequest 主动触发靓号过期恢复。
type ExpirePrettyDisplayUserIDRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	LeaseId       string                 `protobuf:"bytes,3,opt,name=lease_id,json=leaseId,proto3" json:"lease_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExpirePrettyDisplayUserIDRequest) Reset() {
	*x = ExpirePrettyDisplayUserIDRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[166]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ExpirePrettyDisplayUserIDRequest) ProtoMessage() {}

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

// Deprecated: Use ExpirePrettyDisplayUserIDRequest.ProtoReflect.Descriptor instead.
func (*ExpirePrettyDisplayUserIDRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{166}
}

func (x *ExpirePrettyDisplayUserIDRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ExpirePrettyDisplayUserIDRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ExpirePrettyDisplayUserIDRequest) GetLeaseId() string {
	if x != nil {
		return x.LeaseId
	}
	return ""
}

// ExpirePrettyDisplayUserIDResponse 返回恢复后的默认短号身份。
type ExpirePrettyDisplayUserIDResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *UserIdentity          `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExpirePrettyDisplayUserIDResponse) Reset() {
	*x = ExpirePrettyDisplayUserIDResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[167]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ExpirePrettyDisplayUserIDResponse) ProtoMessage() {}

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

// Deprecated: Use ExpirePrettyDisplayUserIDResponse.ProtoReflect.Descriptor instead.
func (*ExpirePrettyDisplayUserIDResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{167}
}

func (x *ExpirePrettyDisplayUserIDResponse) GetIdentity() *UserIdentity {
	if x != nil {
		return x.Identity
	}
	return nil
}

// PrettyDisplayIDPool 是靓号池等级区间和生成规则配置。
type PrettyDisplayIDPool struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	AppCode          string                 `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	PoolId           string                 `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
	Name             string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	LevelTrack       string                 `protobuf:"bytes,4,opt,name=level_track,json=levelTrack,proto3" json:"level_track,omitempty"`
	MinLevel         int32                  `protobuf:"varint,5,opt,name=min_level,json=minLevel,proto3" json:"min_level,omitempty"`
	MaxLevel         int32                  `protobuf:"varint,6,opt,name=max_level,json=maxLevel,proto3" json:"max_level,omitempty"`
	RuleType         string                 `protobuf:"bytes,7,opt,name=rule_type,json=ruleType,proto3" json:"rule_type,omitempty"`
	RuleConfigJson   string                 `protobuf:"bytes,8,opt,name=rule_config_json,json=ruleConfigJson,proto3" json:"rule_config_json,omitempty"`
	Status           string                 `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"`
	SortOrder        int32                  `protobuf:"varint,10,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
	CreatedByAdminId int64                  `protobuf:"varint,11,opt,name=created_by_admin_id,json=createdByAdminId,proto3" json:"created_by_admin_id,omitempty"`
	UpdatedByAdminId int64                  `protobuf:"varint,12,opt,name=updated_by_admin_id,json=updatedByAdminId,proto3" json:"updated_by_admin_id,omitempty"`
	CreatedAtMs      int64                  `protobuf:"varint,13,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs      int64                  `protobuf:"varint,14,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *PrettyDisplayIDPool) Reset() {
	*x = PrettyDisplayIDPool{}
	mi := &file_proto_user_v1_user_proto_msgTypes[168]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrettyDisplayIDPool) ProtoMessage() {}

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

// Deprecated: Use PrettyDisplayIDPool.ProtoReflect.Descriptor instead.
func (*PrettyDisplayIDPool) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{168}
}

func (x *PrettyDisplayIDPool) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *PrettyDisplayIDPool) GetPoolId() string {
	if x != nil {
		return x.PoolId
	}
	return ""
}

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

func (x *PrettyDisplayIDPool) GetLevelTrack() string {
	if x != nil {
		return x.LevelTrack
	}
	return ""
}

func (x *PrettyDisplayIDPool) GetMinLevel() int32 {
	if x != nil {
		return x.MinLevel
	}
	return 0
}

func (x *PrettyDisplayIDPool) GetMaxLevel() int32 {
	if x != nil {
		return x.MaxLevel
	}
	return 0
}

func (x *PrettyDisplayIDPool) GetRuleType() string {
	if x != nil {
		return x.RuleType
	}
	return ""
}

func (x *PrettyDisplayIDPool) GetRuleConfigJson() string {
	if x != nil {
		return x.RuleConfigJson
	}
	return ""
}

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

func (x *PrettyDisplayIDPool) GetSortOrder() int32 {
	if x != nil {
		return x.SortOrder
	}
	return 0
}

func (x *PrettyDisplayIDPool) GetCreatedByAdminId() int64 {
	if x != nil {
		return x.CreatedByAdminId
	}
	return 0
}

func (x *PrettyDisplayIDPool) GetUpdatedByAdminId() int64 {
	if x != nil {
		return x.UpdatedByAdminId
	}
	return 0
}

func (x *PrettyDisplayIDPool) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *PrettyDisplayIDPool) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

// PrettyDisplayID 是一个可申请或已发放的靓号记录。
type PrettyDisplayID struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	AppCode          string                 `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	PrettyId         string                 `protobuf:"bytes,2,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	PoolId           string                 `protobuf:"bytes,3,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
	Source           string                 `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"`
	DisplayUserId    string                 `protobuf:"bytes,5,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	Status           string                 `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	AssignedUserId   int64                  `protobuf:"varint,7,opt,name=assigned_user_id,json=assignedUserId,proto3" json:"assigned_user_id,omitempty"`
	AssignedLeaseId  string                 `protobuf:"bytes,8,opt,name=assigned_lease_id,json=assignedLeaseId,proto3" json:"assigned_lease_id,omitempty"`
	AssignedAtMs     int64                  `protobuf:"varint,9,opt,name=assigned_at_ms,json=assignedAtMs,proto3" json:"assigned_at_ms,omitempty"`
	ReleasedAtMs     int64                  `protobuf:"varint,10,opt,name=released_at_ms,json=releasedAtMs,proto3" json:"released_at_ms,omitempty"`
	ReleaseReason    string                 `protobuf:"bytes,11,opt,name=release_reason,json=releaseReason,proto3" json:"release_reason,omitempty"`
	GeneratedBatchId string                 `protobuf:"bytes,12,opt,name=generated_batch_id,json=generatedBatchId,proto3" json:"generated_batch_id,omitempty"`
	CreatedByAdminId int64                  `protobuf:"varint,13,opt,name=created_by_admin_id,json=createdByAdminId,proto3" json:"created_by_admin_id,omitempty"`
	CreatedAtMs      int64                  `protobuf:"varint,14,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs      int64                  `protobuf:"varint,15,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	Pool             *PrettyDisplayIDPool   `protobuf:"bytes,16,opt,name=pool,proto3" json:"pool,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *PrettyDisplayID) Reset() {
	*x = PrettyDisplayID{}
	mi := &file_proto_user_v1_user_proto_msgTypes[169]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrettyDisplayID) ProtoMessage() {}

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

// Deprecated: Use PrettyDisplayID.ProtoReflect.Descriptor instead.
func (*PrettyDisplayID) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{169}
}

func (x *PrettyDisplayID) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *PrettyDisplayID) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

func (x *PrettyDisplayID) GetPoolId() string {
	if x != nil {
		return x.PoolId
	}
	return ""
}

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

func (x *PrettyDisplayID) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

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

func (x *PrettyDisplayID) GetAssignedUserId() int64 {
	if x != nil {
		return x.AssignedUserId
	}
	return 0
}

func (x *PrettyDisplayID) GetAssignedLeaseId() string {
	if x != nil {
		return x.AssignedLeaseId
	}
	return ""
}

func (x *PrettyDisplayID) GetAssignedAtMs() int64 {
	if x != nil {
		return x.AssignedAtMs
	}
	return 0
}

func (x *PrettyDisplayID) GetReleasedAtMs() int64 {
	if x != nil {
		return x.ReleasedAtMs
	}
	return 0
}

func (x *PrettyDisplayID) GetReleaseReason() string {
	if x != nil {
		return x.ReleaseReason
	}
	return ""
}

func (x *PrettyDisplayID) GetGeneratedBatchId() string {
	if x != nil {
		return x.GeneratedBatchId
	}
	return ""
}

func (x *PrettyDisplayID) GetCreatedByAdminId() int64 {
	if x != nil {
		return x.CreatedByAdminId
	}
	return 0
}

func (x *PrettyDisplayID) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *PrettyDisplayID) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

func (x *PrettyDisplayID) GetPool() *PrettyDisplayIDPool {
	if x != nil {
		return x.Pool
	}
	return nil
}

type PrettyDisplayIDGenerationBatch struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	AppCode              string                 `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"`
	BatchId              string                 `protobuf:"bytes,2,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`
	PoolId               string                 `protobuf:"bytes,3,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
	RuleType             string                 `protobuf:"bytes,4,opt,name=rule_type,json=ruleType,proto3" json:"rule_type,omitempty"`
	RuleConfigJson       string                 `protobuf:"bytes,5,opt,name=rule_config_json,json=ruleConfigJson,proto3" json:"rule_config_json,omitempty"`
	RequestedCount       int32                  `protobuf:"varint,6,opt,name=requested_count,json=requestedCount,proto3" json:"requested_count,omitempty"`
	GeneratedCount       int32                  `protobuf:"varint,7,opt,name=generated_count,json=generatedCount,proto3" json:"generated_count,omitempty"`
	SkippedConflictCount int32                  `protobuf:"varint,8,opt,name=skipped_conflict_count,json=skippedConflictCount,proto3" json:"skipped_conflict_count,omitempty"`
	Status               string                 `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"`
	OperatorAdminId      int64                  `protobuf:"varint,10,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	RequestId            string                 `protobuf:"bytes,11,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	CreatedAtMs          int64                  `protobuf:"varint,12,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"`
	UpdatedAtMs          int64                  `protobuf:"varint,13,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *PrettyDisplayIDGenerationBatch) Reset() {
	*x = PrettyDisplayIDGenerationBatch{}
	mi := &file_proto_user_v1_user_proto_msgTypes[170]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrettyDisplayIDGenerationBatch) ProtoMessage() {}

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

// Deprecated: Use PrettyDisplayIDGenerationBatch.ProtoReflect.Descriptor instead.
func (*PrettyDisplayIDGenerationBatch) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{170}
}

func (x *PrettyDisplayIDGenerationBatch) GetAppCode() string {
	if x != nil {
		return x.AppCode
	}
	return ""
}

func (x *PrettyDisplayIDGenerationBatch) GetBatchId() string {
	if x != nil {
		return x.BatchId
	}
	return ""
}

func (x *PrettyDisplayIDGenerationBatch) GetPoolId() string {
	if x != nil {
		return x.PoolId
	}
	return ""
}

func (x *PrettyDisplayIDGenerationBatch) GetRuleType() string {
	if x != nil {
		return x.RuleType
	}
	return ""
}

func (x *PrettyDisplayIDGenerationBatch) GetRuleConfigJson() string {
	if x != nil {
		return x.RuleConfigJson
	}
	return ""
}

func (x *PrettyDisplayIDGenerationBatch) GetRequestedCount() int32 {
	if x != nil {
		return x.RequestedCount
	}
	return 0
}

func (x *PrettyDisplayIDGenerationBatch) GetGeneratedCount() int32 {
	if x != nil {
		return x.GeneratedCount
	}
	return 0
}

func (x *PrettyDisplayIDGenerationBatch) GetSkippedConflictCount() int32 {
	if x != nil {
		return x.SkippedConflictCount
	}
	return 0
}

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

func (x *PrettyDisplayIDGenerationBatch) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

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

func (x *PrettyDisplayIDGenerationBatch) GetCreatedAtMs() int64 {
	if x != nil {
		return x.CreatedAtMs
	}
	return 0
}

func (x *PrettyDisplayIDGenerationBatch) GetUpdatedAtMs() int64 {
	if x != nil {
		return x.UpdatedAtMs
	}
	return 0
}

type ListAvailablePrettyDisplayIDsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	Page          int32                  `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListAvailablePrettyDisplayIDsRequest) Reset() {
	*x = ListAvailablePrettyDisplayIDsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[171]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListAvailablePrettyDisplayIDsRequest) ProtoMessage() {}

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

// Deprecated: Use ListAvailablePrettyDisplayIDsRequest.ProtoReflect.Descriptor instead.
func (*ListAvailablePrettyDisplayIDsRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{171}
}

func (x *ListAvailablePrettyDisplayIDsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListAvailablePrettyDisplayIDsRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ListAvailablePrettyDisplayIDsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListAvailablePrettyDisplayIDsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListAvailablePrettyDisplayIDsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*PrettyDisplayID     `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListAvailablePrettyDisplayIDsResponse) Reset() {
	*x = ListAvailablePrettyDisplayIDsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[172]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListAvailablePrettyDisplayIDsResponse) ProtoMessage() {}

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

// Deprecated: Use ListAvailablePrettyDisplayIDsResponse.ProtoReflect.Descriptor instead.
func (*ListAvailablePrettyDisplayIDsResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{172}
}

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

func (x *ListAvailablePrettyDisplayIDsResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type ApplyPrettyDisplayIDFromPoolRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserId        int64                  `protobuf:"varint,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	PrettyId      string                 `protobuf:"bytes,3,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ApplyPrettyDisplayIDFromPoolRequest) Reset() {
	*x = ApplyPrettyDisplayIDFromPoolRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[173]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ApplyPrettyDisplayIDFromPoolRequest) ProtoMessage() {}

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

// Deprecated: Use ApplyPrettyDisplayIDFromPoolRequest.ProtoReflect.Descriptor instead.
func (*ApplyPrettyDisplayIDFromPoolRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{173}
}

func (x *ApplyPrettyDisplayIDFromPoolRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ApplyPrettyDisplayIDFromPoolRequest) GetUserId() int64 {
	if x != nil {
		return x.UserId
	}
	return 0
}

func (x *ApplyPrettyDisplayIDFromPoolRequest) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

type ApplyPrettyDisplayIDFromPoolResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *UserIdentity          `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	PrettyId      string                 `protobuf:"bytes,2,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	LeaseId       string                 `protobuf:"bytes,3,opt,name=lease_id,json=leaseId,proto3" json:"lease_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ApplyPrettyDisplayIDFromPoolResponse) Reset() {
	*x = ApplyPrettyDisplayIDFromPoolResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[174]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ApplyPrettyDisplayIDFromPoolResponse) ProtoMessage() {}

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

// Deprecated: Use ApplyPrettyDisplayIDFromPoolResponse.ProtoReflect.Descriptor instead.
func (*ApplyPrettyDisplayIDFromPoolResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{174}
}

func (x *ApplyPrettyDisplayIDFromPoolResponse) GetIdentity() *UserIdentity {
	if x != nil {
		return x.Identity
	}
	return nil
}

func (x *ApplyPrettyDisplayIDFromPoolResponse) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

func (x *ApplyPrettyDisplayIDFromPoolResponse) GetLeaseId() string {
	if x != nil {
		return x.LeaseId
	}
	return ""
}

type ListPrettyDisplayIDPoolsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Status        string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	LevelTrack    string                 `protobuf:"bytes,3,opt,name=level_track,json=levelTrack,proto3" json:"level_track,omitempty"`
	Page          int32                  `protobuf:"varint,4,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      int32                  `protobuf:"varint,5,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPrettyDisplayIDPoolsRequest) Reset() {
	*x = ListPrettyDisplayIDPoolsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[175]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListPrettyDisplayIDPoolsRequest) ProtoMessage() {}

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

// Deprecated: Use ListPrettyDisplayIDPoolsRequest.ProtoReflect.Descriptor instead.
func (*ListPrettyDisplayIDPoolsRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{175}
}

func (x *ListPrettyDisplayIDPoolsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

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

func (x *ListPrettyDisplayIDPoolsRequest) GetLevelTrack() string {
	if x != nil {
		return x.LevelTrack
	}
	return ""
}

func (x *ListPrettyDisplayIDPoolsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListPrettyDisplayIDPoolsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListPrettyDisplayIDPoolsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*PrettyDisplayIDPool `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPrettyDisplayIDPoolsResponse) Reset() {
	*x = ListPrettyDisplayIDPoolsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[176]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListPrettyDisplayIDPoolsResponse) ProtoMessage() {}

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

// Deprecated: Use ListPrettyDisplayIDPoolsResponse.ProtoReflect.Descriptor instead.
func (*ListPrettyDisplayIDPoolsResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{176}
}

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

func (x *ListPrettyDisplayIDPoolsResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type CreatePrettyDisplayIDPoolRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Name            string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	LevelTrack      string                 `protobuf:"bytes,3,opt,name=level_track,json=levelTrack,proto3" json:"level_track,omitempty"`
	MinLevel        int32                  `protobuf:"varint,4,opt,name=min_level,json=minLevel,proto3" json:"min_level,omitempty"`
	MaxLevel        int32                  `protobuf:"varint,5,opt,name=max_level,json=maxLevel,proto3" json:"max_level,omitempty"`
	RuleType        string                 `protobuf:"bytes,6,opt,name=rule_type,json=ruleType,proto3" json:"rule_type,omitempty"`
	RuleConfigJson  string                 `protobuf:"bytes,7,opt,name=rule_config_json,json=ruleConfigJson,proto3" json:"rule_config_json,omitempty"`
	Status          string                 `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"`
	SortOrder       int32                  `protobuf:"varint,9,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,10,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *CreatePrettyDisplayIDPoolRequest) Reset() {
	*x = CreatePrettyDisplayIDPoolRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[177]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreatePrettyDisplayIDPoolRequest) ProtoMessage() {}

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

// Deprecated: Use CreatePrettyDisplayIDPoolRequest.ProtoReflect.Descriptor instead.
func (*CreatePrettyDisplayIDPoolRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{177}
}

func (x *CreatePrettyDisplayIDPoolRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

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

func (x *CreatePrettyDisplayIDPoolRequest) GetLevelTrack() string {
	if x != nil {
		return x.LevelTrack
	}
	return ""
}

func (x *CreatePrettyDisplayIDPoolRequest) GetMinLevel() int32 {
	if x != nil {
		return x.MinLevel
	}
	return 0
}

func (x *CreatePrettyDisplayIDPoolRequest) GetMaxLevel() int32 {
	if x != nil {
		return x.MaxLevel
	}
	return 0
}

func (x *CreatePrettyDisplayIDPoolRequest) GetRuleType() string {
	if x != nil {
		return x.RuleType
	}
	return ""
}

func (x *CreatePrettyDisplayIDPoolRequest) GetRuleConfigJson() string {
	if x != nil {
		return x.RuleConfigJson
	}
	return ""
}

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

func (x *CreatePrettyDisplayIDPoolRequest) GetSortOrder() int32 {
	if x != nil {
		return x.SortOrder
	}
	return 0
}

func (x *CreatePrettyDisplayIDPoolRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

type UpdatePrettyDisplayIDPoolRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	PoolId          string                 `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
	Name            string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	LevelTrack      string                 `protobuf:"bytes,4,opt,name=level_track,json=levelTrack,proto3" json:"level_track,omitempty"`
	MinLevel        int32                  `protobuf:"varint,5,opt,name=min_level,json=minLevel,proto3" json:"min_level,omitempty"`
	MaxLevel        int32                  `protobuf:"varint,6,opt,name=max_level,json=maxLevel,proto3" json:"max_level,omitempty"`
	RuleType        string                 `protobuf:"bytes,7,opt,name=rule_type,json=ruleType,proto3" json:"rule_type,omitempty"`
	RuleConfigJson  string                 `protobuf:"bytes,8,opt,name=rule_config_json,json=ruleConfigJson,proto3" json:"rule_config_json,omitempty"`
	Status          string                 `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"`
	SortOrder       int32                  `protobuf:"varint,10,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,11,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *UpdatePrettyDisplayIDPoolRequest) Reset() {
	*x = UpdatePrettyDisplayIDPoolRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[178]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdatePrettyDisplayIDPoolRequest) ProtoMessage() {}

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

// Deprecated: Use UpdatePrettyDisplayIDPoolRequest.ProtoReflect.Descriptor instead.
func (*UpdatePrettyDisplayIDPoolRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{178}
}

func (x *UpdatePrettyDisplayIDPoolRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *UpdatePrettyDisplayIDPoolRequest) GetPoolId() string {
	if x != nil {
		return x.PoolId
	}
	return ""
}

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

func (x *UpdatePrettyDisplayIDPoolRequest) GetLevelTrack() string {
	if x != nil {
		return x.LevelTrack
	}
	return ""
}

func (x *UpdatePrettyDisplayIDPoolRequest) GetMinLevel() int32 {
	if x != nil {
		return x.MinLevel
	}
	return 0
}

func (x *UpdatePrettyDisplayIDPoolRequest) GetMaxLevel() int32 {
	if x != nil {
		return x.MaxLevel
	}
	return 0
}

func (x *UpdatePrettyDisplayIDPoolRequest) GetRuleType() string {
	if x != nil {
		return x.RuleType
	}
	return ""
}

func (x *UpdatePrettyDisplayIDPoolRequest) GetRuleConfigJson() string {
	if x != nil {
		return x.RuleConfigJson
	}
	return ""
}

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

func (x *UpdatePrettyDisplayIDPoolRequest) GetSortOrder() int32 {
	if x != nil {
		return x.SortOrder
	}
	return 0
}

func (x *UpdatePrettyDisplayIDPoolRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

type PrettyDisplayIDPoolResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Pool          *PrettyDisplayIDPool   `protobuf:"bytes,1,opt,name=pool,proto3" json:"pool,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PrettyDisplayIDPoolResponse) Reset() {
	*x = PrettyDisplayIDPoolResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[179]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrettyDisplayIDPoolResponse) ProtoMessage() {}

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

// Deprecated: Use PrettyDisplayIDPoolResponse.ProtoReflect.Descriptor instead.
func (*PrettyDisplayIDPoolResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{179}
}

func (x *PrettyDisplayIDPoolResponse) GetPool() *PrettyDisplayIDPool {
	if x != nil {
		return x.Pool
	}
	return nil
}

type GeneratePrettyDisplayIDsRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	PoolId          string                 `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
	RuleType        string                 `protobuf:"bytes,3,opt,name=rule_type,json=ruleType,proto3" json:"rule_type,omitempty"`
	RuleConfigJson  string                 `protobuf:"bytes,4,opt,name=rule_config_json,json=ruleConfigJson,proto3" json:"rule_config_json,omitempty"`
	Count           int32                  `protobuf:"varint,5,opt,name=count,proto3" json:"count,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,6,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *GeneratePrettyDisplayIDsRequest) Reset() {
	*x = GeneratePrettyDisplayIDsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[180]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GeneratePrettyDisplayIDsRequest) ProtoMessage() {}

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

// Deprecated: Use GeneratePrettyDisplayIDsRequest.ProtoReflect.Descriptor instead.
func (*GeneratePrettyDisplayIDsRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{180}
}

func (x *GeneratePrettyDisplayIDsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GeneratePrettyDisplayIDsRequest) GetPoolId() string {
	if x != nil {
		return x.PoolId
	}
	return ""
}

func (x *GeneratePrettyDisplayIDsRequest) GetRuleType() string {
	if x != nil {
		return x.RuleType
	}
	return ""
}

func (x *GeneratePrettyDisplayIDsRequest) GetRuleConfigJson() string {
	if x != nil {
		return x.RuleConfigJson
	}
	return ""
}

func (x *GeneratePrettyDisplayIDsRequest) GetCount() int32 {
	if x != nil {
		return x.Count
	}
	return 0
}

func (x *GeneratePrettyDisplayIDsRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

type GeneratePrettyDisplayIDsResponse struct {
	state         protoimpl.MessageState          `protogen:"open.v1"`
	Batch         *PrettyDisplayIDGenerationBatch `protobuf:"bytes,1,opt,name=batch,proto3" json:"batch,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GeneratePrettyDisplayIDsResponse) Reset() {
	*x = GeneratePrettyDisplayIDsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[181]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GeneratePrettyDisplayIDsResponse) ProtoMessage() {}

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

// Deprecated: Use GeneratePrettyDisplayIDsResponse.ProtoReflect.Descriptor instead.
func (*GeneratePrettyDisplayIDsResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{181}
}

func (x *GeneratePrettyDisplayIDsResponse) GetBatch() *PrettyDisplayIDGenerationBatch {
	if x != nil {
		return x.Batch
	}
	return nil
}

type ListPrettyDisplayIDsRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	PoolId         string                 `protobuf:"bytes,2,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
	Source         string                 `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
	Status         string                 `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
	Keyword        string                 `protobuf:"bytes,5,opt,name=keyword,proto3" json:"keyword,omitempty"`
	AssignedUserId int64                  `protobuf:"varint,6,opt,name=assigned_user_id,json=assignedUserId,proto3" json:"assigned_user_id,omitempty"`
	Page           int32                  `protobuf:"varint,7,opt,name=page,proto3" json:"page,omitempty"`
	PageSize       int32                  `protobuf:"varint,8,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ListPrettyDisplayIDsRequest) Reset() {
	*x = ListPrettyDisplayIDsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[182]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListPrettyDisplayIDsRequest) ProtoMessage() {}

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

// Deprecated: Use ListPrettyDisplayIDsRequest.ProtoReflect.Descriptor instead.
func (*ListPrettyDisplayIDsRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{182}
}

func (x *ListPrettyDisplayIDsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ListPrettyDisplayIDsRequest) GetPoolId() string {
	if x != nil {
		return x.PoolId
	}
	return ""
}

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

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

func (x *ListPrettyDisplayIDsRequest) GetKeyword() string {
	if x != nil {
		return x.Keyword
	}
	return ""
}

func (x *ListPrettyDisplayIDsRequest) GetAssignedUserId() int64 {
	if x != nil {
		return x.AssignedUserId
	}
	return 0
}

func (x *ListPrettyDisplayIDsRequest) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListPrettyDisplayIDsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

type ListPrettyDisplayIDsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*PrettyDisplayID     `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Total         int64                  `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListPrettyDisplayIDsResponse) Reset() {
	*x = ListPrettyDisplayIDsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[183]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListPrettyDisplayIDsResponse) ProtoMessage() {}

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

// Deprecated: Use ListPrettyDisplayIDsResponse.ProtoReflect.Descriptor instead.
func (*ListPrettyDisplayIDsResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{183}
}

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

func (x *ListPrettyDisplayIDsResponse) GetTotal() int64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type SetPrettyDisplayIDStatusRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	PrettyId        string                 `protobuf:"bytes,2,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	Status          string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,4,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	Reason          string                 `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *SetPrettyDisplayIDStatusRequest) Reset() {
	*x = SetPrettyDisplayIDStatusRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[184]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SetPrettyDisplayIDStatusRequest) ProtoMessage() {}

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

// Deprecated: Use SetPrettyDisplayIDStatusRequest.ProtoReflect.Descriptor instead.
func (*SetPrettyDisplayIDStatusRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{184}
}

func (x *SetPrettyDisplayIDStatusRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *SetPrettyDisplayIDStatusRequest) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

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

func (x *SetPrettyDisplayIDStatusRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

func (x *SetPrettyDisplayIDStatusRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

type RecyclePrettyDisplayIDRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	PrettyId        string                 `protobuf:"bytes,2,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	Reason          string                 `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,4,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *RecyclePrettyDisplayIDRequest) Reset() {
	*x = RecyclePrettyDisplayIDRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[185]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RecyclePrettyDisplayIDRequest) ProtoMessage() {}

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

// Deprecated: Use RecyclePrettyDisplayIDRequest.ProtoReflect.Descriptor instead.
func (*RecyclePrettyDisplayIDRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{185}
}

func (x *RecyclePrettyDisplayIDRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *RecyclePrettyDisplayIDRequest) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

func (x *RecyclePrettyDisplayIDRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *RecyclePrettyDisplayIDRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

type PrettyDisplayIDResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Item          *PrettyDisplayID       `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PrettyDisplayIDResponse) Reset() {
	*x = PrettyDisplayIDResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[186]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrettyDisplayIDResponse) ProtoMessage() {}

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

// Deprecated: Use PrettyDisplayIDResponse.ProtoReflect.Descriptor instead.
func (*PrettyDisplayIDResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{186}
}

func (x *PrettyDisplayIDResponse) GetItem() *PrettyDisplayID {
	if x != nil {
		return x.Item
	}
	return nil
}

type AdminGrantPrettyDisplayIDRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Meta            *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	TargetUserId    int64                  `protobuf:"varint,2,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"`
	DisplayUserId   string                 `protobuf:"bytes,3,opt,name=display_user_id,json=displayUserId,proto3" json:"display_user_id,omitempty"`
	DurationMs      int64                  `protobuf:"varint,4,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
	Reason          string                 `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	OperatorAdminId int64                  `protobuf:"varint,6,opt,name=operator_admin_id,json=operatorAdminId,proto3" json:"operator_admin_id,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *AdminGrantPrettyDisplayIDRequest) Reset() {
	*x = AdminGrantPrettyDisplayIDRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[187]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminGrantPrettyDisplayIDRequest) ProtoMessage() {}

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

// Deprecated: Use AdminGrantPrettyDisplayIDRequest.ProtoReflect.Descriptor instead.
func (*AdminGrantPrettyDisplayIDRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{187}
}

func (x *AdminGrantPrettyDisplayIDRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *AdminGrantPrettyDisplayIDRequest) GetTargetUserId() int64 {
	if x != nil {
		return x.TargetUserId
	}
	return 0
}

func (x *AdminGrantPrettyDisplayIDRequest) GetDisplayUserId() string {
	if x != nil {
		return x.DisplayUserId
	}
	return ""
}

func (x *AdminGrantPrettyDisplayIDRequest) GetDurationMs() int64 {
	if x != nil {
		return x.DurationMs
	}
	return 0
}

func (x *AdminGrantPrettyDisplayIDRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *AdminGrantPrettyDisplayIDRequest) GetOperatorAdminId() int64 {
	if x != nil {
		return x.OperatorAdminId
	}
	return 0
}

type AdminGrantPrettyDisplayIDResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *UserIdentity          `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	PrettyId      string                 `protobuf:"bytes,2,opt,name=pretty_id,json=prettyId,proto3" json:"pretty_id,omitempty"`
	LeaseId       string                 `protobuf:"bytes,3,opt,name=lease_id,json=leaseId,proto3" json:"lease_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AdminGrantPrettyDisplayIDResponse) Reset() {
	*x = AdminGrantPrettyDisplayIDResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[188]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*AdminGrantPrettyDisplayIDResponse) ProtoMessage() {}

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

// Deprecated: Use AdminGrantPrettyDisplayIDResponse.ProtoReflect.Descriptor instead.
func (*AdminGrantPrettyDisplayIDResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{188}
}

func (x *AdminGrantPrettyDisplayIDResponse) GetIdentity() *UserIdentity {
	if x != nil {
		return x.Identity
	}
	return nil
}

func (x *AdminGrantPrettyDisplayIDResponse) GetPrettyId() string {
	if x != nil {
		return x.PrettyId
	}
	return ""
}

func (x *AdminGrantPrettyDisplayIDResponse) GetLeaseId() string {
	if x != nil {
		return x.LeaseId
	}
	return ""
}

// CPFormationGiftFeedItem 是组 CP 成立时所用礼物超过固定门槛的页面展示快照。
type CPFormationGiftFeedItem struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FormationId   string                 `protobuf:"bytes,1,opt,name=formation_id,json=formationId,proto3" json:"formation_id,omitempty"`
	GiftCoinValue int64                  `protobuf:"varint,2,opt,name=gift_coin_value,json=giftCoinValue,proto3" json:"gift_coin_value,omitempty"`
	Requester     *CPUserProfile         `protobuf:"bytes,3,opt,name=requester,proto3" json:"requester,omitempty"`
	Target        *CPUserProfile         `protobuf:"bytes,4,opt,name=target,proto3" json:"target,omitempty"`
	FormedAtMs    int64                  `protobuf:"varint,5,opt,name=formed_at_ms,json=formedAtMs,proto3" json:"formed_at_ms,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CPFormationGiftFeedItem) Reset() {
	*x = CPFormationGiftFeedItem{}
	mi := &file_proto_user_v1_user_proto_msgTypes[189]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CPFormationGiftFeedItem) ProtoMessage() {}

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

// Deprecated: Use CPFormationGiftFeedItem.ProtoReflect.Descriptor instead.
func (*CPFormationGiftFeedItem) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{189}
}

func (x *CPFormationGiftFeedItem) GetFormationId() string {
	if x != nil {
		return x.FormationId
	}
	return ""
}

func (x *CPFormationGiftFeedItem) GetGiftCoinValue() int64 {
	if x != nil {
		return x.GiftCoinValue
	}
	return 0
}

func (x *CPFormationGiftFeedItem) GetRequester() *CPUserProfile {
	if x != nil {
		return x.Requester
	}
	return nil
}

func (x *CPFormationGiftFeedItem) GetTarget() *CPUserProfile {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *CPFormationGiftFeedItem) GetFormedAtMs() int64 {
	if x != nil {
		return x.FormedAtMs
	}
	return 0
}

type ListCPFormationGiftFeedRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Limit         int32                  `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPFormationGiftFeedRequest) Reset() {
	*x = ListCPFormationGiftFeedRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[190]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPFormationGiftFeedRequest) ProtoMessage() {}

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

// Deprecated: Use ListCPFormationGiftFeedRequest.ProtoReflect.Descriptor instead.
func (*ListCPFormationGiftFeedRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{190}
}

func (x *ListCPFormationGiftFeedRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

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

type ListCPFormationGiftFeedResponse struct {
	state         protoimpl.MessageState     `protogen:"open.v1"`
	Items         []*CPFormationGiftFeedItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListCPFormationGiftFeedResponse) Reset() {
	*x = ListCPFormationGiftFeedResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[191]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListCPFormationGiftFeedResponse) ProtoMessage() {}

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

// Deprecated: Use ListCPFormationGiftFeedResponse.ProtoReflect.Descriptor instead.
func (*ListCPFormationGiftFeedResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{191}
}

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

// ListAppsRequest 由内部调度器读取启用租户；不接受租户过滤，避免后台任务再次退化成单 App。
type ListAppsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Meta          *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListAppsRequest) Reset() {
	*x = ListAppsRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[192]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListAppsRequest) ProtoMessage() {}

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

// Deprecated: Use ListAppsRequest.ProtoReflect.Descriptor instead.
func (*ListAppsRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{192}
}

func (x *ListAppsRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListAppsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Apps          []*App                 `protobuf:"bytes,1,rep,name=apps,proto3" json:"apps,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListAppsResponse) Reset() {
	*x = ListAppsResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[193]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListAppsResponse) ProtoMessage() {}

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

// Deprecated: Use ListAppsResponse.ProtoReflect.Descriptor instead.
func (*ListAppsResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{193}
}

func (x *ListAppsResponse) GetApps() []*App {
	if x != nil {
		return x.Apps
	}
	return nil
}

// ResolveAdminUserIdentifierRequest 是后台精确查人的内部契约。与客户端展示号解析不同，
// user_identifier 可以是永久默认短号、当前有效展示号或系统长 user_id。
type ResolveAdminUserIdentifierRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Meta           *RequestMeta           `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	UserIdentifier string                 `protobuf:"bytes,2,opt,name=user_identifier,json=userIdentifier,proto3" json:"user_identifier,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ResolveAdminUserIdentifierRequest) Reset() {
	*x = ResolveAdminUserIdentifierRequest{}
	mi := &file_proto_user_v1_user_proto_msgTypes[194]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ResolveAdminUserIdentifierRequest) ProtoMessage() {}

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

// Deprecated: Use ResolveAdminUserIdentifierRequest.ProtoReflect.Descriptor instead.
func (*ResolveAdminUserIdentifierRequest) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{194}
}

func (x *ResolveAdminUserIdentifierRequest) GetMeta() *RequestMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ResolveAdminUserIdentifierRequest) GetUserIdentifier() string {
	if x != nil {
		return x.UserIdentifier
	}
	return ""
}

// ResolveAdminUserIdentifierResponse 返回匹配用户的当前有效身份投影。
type ResolveAdminUserIdentifierResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Identity      *UserIdentity          `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ResolveAdminUserIdentifierResponse) Reset() {
	*x = ResolveAdminUserIdentifierResponse{}
	mi := &file_proto_user_v1_user_proto_msgTypes[195]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ResolveAdminUserIdentifierResponse) ProtoMessage() {}

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

// Deprecated: Use ResolveAdminUserIdentifierResponse.ProtoReflect.Descriptor instead.
func (*ResolveAdminUserIdentifierResponse) Descriptor() ([]byte, []int) {
	return file_proto_user_v1_user_proto_rawDescGZIP(), []int{195}
}

func (x *ResolveAdminUserIdentifierResponse) GetIdentity() *UserIdentity {
	if x != nil {
		return x.Identity
	}
	return nil
}

var File_proto_user_v1_user_proto protoreflect.FileDescriptor

const file_proto_user_v1_user_proto_rawDesc = "" +
	"\n" +
	"\x18proto/user/v1/user.proto\x12\rhyapp.user.v1\"\xe0\x04\n" +
	"\vRequestMeta\x12\x1d\n" +
	"\n" +
	"request_id\x18\x01 \x01(\tR\trequestId\x12\x16\n" +
	"\x06caller\x18\x02 \x01(\tR\x06caller\x12&\n" +
	"\x0fgateway_node_id\x18\x03 \x01(\tR\rgatewayNodeId\x12\x1c\n" +
	"\n" +
	"sent_at_ms\x18\x04 \x01(\x03R\bsentAtMs\x12\x1b\n" +
	"\tdevice_id\x18\x05 \x01(\tR\bdeviceId\x12\x1b\n" +
	"\tclient_ip\x18\x06 \x01(\tR\bclientIp\x12\x1d\n" +
	"\n" +
	"user_agent\x18\a \x01(\tR\tuserAgent\x12\"\n" +
	"\rcountry_by_ip\x18\b \x01(\tR\vcountryByIp\x12\x1d\n" +
	"\n" +
	"session_id\x18\t \x01(\tR\tsessionId\x12\x19\n" +
	"\bapp_code\x18\n" +
	" \x01(\tR\aappCode\x12\x1a\n" +
	"\bplatform\x18\v \x01(\tR\bplatform\x12\x1a\n" +
	"\blanguage\x18\f \x01(\tR\blanguage\x12\x1a\n" +
	"\btimezone\x18\r \x01(\tR\btimezone\x12\x1f\n" +
	"\vapp_version\x18\x0e \x01(\tR\n" +
	"appVersion\x12!\n" +
	"\fbuild_number\x18\x0f \x01(\tR\vbuildNumber\x12!\n" +
	"\fdevice_model\x18\x10 \x01(\tR\vdeviceModel\x12/\n" +
	"\x13device_manufacturer\x18\x11 \x01(\tR\x12deviceManufacturer\x12\x1d\n" +
	"\n" +
	"os_version\x18\x12 \x01(\tR\tosVersion\x12\x12\n" +
	"\x04imei\x18\x13 \x01(\tR\x04imei\"\xf1\x01\n" +
	"\x03App\x12\x15\n" +
	"\x06app_id\x18\x01 \x01(\x03R\x05appId\x12\x19\n" +
	"\bapp_code\x18\x02 \x01(\tR\aappCode\x12\x19\n" +
	"\bapp_name\x18\x03 \x01(\tR\aappName\x12!\n" +
	"\fpackage_name\x18\x04 \x01(\tR\vpackageName\x12\x1a\n" +
	"\bplatform\x18\x05 \x01(\tR\bplatform\x12\x16\n" +
	"\x06status\x18\x06 \x01(\tR\x06status\x12\"\n" +
	"\rcreated_at_ms\x18\a \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\b \x01(\x03R\vupdatedAtMs\"\x9d\x01\n" +
	"\x11ResolveAppRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12!\n" +
	"\fpackage_name\x18\x02 \x01(\tR\vpackageName\x12\x1a\n" +
	"\bplatform\x18\x03 \x01(\tR\bplatform\x12\x19\n" +
	"\bapp_code\x18\x04 \x01(\tR\aappCode\":\n" +
	"\x12ResolveAppResponse\x12$\n" +
	"\x03app\x18\x01 \x01(\v2\x12.hyapp.user.v1.AppR\x03app\"\xbc\n" +
	"\n" +
	"\x04User\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x121\n" +
	"\x06status\x18\x02 \x01(\x0e2\x19.hyapp.user.v1.UserStatusR\x06status\x12\"\n" +
	"\rcreated_at_ms\x18\x03 \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\x04 \x01(\x03R\vupdatedAtMs\x12&\n" +
	"\x0fdisplay_user_id\x18\x05 \x01(\tR\rdisplayUserId\x125\n" +
	"\x17default_display_user_id\x18\x06 \x01(\tR\x14defaultDisplayUserId\x12/\n" +
	"\x14display_user_id_kind\x18\a \x01(\tR\x11displayUserIdKind\x12?\n" +
	"\x1ddisplay_user_id_expires_at_ms\x18\b \x01(\x03R\x18displayUserIdExpiresAtMs\x12\x1a\n" +
	"\busername\x18\t \x01(\tR\busername\x12\x16\n" +
	"\x06gender\x18\n" +
	" \x01(\tR\x06gender\x12\x18\n" +
	"\acountry\x18\v \x01(\tR\acountry\x12\x16\n" +
	"\x06avatar\x18\f \x01(\tR\x06avatar\x12\x14\n" +
	"\x05birth\x18\r \x01(\tR\x05birth\x12\x1a\n" +
	"\blanguage\x18\x0e \x01(\tR\blanguage\x12\x1d\n" +
	"\n" +
	"country_id\x18\x0f \x01(\x03R\tcountryId\x12!\n" +
	"\fcountry_name\x18\x10 \x01(\tR\vcountryName\x120\n" +
	"\x14country_display_name\x18\x11 \x01(\tR\x12countryDisplayName\x12\x1b\n" +
	"\tregion_id\x18\x12 \x01(\x03R\bregionId\x12\x1f\n" +
	"\vregion_code\x18\x13 \x01(\tR\n" +
	"regionCode\x12\x1f\n" +
	"\vregion_name\x18\x14 \x01(\tR\n" +
	"regionName\x12+\n" +
	"\x11profile_completed\x18\x15 \x01(\bR\x10profileCompleted\x125\n" +
	"\x17profile_completed_at_ms\x18\x16 \x01(\x03R\x14profileCompletedAtMs\x12+\n" +
	"\x11onboarding_status\x18\x17 \x01(\tR\x10onboardingStatus\x12\x1f\n" +
	"\viso_numeric\x18\x18 \x01(\tR\n" +
	"isoNumeric\x12,\n" +
	"\x12phone_country_code\x18\x19 \x01(\tR\x10phoneCountryCode\x12'\n" +
	"\x0fcountry_enabled\x18\x1a \x01(\bR\x0ecountryEnabled\x12\x19\n" +
	"\bapp_code\x18\x1b \x01(\tR\aappCode\x125\n" +
	"\x06invite\x18\x1c \x01(\v2\x1d.hyapp.user.v1.InviteOverviewR\x06invite\x12\x1b\n" +
	"\tpretty_id\x18\x1d \x01(\tR\bprettyId\x123\n" +
	"\x16pretty_display_user_id\x18\x1e \x01(\tR\x13prettyDisplayUserId\x12$\n" +
	"\x0eprofile_bg_img\x18\x1f \x01(\tR\fprofileBgImg\x12!\n" +
	"\fcontact_info\x18  \x01(\tR\vcontactInfo\x12=\n" +
	"\x1bwithdraw_usdt_trc20_address\x18! \x01(\tR\x18withdrawUsdtTrc20Address\x12/\n" +
	"\x13content_blacklisted\x18\" \x01(\bR\x12contentBlacklisted\"\xed\x01\n" +
	"\x0eInviteOverview\x12$\n" +
	"\x0emy_invite_code\x18\x01 \x01(\tR\fmyInviteCode\x12%\n" +
	"\x0einvite_enabled\x18\x02 \x01(\bR\rinviteEnabled\x12!\n" +
	"\finvite_count\x18\x03 \x01(\x03R\vinviteCount\x12,\n" +
	"\x12valid_invite_count\x18\x04 \x01(\x03R\x10validInviteCount\x12=\n" +
	"\x1bvalid_invite_threshold_coin\x18\x05 \x01(\x03R\x18validInviteThresholdCoin\"n\n" +
	"\rInviteBinding\x12\x14\n" +
	"\x05bound\x18\x01 \x01(\bR\x05bound\x12\x1f\n" +
	"\vinvite_code\x18\x02 \x01(\tR\n" +
	"inviteCode\x12&\n" +
	"\x0finviter_user_id\x18\x03 \x01(\x03R\rinviterUserId\"\xaa\x03\n" +
	"\x11InviteAttribution\x12\x14\n" +
	"\x05found\x18\x01 \x01(\bR\x05found\x12\x19\n" +
	"\bapp_code\x18\x02 \x01(\tR\aappCode\x12&\n" +
	"\x0finvited_user_id\x18\x03 \x01(\x03R\rinvitedUserId\x12&\n" +
	"\x0finviter_user_id\x18\x04 \x01(\x03R\rinviterUserId\x12\x1f\n" +
	"\vinvite_code\x18\x05 \x01(\tR\n" +
	"inviteCode\x12\x1e\n" +
	"\vbound_at_ms\x18\x06 \x01(\x03R\tboundAtMs\x12'\n" +
	"\x0fvalidity_status\x18\a \x01(\tR\x0evalidityStatus\x12G\n" +
	" accumulated_recharge_coin_amount\x18\b \x01(\x03R\x1daccumulatedRechargeCoinAmount\x12A\n" +
	"\x1drequired_recharge_coin_amount\x18\t \x01(\x03R\x1arequiredRechargeCoinAmount\x12\x1e\n" +
	"\vvalid_at_ms\x18\n" +
	" \x01(\x03R\tvalidAtMs\"u\n" +
	"\x1bGetInviteAttributionRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12&\n" +
	"\x0finvited_user_id\x18\x02 \x01(\x03R\rinvitedUserId\"b\n" +
	"\x1cGetInviteAttributionResponse\x12B\n" +
	"\vattribution\x18\x01 \x01(\v2 .hyapp.user.v1.InviteAttributionR\vattribution\"\xad\x02\n" +
	"\x14UserMicLifetimeStats\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12(\n" +
	"\x10seat_occupied_ms\x18\x02 \x01(\x03R\x0eseatOccupiedMs\x12\"\n" +
	"\rmic_online_ms\x18\x03 \x01(\x03R\vmicOnlineMs\x12#\n" +
	"\rsession_count\x18\x04 \x01(\x03R\fsessionCount\x12%\n" +
	"\x0ffirst_mic_at_ms\x18\x05 \x01(\x03R\ffirstMicAtMs\x12#\n" +
	"\x0elast_mic_at_ms\x18\x06 \x01(\x03R\vlastMicAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\a \x01(\x03R\vupdatedAtMs\x12\x19\n" +
	"\bapp_code\x18\b \x01(\tR\aappCode\"i\n" +
	"\x1eGetUserMicLifetimeStatsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\"\\\n" +
	"\x1fGetUserMicLifetimeStatsResponse\x129\n" +
	"\x05stats\x18\x01 \x01(\v2#.hyapp.user.v1.UserMicLifetimeStatsR\x05stats\"\xe9\x02\n" +
	"\x10CronBatchRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x15\n" +
	"\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1b\n" +
	"\tworker_id\x18\x03 \x01(\tR\bworkerId\x12\x1d\n" +
	"\n" +
	"batch_size\x18\x04 \x01(\x05R\tbatchSize\x12\x1e\n" +
	"\vlock_ttl_ms\x18\x05 \x01(\x03R\tlockTtlMs\x12:\n" +
	"\x1apending_publish_max_age_ms\x18\x06 \x01(\x03R\x16pendingPublishMaxAgeMs\x12@\n" +
	"\x1dpublishing_session_max_age_ms\x18\a \x01(\x03R\x19publishingSessionMaxAgeMs\x124\n" +
	"\x17open_session_max_age_ms\x18\b \x01(\x03R\x13openSessionMaxAgeMs\"\xc6\x01\n" +
	"\x11CronBatchResponse\x12#\n" +
	"\rclaimed_count\x18\x01 \x01(\x05R\fclaimedCount\x12'\n" +
	"\x0fprocessed_count\x18\x02 \x01(\x05R\x0eprocessedCount\x12#\n" +
	"\rsuccess_count\x18\x03 \x01(\x05R\fsuccessCount\x12#\n" +
	"\rfailure_count\x18\x04 \x01(\x05R\ffailureCount\x12\x19\n" +
	"\bhas_more\x18\x05 \x01(\bR\ahasMore\"\x96\x04\n" +
	"\tAuthToken\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12\x1d\n" +
	"\n" +
	"session_id\x18\x02 \x01(\tR\tsessionId\x12!\n" +
	"\faccess_token\x18\x03 \x01(\tR\vaccessToken\x12#\n" +
	"\rrefresh_token\x18\x04 \x01(\tR\frefreshToken\x12$\n" +
	"\x0eexpires_in_sec\x18\x05 \x01(\x03R\fexpiresInSec\x12\x1d\n" +
	"\n" +
	"token_type\x18\x06 \x01(\tR\ttokenType\x12&\n" +
	"\x0fdisplay_user_id\x18\a \x01(\tR\rdisplayUserId\x125\n" +
	"\x17default_display_user_id\x18\b \x01(\tR\x14defaultDisplayUserId\x12/\n" +
	"\x14display_user_id_kind\x18\t \x01(\tR\x11displayUserIdKind\x12?\n" +
	"\x1ddisplay_user_id_expires_at_ms\x18\n" +
	" \x01(\x03R\x18displayUserIdExpiresAtMs\x12+\n" +
	"\x11profile_completed\x18\v \x01(\bR\x10profileCompleted\x12+\n" +
	"\x11onboarding_status\x18\f \x01(\tR\x10onboardingStatus\x12\x19\n" +
	"\bapp_code\x18\r \x01(\tR\aappCode\"Y\n" +
	"\x0eGetUserRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\":\n" +
	"\x0fGetUserResponse\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\"\xbc\x01\n" +
	"\x19BusinessUserLookupRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\"\n" +
	"\ractor_user_id\x18\x02 \x01(\x03R\vactorUserId\x12\x14\n" +
	"\x05scene\x18\x03 \x01(\tR\x05scene\x12\x18\n" +
	"\akeyword\x18\x04 \x01(\tR\akeyword\x12\x1b\n" +
	"\tpage_size\x18\x05 \x01(\x05R\bpageSize\"\x9f\x02\n" +
	"\x16BusinessUserLookupItem\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12&\n" +
	"\x0fdisplay_user_id\x18\x02 \x01(\tR\rdisplayUserId\x12\x1a\n" +
	"\busername\x18\x03 \x01(\tR\busername\x12\x16\n" +
	"\x06avatar\x18\x04 \x01(\tR\x06avatar\x121\n" +
	"\x06status\x18\x05 \x01(\x0e2\x19.hyapp.user.v1.UserStatusR\x06status\x12\x1b\n" +
	"\tregion_id\x18\x06 \x01(\x03R\bregionId\x12\x1f\n" +
	"\vregion_code\x18\a \x01(\tR\n" +
	"regionCode\x12\x1f\n" +
	"\vregion_name\x18\b \x01(\tR\n" +
	"regionName\"Y\n" +
	"\x1aBusinessUserLookupResponse\x12;\n" +
	"\x05users\x18\x01 \x03(\v2%.hyapp.user.v1.BusinessUserLookupItemR\x05users\"\x88\x02\n" +
	"\x10UserProfileStats\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12%\n" +
	"\x0evisitors_count\x18\x02 \x01(\x03R\rvisitorsCount\x12'\n" +
	"\x0ffollowing_count\x18\x03 \x01(\x03R\x0efollowingCount\x12#\n" +
	"\rfriends_count\x18\x04 \x01(\x03R\ffriendsCount\x12\"\n" +
	"\rupdated_at_ms\x18\x05 \x01(\x03R\vupdatedAtMs\x12\x19\n" +
	"\bapp_code\x18\x06 \x01(\tR\aappCode\x12'\n" +
	"\x0ffollowers_count\x18\a \x01(\x03R\x0efollowersCount\"c\n" +
	"\x18GetMyProfileStatsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\"R\n" +
	"\x19GetMyProfileStatsResponse\x125\n" +
	"\x05stats\x18\x01 \x01(\v2\x1f.hyapp.user.v1.UserProfileStatsR\x05stats\"\x99\x01\n" +
	"\x19RecordProfileVisitRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12&\n" +
	"\x0fvisitor_user_id\x18\x02 \x01(\x03R\rvisitorUserId\x12$\n" +
	"\x0etarget_user_id\x18\x03 \x01(\x03R\ftargetUserId\"\xac\x01\n" +
	"\x1aRecordProfileVisitResponse\x12\x1a\n" +
	"\brecorded\x18\x01 \x01(\bR\brecorded\x12B\n" +
	"\ftarget_stats\x18\x02 \x01(\v2\x1f.hyapp.user.v1.UserProfileStatsR\vtargetStats\x12.\n" +
	"\x13target_stats_hidden\x18\x03 \x01(\bR\x11targetStatsHidden\"\x96\x02\n" +
	"\x12ProfileVisitRecord\x12&\n" +
	"\x0fvisitor_user_id\x18\x01 \x01(\x03R\rvisitorUserId\x12$\n" +
	"\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\x12\x1f\n" +
	"\vvisit_count\x18\x03 \x01(\x03R\n" +
	"visitCount\x12+\n" +
	"\x12last_visited_at_ms\x18\x04 \x01(\x03R\x0flastVisitedAtMs\x126\n" +
	"\x17visitor_identity_hidden\x18\x05 \x01(\bR\x15visitorIdentityHidden\x12,\n" +
	"\x12anonymous_visit_id\x18\x06 \x01(\tR\x10anonymousVisitId\"\x96\x01\n" +
	"\x1aListProfileVisitorsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x12\n" +
	"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\"p\n" +
	"\x1bListProfileVisitorsResponse\x12;\n" +
	"\arecords\x18\x01 \x03(\v2!.hyapp.user.v1.ProfileVisitRecordR\arecords\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\x97\x01\n" +
	"\x11FollowUserRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12(\n" +
	"\x10follower_user_id\x18\x02 \x01(\x03R\x0efollowerUserId\x12(\n" +
	"\x10followee_user_id\x18\x03 \x01(\x03R\x0efolloweeUserId\"z\n" +
	"\x12FollowUserResponse\x12\x1c\n" +
	"\tfollowing\x18\x01 \x01(\bR\tfollowing\x12F\n" +
	"\x0efollower_stats\x18\x02 \x01(\v2\x1f.hyapp.user.v1.UserProfileStatsR\rfollowerStats\"\x99\x01\n" +
	"\x13UnfollowUserRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12(\n" +
	"\x10follower_user_id\x18\x02 \x01(\x03R\x0efollowerUserId\x12(\n" +
	"\x10followee_user_id\x18\x03 \x01(\x03R\x0efolloweeUserId\"|\n" +
	"\x14UnfollowUserResponse\x12\x1c\n" +
	"\tfollowing\x18\x01 \x01(\bR\tfollowing\x12F\n" +
	"\x0efollower_stats\x18\x02 \x01(\v2\x1f.hyapp.user.v1.UserProfileStatsR\rfollowerStats\"\x88\x01\n" +
	"\fFollowRecord\x12(\n" +
	"\x10follower_user_id\x18\x01 \x01(\x03R\x0efollowerUserId\x12(\n" +
	"\x10followee_user_id\x18\x02 \x01(\x03R\x0efolloweeUserId\x12$\n" +
	"\x0efollowed_at_ms\x18\x03 \x01(\x03R\ffollowedAtMs\"\xe7\x01\n" +
	"\x14ListFollowingRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x12\n" +
	"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\x12/\n" +
	"\x14cursor_updated_at_ms\x18\x05 \x01(\x03R\x11cursorUpdatedAtMs\x12$\n" +
	"\x0ecursor_user_id\x18\x06 \x01(\x03R\fcursorUserId\"d\n" +
	"\x15ListFollowingResponse\x125\n" +
	"\arecords\x18\x01 \x03(\v2\x1b.hyapp.user.v1.FollowRecordR\arecords\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\x96\x01\n" +
	"\x12ApplyFriendRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12*\n" +
	"\x11requester_user_id\x18\x02 \x01(\x03R\x0frequesterUserId\x12$\n" +
	"\x0etarget_user_id\x18\x03 \x01(\x03R\ftargetUserId\"\x82\x01\n" +
	"\x13ApplyFriendResponse\x12B\n" +
	"\vapplication\x18\x01 \x01(\v2 .hyapp.user.v1.FriendApplicationR\vapplication\x12'\n" +
	"\x0falready_friends\x18\x02 \x01(\bR\x0ealreadyFriends\"\xa6\x01\n" +
	"\x1eAcceptFriendApplicationRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12(\n" +
	"\x10accepter_user_id\x18\x02 \x01(\x03R\x0eaccepterUserId\x12*\n" +
	"\x11requester_user_id\x18\x03 \x01(\x03R\x0frequesterUserId\"V\n" +
	"\x1fAcceptFriendApplicationResponse\x123\n" +
	"\x06friend\x18\x01 \x01(\v2\x1b.hyapp.user.v1.FriendRecordR\x06friend\"\x84\x01\n" +
	"\x13DeleteFriendRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12$\n" +
	"\x0efriend_user_id\x18\x03 \x01(\x03R\ffriendUserId\"0\n" +
	"\x14DeleteFriendResponse\x12\x18\n" +
	"\adeleted\x18\x01 \x01(\bR\adeleted\"s\n" +
	"\fFriendRecord\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12$\n" +
	"\x0efriend_user_id\x18\x02 \x01(\x03R\ffriendUserId\x12$\n" +
	"\x0efriended_at_ms\x18\x03 \x01(\x03R\ffriendedAtMs\"\xe5\x01\n" +
	"\x12ListFriendsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x12\n" +
	"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\x12/\n" +
	"\x14cursor_updated_at_ms\x18\x05 \x01(\x03R\x11cursorUpdatedAtMs\x12$\n" +
	"\x0ecursor_user_id\x18\x06 \x01(\x03R\fcursorUserId\"b\n" +
	"\x13ListFriendsResponse\x125\n" +
	"\arecords\x18\x01 \x03(\v2\x1b.hyapp.user.v1.FriendRecordR\arecords\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\xc5\x01\n" +
	"\x11FriendApplication\x12*\n" +
	"\x11requester_user_id\x18\x01 \x01(\x03R\x0frequesterUserId\x12$\n" +
	"\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12\"\n" +
	"\rcreated_at_ms\x18\x04 \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\x05 \x01(\x03R\vupdatedAtMs\"\xb7\x01\n" +
	"\x1dListFriendApplicationsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1c\n" +
	"\tdirection\x18\x03 \x01(\tR\tdirection\x12\x12\n" +
	"\x04page\x18\x04 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x05 \x01(\x05R\bpageSize\"|\n" +
	"\x1eListFriendApplicationsResponse\x12D\n" +
	"\fapplications\x18\x01 \x03(\v2 .hyapp.user.v1.FriendApplicationR\fapplications\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\x84\x01\n" +
	"\rCPUserProfile\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12&\n" +
	"\x0fdisplay_user_id\x18\x02 \x01(\tR\rdisplayUserId\x12\x1a\n" +
	"\busername\x18\x03 \x01(\tR\busername\x12\x16\n" +
	"\x06avatar\x18\x04 \x01(\tR\x06avatar\"\xa3\x02\n" +
	"\x0eCPGiftSnapshot\x12\x17\n" +
	"\agift_id\x18\x01 \x01(\tR\x06giftId\x12\x1b\n" +
	"\tgift_name\x18\x02 \x01(\tR\bgiftName\x12\"\n" +
	"\rgift_icon_url\x18\x03 \x01(\tR\vgiftIconUrl\x12,\n" +
	"\x12gift_animation_url\x18\x04 \x01(\tR\x10giftAnimationUrl\x12\x1d\n" +
	"\n" +
	"gift_count\x18\x05 \x01(\x05R\tgiftCount\x12\x1d\n" +
	"\n" +
	"gift_value\x18\x06 \x01(\x03R\tgiftValue\x12,\n" +
	"\x12billing_receipt_id\x18\a \x01(\tR\x10billingReceiptId\x12\x1d\n" +
	"\n" +
	"coin_spent\x18\b \x01(\x03R\tcoinSpent\"\xe7\x03\n" +
	"\rCPApplication\x12%\n" +
	"\x0eapplication_id\x18\x01 \x01(\tR\rapplicationId\x12#\n" +
	"\rrelation_type\x18\x02 \x01(\tR\frelationType\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12:\n" +
	"\trequester\x18\x04 \x01(\v2\x1c.hyapp.user.v1.CPUserProfileR\trequester\x124\n" +
	"\x06target\x18\x05 \x01(\v2\x1c.hyapp.user.v1.CPUserProfileR\x06target\x12\x17\n" +
	"\aroom_id\x18\x06 \x01(\tR\x06roomId\x12$\n" +
	"\x0eroom_region_id\x18\a \x01(\x03R\froomRegionId\x121\n" +
	"\x04gift\x18\b \x01(\v2\x1d.hyapp.user.v1.CPGiftSnapshotR\x04gift\x12\"\n" +
	"\rcreated_at_ms\x18\t \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\n" +
	" \x01(\x03R\vupdatedAtMs\x12\"\n" +
	"\rexpires_at_ms\x18\v \x01(\x03R\vexpiresAtMs\x12\"\n" +
	"\rdecided_at_ms\x18\f \x01(\x03R\vdecidedAtMs\"\xad\x05\n" +
	"\x0eCPRelationship\x12'\n" +
	"\x0frelationship_id\x18\x01 \x01(\tR\x0erelationshipId\x12#\n" +
	"\rrelation_type\x18\x02 \x01(\tR\frelationType\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12,\n" +
	"\x02me\x18\x04 \x01(\v2\x1c.hyapp.user.v1.CPUserProfileR\x02me\x126\n" +
	"\apartner\x18\x05 \x01(\v2\x1c.hyapp.user.v1.CPUserProfileR\apartner\x12%\n" +
	"\x0eintimacy_value\x18\x06 \x01(\x03R\rintimacyValue\x12\x14\n" +
	"\x05level\x18\a \x01(\x05R\x05level\x12 \n" +
	"\fformed_at_ms\x18\t \x01(\x03R\n" +
	"formedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\n" +
	" \x01(\x03R\vupdatedAtMs\x126\n" +
	"\x17current_level_threshold\x18\v \x01(\x03R\x15currentLevelThreshold\x120\n" +
	"\x14next_level_threshold\x18\f \x01(\x03R\x12nextLevelThreshold\x121\n" +
	"\x15needed_for_next_level\x18\r \x01(\x03R\x12neededForNextLevel\x124\n" +
	"\x16level_progress_percent\x18\x0e \x01(\x05R\x14levelProgressPercent\x12\x1b\n" +
	"\tmax_level\x18\x0f \x01(\bR\bmaxLevel\x12,\n" +
	"\x12breakup_cost_coins\x18\x10 \x01(\x03R\x10breakupCostCoins\x12\x1e\n" +
	"\vended_at_ms\x18\x11 \x01(\x03R\tendedAtMsJ\x04\b\b\x10\tR\bequipped\"\xf9\x01\n" +
	"\x15CPAvatarFrameSnapshot\x12\x1f\n" +
	"\vresource_id\x18\x01 \x01(\x03R\n" +
	"resourceId\x12#\n" +
	"\rresource_code\x18\x02 \x01(\tR\fresourceCode\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12\x1b\n" +
	"\tasset_url\x18\x04 \x01(\tR\bassetUrl\x12\x1f\n" +
	"\vpreview_url\x18\x05 \x01(\tR\n" +
	"previewUrl\x12#\n" +
	"\ranimation_url\x18\x06 \x01(\tR\fanimationUrl\x12#\n" +
	"\rmetadata_json\x18\a \x01(\tR\fmetadataJson\"\xd9\x01\n" +
	"\x19CPIntimacyLeaderboardUser\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12&\n" +
	"\x0fdisplay_user_id\x18\x02 \x01(\tR\rdisplayUserId\x12\x1a\n" +
	"\busername\x18\x03 \x01(\tR\busername\x12\x16\n" +
	"\x06avatar\x18\x04 \x01(\tR\x06avatar\x12G\n" +
	"\favatar_frame\x18\x05 \x01(\v2$.hyapp.user.v1.CPAvatarFrameSnapshotR\vavatarFrame\"\x82\x03\n" +
	"\x19CPIntimacyLeaderboardItem\x12\x12\n" +
	"\x04rank\x18\x01 \x01(\x03R\x04rank\x12'\n" +
	"\x0frelationship_id\x18\x02 \x01(\tR\x0erelationshipId\x12#\n" +
	"\rrelation_type\x18\x03 \x01(\tR\frelationType\x12%\n" +
	"\x0eintimacy_value\x18\x04 \x01(\x03R\rintimacyValue\x12\x14\n" +
	"\x05level\x18\x05 \x01(\x05R\x05level\x12?\n" +
	"\x06user_a\x18\x06 \x01(\v2(.hyapp.user.v1.CPIntimacyLeaderboardUserR\x05userA\x12?\n" +
	"\x06user_b\x18\a \x01(\v2(.hyapp.user.v1.CPIntimacyLeaderboardUserR\x05userB\x12 \n" +
	"\fformed_at_ms\x18\b \x01(\x03R\n" +
	"formedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\t \x01(\x03R\vupdatedAtMs\"\xab\x03\n" +
	"\x11CPWeeklyRankEntry\x12\x12\n" +
	"\x04rank\x18\x01 \x01(\x03R\x04rank\x12'\n" +
	"\x0frelationship_id\x18\x02 \x01(\tR\x0erelationshipId\x12#\n" +
	"\rrelation_type\x18\x03 \x01(\tR\frelationType\x12\x14\n" +
	"\x05score\x18\x04 \x01(\x03R\x05score\x12?\n" +
	"\x06user_a\x18\x05 \x01(\v2(.hyapp.user.v1.CPIntimacyLeaderboardUserR\x05userA\x12?\n" +
	"\x06user_b\x18\x06 \x01(\v2(.hyapp.user.v1.CPIntimacyLeaderboardUserR\x05userB\x12 \n" +
	"\fformed_at_ms\x18\a \x01(\x03R\n" +
	"formedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\b \x01(\x03R\vupdatedAtMs\x12+\n" +
	"\x12first_scored_at_ms\x18\t \x01(\x03R\x0ffirstScoredAtMs\x12)\n" +
	"\x11last_scored_at_ms\x18\n" +
	" \x01(\x03R\x0elastScoredAtMs\"\xbd\x01\n" +
	"\x1eListCPWeeklyRankEntriesRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12#\n" +
	"\rrelation_type\x18\x02 \x01(\tR\frelationType\x12\x19\n" +
	"\bstart_ms\x18\x03 \x01(\x03R\astartMs\x12\x15\n" +
	"\x06end_ms\x18\x04 \x01(\x03R\x05endMs\x12\x14\n" +
	"\x05limit\x18\x05 \x01(\x05R\x05limit\"\x83\x01\n" +
	"\x1fListCPWeeklyRankEntriesResponse\x12:\n" +
	"\aentries\x18\x01 \x03(\v2 .hyapp.user.v1.CPWeeklyRankEntryR\aentries\x12$\n" +
	"\x0eserver_time_ms\x18\x02 \x01(\x03R\fserverTimeMs\"\xcb\x01\n" +
	"\x19ListCPApplicationsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1c\n" +
	"\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12\x12\n" +
	"\x04page\x18\x05 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x06 \x01(\x05R\bpageSize\"\x9a\x01\n" +
	"\x1aListCPApplicationsResponse\x12@\n" +
	"\fapplications\x18\x01 \x03(\v2\x1c.hyapp.user.v1.CPApplicationR\fapplications\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\x12$\n" +
	"\x0eserver_time_ms\x18\x03 \x01(\x03R\fserverTimeMs\"\x8c\x01\n" +
	"\x1aAcceptCPApplicationRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12%\n" +
	"\x0eapplication_id\x18\x03 \x01(\tR\rapplicationId\"\xa0\x01\n" +
	"\x1bAcceptCPApplicationResponse\x12>\n" +
	"\vapplication\x18\x01 \x01(\v2\x1c.hyapp.user.v1.CPApplicationR\vapplication\x12A\n" +
	"\frelationship\x18\x02 \x01(\v2\x1d.hyapp.user.v1.CPRelationshipR\frelationship\"\xa4\x01\n" +
	"\x1aRejectCPApplicationRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12%\n" +
	"\x0eapplication_id\x18\x03 \x01(\tR\rapplicationId\x12\x16\n" +
	"\x06reason\x18\x04 \x01(\tR\x06reason\"]\n" +
	"\x1bRejectCPApplicationResponse\x12>\n" +
	"\vapplication\x18\x01 \x01(\v2\x1c.hyapp.user.v1.CPApplicationR\vapplication\"\xbb\x01\n" +
	"\x1aListCPRelationshipsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12#\n" +
	"\rrelation_type\x18\x03 \x01(\tR\frelationType\x12\x12\n" +
	"\x04page\x18\x04 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x05 \x01(\x05R\bpageSize\"\x9a\x01\n" +
	"\x1bListCPRelationshipsResponse\x12C\n" +
	"\rrelationships\x18\x01 \x03(\v2\x1d.hyapp.user.v1.CPRelationshipR\rrelationships\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05totalJ\x04\b\x03\x10\x04R\x1amax_count_by_relation_type\"\xa8\x01\n" +
	" ListCPIntimacyLeaderboardRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12#\n" +
	"\rrelation_type\x18\x02 \x01(\tR\frelationType\x12\x12\n" +
	"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\"\xd0\x01\n" +
	"!ListCPIntimacyLeaderboardResponse\x12>\n" +
	"\x05items\x18\x01 \x03(\v2(.hyapp.user.v1.CPIntimacyLeaderboardItemR\x05items\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\x12\x12\n" +
	"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\x12$\n" +
	"\x0eserver_time_ms\x18\x05 \x01(\x03R\fserverTimeMs\"\xb4\x01\n" +
	"!PrepareBreakCPRelationshipRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12'\n" +
	"\x0frelationship_id\x18\x03 \x01(\tR\x0erelationshipId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x04 \x01(\tR\tcommandId\"\xae\x02\n" +
	"\"PrepareBreakCPRelationshipResponse\x12A\n" +
	"\frelationship\x18\x01 \x01(\v2\x1d.hyapp.user.v1.CPRelationshipR\frelationship\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12,\n" +
	"\x12breakup_cost_coins\x18\x04 \x01(\x03R\x10breakupCostCoins\x122\n" +
	"\x15wallet_transaction_id\x18\x05 \x01(\tR\x13walletTransactionId\x12,\n" +
	"\x12coin_balance_after\x18\x06 \x01(\x03R\x10coinBalanceAfter\"\xc0\x02\n" +
	"!ConfirmBreakCPRelationshipRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12'\n" +
	"\x0frelationship_id\x18\x03 \x01(\tR\x0erelationshipId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x04 \x01(\tR\tcommandId\x122\n" +
	"\x15wallet_transaction_id\x18\x05 \x01(\tR\x13walletTransactionId\x12(\n" +
	"\x10paid_coin_amount\x18\x06 \x01(\x03R\x0epaidCoinAmount\x12,\n" +
	"\x12coin_balance_after\x18\a \x01(\x03R\x10coinBalanceAfter\"\xf7\x01\n" +
	"\"ConfirmBreakCPRelationshipResponse\x12A\n" +
	"\frelationship\x18\x01 \x01(\v2\x1d.hyapp.user.v1.CPRelationshipR\frelationship\x12,\n" +
	"\x12breakup_cost_coins\x18\x02 \x01(\x03R\x10breakupCostCoins\x122\n" +
	"\x15wallet_transaction_id\x18\x03 \x01(\tR\x13walletTransactionId\x12,\n" +
	"\x12coin_balance_after\x18\x04 \x01(\x03R\x10coinBalanceAfter\"\xcb\x01\n" +
	" CancelBreakCPRelationshipRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12'\n" +
	"\x0frelationship_id\x18\x03 \x01(\tR\x0erelationshipId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x04 \x01(\tR\tcommandId\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\"Z\n" +
	"!CancelBreakCPRelationshipResponse\x12\x1d\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tR\tcommandId\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\"\xb8\x05\n" +
	"\x0fRoomGiftCPEvent\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x19\n" +
	"\bevent_id\x18\x02 \x01(\tR\aeventId\x12\x17\n" +
	"\aroom_id\x18\x03 \x01(\tR\x06roomId\x12!\n" +
	"\froom_version\x18\x04 \x01(\x03R\vroomVersion\x12$\n" +
	"\x0eoccurred_at_ms\x18\x05 \x01(\x03R\foccurredAtMs\x12$\n" +
	"\x0esender_user_id\x18\x06 \x01(\x03R\fsenderUserId\x12$\n" +
	"\x0etarget_user_id\x18\a \x01(\x03R\ftargetUserId\x12\x17\n" +
	"\agift_id\x18\b \x01(\tR\x06giftId\x12\x1d\n" +
	"\n" +
	"gift_count\x18\t \x01(\x05R\tgiftCount\x12\x1d\n" +
	"\n" +
	"gift_value\x18\n" +
	" \x01(\x03R\tgiftValue\x12,\n" +
	"\x12billing_receipt_id\x18\v \x01(\tR\x10billingReceiptId\x12*\n" +
	"\x11visible_region_id\x18\f \x01(\x03R\x0fvisibleRegionId\x12\x1d\n" +
	"\n" +
	"command_id\x18\r \x01(\tR\tcommandId\x12$\n" +
	"\x0egift_type_code\x18\x0e \x01(\tR\fgiftTypeCode\x12(\n" +
	"\x10cp_relation_type\x18\x0f \x01(\tR\x0ecpRelationType\x12\x1b\n" +
	"\tgift_name\x18\x10 \x01(\tR\bgiftName\x12\"\n" +
	"\rgift_icon_url\x18\x11 \x01(\tR\vgiftIconUrl\x12,\n" +
	"\x12gift_animation_url\x18\x12 \x01(\tR\x10giftAnimationUrl\x12\x1d\n" +
	"\n" +
	"coin_spent\x18\x13 \x01(\x03R\tcoinSpent\"\x85\x01\n" +
	"\x1dConsumeRoomGiftCPEventRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x124\n" +
	"\x05event\x18\x02 \x01(\v2\x1e.hyapp.user.v1.RoomGiftCPEventR\x05event\"\xbf\x01\n" +
	"\x1eConsumeRoomGiftCPEventResponse\x12\x1a\n" +
	"\bconsumed\x18\x01 \x01(\bR\bconsumed\x12>\n" +
	"\vapplication\x18\x02 \x01(\v2\x1c.hyapp.user.v1.CPApplicationR\vapplication\x12A\n" +
	"\frelationship\x18\x03 \x01(\v2\x1d.hyapp.user.v1.CPRelationshipR\frelationship\"\xba\x02\n" +
	"\n" +
	"UserReport\x12\x1b\n" +
	"\treport_id\x18\x01 \x01(\tR\breportId\x12(\n" +
	"\x10reporter_user_id\x18\x02 \x01(\x03R\x0ereporterUserId\x12\x1f\n" +
	"\vtarget_type\x18\x03 \x01(\tR\n" +
	"targetType\x12\x17\n" +
	"\auser_id\x18\x04 \x01(\x03R\x06userId\x12\x17\n" +
	"\aroom_id\x18\x05 \x01(\tR\x06roomId\x12\x1f\n" +
	"\vreport_type\x18\x06 \x01(\tR\n" +
	"reportType\x12\x16\n" +
	"\x06reason\x18\a \x01(\tR\x06reason\x12\x1d\n" +
	"\n" +
	"image_urls\x18\b \x03(\tR\timageUrls\x12\x16\n" +
	"\x06status\x18\t \x01(\tR\x06status\x12\"\n" +
	"\rcreated_at_ms\x18\n" +
	" \x01(\x03R\vcreatedAtMs\"\xf9\x01\n" +
	"\x13SubmitReportRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12(\n" +
	"\x10reporter_user_id\x18\x02 \x01(\x03R\x0ereporterUserId\x12\x17\n" +
	"\auser_id\x18\x03 \x01(\x03R\x06userId\x12\x17\n" +
	"\aroom_id\x18\x04 \x01(\tR\x06roomId\x12\x1f\n" +
	"\vreport_type\x18\x05 \x01(\tR\n" +
	"reportType\x12\x16\n" +
	"\x06reason\x18\x06 \x01(\tR\x06reason\x12\x1d\n" +
	"\n" +
	"image_urls\x18\a \x03(\tR\timageUrls\"I\n" +
	"\x14SubmitReportResponse\x121\n" +
	"\x06report\x18\x01 \x01(\v2\x19.hyapp.user.v1.UserReportR\x06report\"a\n" +
	"\x14BatchGetUsersRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x19\n" +
	"\buser_ids\x18\x02 \x03(\x03R\auserIds\"\xad\x01\n" +
	"\x15BatchGetUsersResponse\x12E\n" +
	"\x05users\x18\x01 \x03(\v2/.hyapp.user.v1.BatchGetUsersResponse.UsersEntryR\x05users\x1aM\n" +
	"\n" +
	"UsersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x03R\x03key\x12)\n" +
	"\x05value\x18\x02 \x01(\v2\x13.hyapp.user.v1.UserR\x05value:\x028\x01\"\x90\x03\n" +
	"\x14ActiveUserBanSummary\x12\x16\n" +
	"\x06active\x18\x01 \x01(\bR\x06active\x12\x16\n" +
	"\x06source\x18\x02 \x01(\tR\x06source\x12\x15\n" +
	"\x06ban_id\x18\x03 \x01(\tR\x05banId\x12\x1c\n" +
	"\tpermanent\x18\x04 \x01(\bR\tpermanent\x12\"\n" +
	"\rexpires_at_ms\x18\x05 \x01(\x03R\vexpiresAtMs\x12:\n" +
	"\vuser_status\x18\x06 \x01(\x0e2\x19.hyapp.user.v1.UserStatusR\n" +
	"userStatus\x12#\n" +
	"\roperator_type\x18\a \x01(\tR\foperatorType\x12(\n" +
	"\x10operator_user_id\x18\b \x01(\x03R\x0eoperatorUserId\x12\x16\n" +
	"\x06reason\x18\t \x01(\tR\x06reason\x12\"\n" +
	"\rcreated_at_ms\x18\n" +
	" \x01(\x03R\vcreatedAtMs\x12(\n" +
	"\x10active_ban_count\x18\v \x01(\x05R\x0eactiveBanCount\"\xc5\x03\n" +
	"\x10UserAdminProfile\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\x12\x14\n" +
	"\x05birth\x18\x02 \x01(\tR\x05birth\x12'\n" +
	"\x0fregister_device\x18\x03 \x01(\tR\x0eregisterDevice\x126\n" +
	"\x18last_success_login_at_ms\x18\x04 \x01(\x03R\x14lastSuccessLoginAtMs\x12\x14\n" +
	"\x05roles\x18\x05 \x03(\tR\x05roles\x125\n" +
	"\x03ban\x18\x06 \x01(\v2#.hyapp.user.v1.ActiveUserBanSummaryR\x03ban\x12,\n" +
	"\x12last_operator_type\x18\a \x01(\tR\x10lastOperatorType\x121\n" +
	"\x15last_operator_user_id\x18\b \x01(\x03R\x12lastOperatorUserId\x122\n" +
	"\x15last_operation_reason\x18\t \x01(\tR\x13lastOperationReason\x12/\n" +
	"\x14last_operation_at_ms\x18\n" +
	" \x01(\x03R\x11lastOperationAtMs\"m\n" +
	" BatchGetUserAdminProfilesRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x19\n" +
	"\buser_ids\x18\x02 \x03(\x03R\auserIds\"\xdd\x01\n" +
	"!BatchGetUserAdminProfilesResponse\x12Z\n" +
	"\bprofiles\x18\x01 \x03(\v2>.hyapp.user.v1.BatchGetUserAdminProfilesResponse.ProfilesEntryR\bprofiles\x1a\\\n" +
	"\rProfilesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x03R\x03key\x125\n" +
	"\x05value\x18\x02 \x01(\v2\x1f.hyapp.user.v1.UserAdminProfileR\x05value:\x028\x01\"\x86\x01\n" +
	" AdminIssueUserAccessTokenRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x19\n" +
	"\bapp_code\x18\x02 \x01(\tR\aappCode\x12\x17\n" +
	"\auser_id\x18\x03 \x01(\x03R\x06userId\"\x87\x02\n" +
	"!AdminIssueUserAccessTokenResponse\x12!\n" +
	"\faccess_token\x18\x01 \x01(\tR\vaccessToken\x12\x1d\n" +
	"\n" +
	"token_type\x18\x02 \x01(\tR\ttokenType\x12$\n" +
	"\x0eexpires_in_sec\x18\x03 \x01(\x03R\fexpiresInSec\x12\x1d\n" +
	"\n" +
	"session_id\x18\x04 \x01(\tR\tsessionId\x12\x1b\n" +
	"\tdevice_id\x18\x05 \x01(\tR\bdeviceId\x12>\n" +
	"\x1csession_last_heartbeat_at_ms\x18\x06 \x01(\x03R\x18sessionLastHeartbeatAtMs\"\xe1\x03\n" +
	"\x19UserContentBlacklistEntry\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12&\n" +
	"\x0fdisplay_user_id\x18\x02 \x01(\tR\rdisplayUserId\x125\n" +
	"\x17default_display_user_id\x18\x03 \x01(\tR\x14defaultDisplayUserId\x12\x1b\n" +
	"\tpretty_id\x18\x04 \x01(\tR\bprettyId\x123\n" +
	"\x16pretty_display_user_id\x18\x05 \x01(\tR\x13prettyDisplayUserId\x12\x1a\n" +
	"\busername\x18\x06 \x01(\tR\busername\x12\x16\n" +
	"\x06avatar\x18\a \x01(\tR\x06avatar\x12:\n" +
	"\vuser_status\x18\b \x01(\x0e2\x19.hyapp.user.v1.UserStatusR\n" +
	"userStatus\x12*\n" +
	"\x11operator_admin_id\x18\t \x01(\x03R\x0foperatorAdminId\x12\x16\n" +
	"\x06reason\x18\n" +
	" \x01(\tR\x06reason\x12\"\n" +
	"\rcreated_at_ms\x18\v \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\f \x01(\x03R\vupdatedAtMs\"\x82\x01\n" +
	"\x1fListUserContentBlacklistRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x12\n" +
	"\x04page\x18\x02 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x03 \x01(\x05R\bpageSize\"x\n" +
	" ListUserContentBlacklistResponse\x12>\n" +
	"\x05items\x18\x01 \x03(\v2(.hyapp.user.v1.UserContentBlacklistEntryR\x05items\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\xb2\x01\n" +
	"#AdminAddUserContentBlacklistRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12*\n" +
	"\x11operator_admin_id\x18\x03 \x01(\x03R\x0foperatorAdminId\x12\x16\n" +
	"\x06reason\x18\x04 \x01(\tR\x06reason\"d\n" +
	"$AdminAddUserContentBlacklistResponse\x12<\n" +
	"\x04item\x18\x01 \x01(\v2(.hyapp.user.v1.UserContentBlacklistEntryR\x04item\"\xb5\x01\n" +
	"&AdminRemoveUserContentBlacklistRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12*\n" +
	"\x11operator_admin_id\x18\x03 \x01(\x03R\x0foperatorAdminId\x12\x16\n" +
	"\x06reason\x18\x04 \x01(\tR\x06reason\"C\n" +
	"'AdminRemoveUserContentBlacklistResponse\x12\x18\n" +
	"\aremoved\x18\x01 \x01(\bR\aremoved\"\x84\x01\n" +
	"\rRoomBasicUser\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12\x1a\n" +
	"\busername\x18\x02 \x01(\tR\busername\x12\x16\n" +
	"\x06avatar\x18\x03 \x01(\tR\x06avatar\x12&\n" +
	"\x0fdisplay_user_id\x18\x04 \x01(\tR\rdisplayUserId\"j\n" +
	"\x1dBatchGetRoomBasicUsersRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x19\n" +
	"\buser_ids\x18\x02 \x03(\x03R\auserIds\"\xc8\x01\n" +
	"\x1eBatchGetRoomBasicUsersResponse\x12N\n" +
	"\x05users\x18\x01 \x03(\v28.hyapp.user.v1.BatchGetRoomBasicUsersResponse.UsersEntryR\x05users\x1aV\n" +
	"\n" +
	"UsersEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x03R\x03key\x122\n" +
	"\x05value\x18\x02 \x01(\v2\x1c.hyapp.user.v1.RoomBasicUserR\x05value:\x028\x01\"\xe1\x01\n" +
	"\x12ListUserIDsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12!\n" +
	"\ftarget_scope\x18\x02 \x01(\tR\vtargetScope\x12$\n" +
	"\x0ecursor_user_id\x18\x03 \x01(\x03R\fcursorUserId\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\x12\x1b\n" +
	"\tregion_id\x18\x05 \x01(\x03R\bregionId\x12\x18\n" +
	"\acountry\x18\x06 \x01(\tR\acountry\"s\n" +
	"\x13ListUserIDsResponse\x12\x19\n" +
	"\buser_ids\x18\x01 \x03(\x03R\auserIds\x12-\n" +
	"\x13next_cursor_user_id\x18\x02 \x01(\x03R\x10nextCursorUserId\x12\x12\n" +
	"\x04done\x18\x03 \x01(\bR\x04done\"\xca\x02\n" +
	"\x18UpdateUserProfileRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1f\n" +
	"\busername\x18\x03 \x01(\tH\x00R\busername\x88\x01\x01\x12\x1b\n" +
	"\x06avatar\x18\x04 \x01(\tH\x01R\x06avatar\x88\x01\x01\x12\x19\n" +
	"\x05birth\x18\x05 \x01(\tH\x02R\x05birth\x88\x01\x01\x12\x1b\n" +
	"\x06gender\x18\x06 \x01(\tH\x03R\x06gender\x88\x01\x01\x12-\n" +
	"\x10avatar_upload_id\x18\a \x01(\tH\x04R\x0eavatarUploadId\x88\x01\x01B\v\n" +
	"\t_usernameB\t\n" +
	"\a_avatarB\b\n" +
	"\x06_birthB\t\n" +
	"\a_genderB\x13\n" +
	"\x11_avatar_upload_id\"D\n" +
	"\x19UpdateUserProfileResponse\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\"\xd8\x02\n" +
	"\x0fUserAvatarMedia\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x1d\n" +
	"\n" +
	"object_key\x18\x02 \x01(\tR\tobjectKey\x12!\n" +
	"\fcontent_type\x18\x03 \x01(\tR\vcontentType\x12\x16\n" +
	"\x06format\x18\x04 \x01(\tR\x06format\x12\x1d\n" +
	"\n" +
	"size_bytes\x18\x05 \x01(\x03R\tsizeBytes\x12\x14\n" +
	"\x05width\x18\x06 \x01(\x05R\x05width\x12\x16\n" +
	"\x06height\x18\a \x01(\x05R\x06height\x12\x1a\n" +
	"\banimated\x18\b \x01(\bR\banimated\x12\x1f\n" +
	"\vframe_count\x18\t \x01(\x05R\n" +
	"frameCount\x12\x1f\n" +
	"\vduration_ms\x18\n" +
	" \x01(\x03R\n" +
	"durationMs\x12\x16\n" +
	"\x06sha256\x18\v \x01(\tR\x06sha256\x12\x16\n" +
	"\x06status\x18\f \x01(\tR\x06status\"\xc0\x01\n" +
	" AuthorizeUserAvatarUploadRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x03 \x01(\tR\tcommandId\x124\n" +
	"\x05media\x18\x04 \x01(\v2\x1e.hyapp.user.v1.UserAvatarMediaR\x05media\"\xac\x01\n" +
	"!AuthorizeUserAvatarUploadResponse\x12\x18\n" +
	"\aallowed\x18\x01 \x01(\bR\aallowed\x12(\n" +
	"\x10avatar_upload_id\x18\x02 \x01(\tR\x0eavatarUploadId\x12\x1d\n" +
	"\n" +
	"object_key\x18\x03 \x01(\tR\tobjectKey\x12$\n" +
	"\x0eserver_time_ms\x18\x04 \x01(\x03R\fserverTimeMs\"\xca\x01\n" +
	"\x1fCompleteUserAvatarUploadRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12(\n" +
	"\x10avatar_upload_id\x18\x03 \x01(\tR\x0eavatarUploadId\x124\n" +
	"\x05media\x18\x04 \x01(\v2\x1e.hyapp.user.v1.UserAvatarMediaR\x05media\"\xc0\x01\n" +
	" CompleteUserAvatarUploadResponse\x12\x16\n" +
	"\x06active\x18\x01 \x01(\bR\x06active\x12(\n" +
	"\x10avatar_upload_id\x18\x02 \x01(\tR\x0eavatarUploadId\x124\n" +
	"\x05media\x18\x03 \x01(\v2\x1e.hyapp.user.v1.UserAvatarMediaR\x05media\x12$\n" +
	"\x0eserver_time_ms\x18\x04 \x01(\x03R\fserverTimeMs\"\x93\x01\n" +
	"\"UpdateUserProfileBackgroundRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12$\n" +
	"\x0eprofile_bg_img\x18\x03 \x01(\tR\fprofileBgImg\"N\n" +
	"#UpdateUserProfileBackgroundResponse\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\"\x8a\x01\n" +
	"\x1cUpdateUserContactInfoRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12!\n" +
	"\fcontact_info\x18\x03 \x01(\tR\vcontactInfo\"H\n" +
	"\x1dUpdateUserContactInfoResponse\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\"\x99\x01\n" +
	" UpdateUserWithdrawAddressRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12,\n" +
	"\x12usdt_trc20_address\x18\x03 \x01(\tR\x10usdtTrc20Address\"L\n" +
	"!UpdateUserWithdrawAddressResponse\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\"}\n" +
	"\x18ChangeUserCountryRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x18\n" +
	"\acountry\x18\x03 \x01(\tR\acountry\"\xcb\x01\n" +
	"\x1dAdminChangeUserCountryRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12$\n" +
	"\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\x12\x18\n" +
	"\acountry\x18\x03 \x01(\tR\acountry\x12\"\n" +
	"\radmin_user_id\x18\x04 \x01(\x03R\vadminUserId\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\"\xed\x01\n" +
	"\x19ChangeUserCountryResponse\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\x128\n" +
	"\x19next_change_allowed_at_ms\x18\x02 \x01(\x03R\x15nextChangeAllowedAtMs\x12\"\n" +
	"\rold_region_id\x18\x03 \x01(\x03R\voldRegionId\x12\"\n" +
	"\rnew_region_id\x18\x04 \x01(\x03R\vnewRegionId\x12%\n" +
	"\x0eregion_changed\x18\x05 \x01(\bR\rregionChanged\"\x86\x02\n" +
	"\x14SetUserStatusRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12$\n" +
	"\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\x121\n" +
	"\x06status\x18\x03 \x01(\x0e2\x19.hyapp.user.v1.UserStatusR\x06status\x12(\n" +
	"\x10operator_user_id\x18\x04 \x01(\x03R\x0eoperatorUserId\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\x12#\n" +
	"\roperator_type\x18\x06 \x01(\tR\foperatorType\"\xcd\x03\n" +
	"\x15SetUserStatusResponse\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\x122\n" +
	"\x15revoked_session_count\x18\x02 \x01(\x03R\x13revokedSessionCount\x12\x1b\n" +
	"\tim_kicked\x18\x03 \x01(\bR\bimKicked\x12\"\n" +
	"\rim_kick_error\x18\x04 \x01(\tR\vimKickError\x12!\n" +
	"\froom_evicted\x18\x05 \x01(\bR\vroomEvicted\x12\x17\n" +
	"\aroom_id\x18\x06 \x01(\tR\x06roomId\x12\x1d\n" +
	"\n" +
	"rtc_kicked\x18\a \x01(\bR\trtcKicked\x12(\n" +
	"\x10room_evict_error\x18\b \x01(\tR\x0eroomEvictError\x12$\n" +
	"\x0ertc_kick_error\x18\t \x01(\tR\frtcKickError\x120\n" +
	"\x14access_token_revoked\x18\n" +
	" \x01(\bR\x12accessTokenRevoked\x129\n" +
	"\x19access_token_revoke_error\x18\v \x01(\tR\x16accessTokenRevokeError\"\xd0\x03\n" +
	"\fAdminUserBan\x12\x15\n" +
	"\x06ban_id\x18\x01 \x01(\tR\x05banId\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x12$\n" +
	"\x0etarget_user_id\x18\x03 \x01(\x03R\ftargetUserId\x12\"\n" +
	"\rexpires_at_ms\x18\x04 \x01(\x03R\vexpiresAtMs\x12\x1c\n" +
	"\tpermanent\x18\x05 \x01(\bR\tpermanent\x12\x16\n" +
	"\x06status\x18\x06 \x01(\tR\x06status\x12\x16\n" +
	"\x06reason\x18\a \x01(\tR\x06reason\x12*\n" +
	"\x11operator_admin_id\x18\b \x01(\x03R\x0foperatorAdminId\x12\"\n" +
	"\rcreated_at_ms\x18\t \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\n" +
	" \x01(\x03R\vupdatedAtMs\x12/\n" +
	"\x14released_by_admin_id\x18\v \x01(\x03R\x11releasedByAdminId\x12'\n" +
	"\x0freleased_reason\x18\f \x01(\tR\x0ereleasedReason\x12$\n" +
	"\x0ereleased_at_ms\x18\r \x01(\x03R\freleasedAtMs\"\xf2\x01\n" +
	"\x13AdminBanUserRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x12$\n" +
	"\x0etarget_user_id\x18\x03 \x01(\x03R\ftargetUserId\x12\"\n" +
	"\rexpires_at_ms\x18\x04 \x01(\x03R\vexpiresAtMs\x12*\n" +
	"\x11operator_admin_id\x18\x05 \x01(\x03R\x0foperatorAdminId\x12\x16\n" +
	"\x06reason\x18\x06 \x01(\tR\x06reason\"\x83\x01\n" +
	"\x14AdminBanUserResponse\x12-\n" +
	"\x03ban\x18\x01 \x01(\v2\x1b.hyapp.user.v1.AdminUserBanR\x03ban\x12<\n" +
	"\x06status\x18\x02 \x01(\v2$.hyapp.user.v1.SetUserStatusResponseR\x06status\"\xc8\x01\n" +
	"\x15AdminUnbanUserRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x15\n" +
	"\x06ban_id\x18\x02 \x01(\tR\x05banId\x12$\n" +
	"\x0etarget_user_id\x18\x03 \x01(\x03R\ftargetUserId\x12*\n" +
	"\x11operator_admin_id\x18\x04 \x01(\x03R\x0foperatorAdminId\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\"\xa8\x02\n" +
	"\x16AdminUnbanUserResponse\x12-\n" +
	"\x03ban\x18\x01 \x01(\v2\x1b.hyapp.user.v1.AdminUserBanR\x03ban\x12<\n" +
	"\x06status\x18\x02 \x01(\v2$.hyapp.user.v1.SetUserStatusResponseR\x06status\x127\n" +
	"\x18released_admin_ban_count\x18\x03 \x01(\x03R\x15releasedAdminBanCount\x12?\n" +
	"\x1creleased_manager_block_count\x18\x04 \x01(\x03R\x19releasedManagerBlockCount\x12'\n" +
	"\x0fstatus_restored\x18\x05 \x01(\bR\x0estatusRestored\"\xba\x03\n" +
	"\x10ManagerUserBlock\x12\x19\n" +
	"\bblock_id\x18\x01 \x01(\tR\ablockId\x12&\n" +
	"\x0fmanager_user_id\x18\x02 \x01(\x03R\rmanagerUserId\x12$\n" +
	"\x0etarget_user_id\x18\x03 \x01(\x03R\ftargetUserId\x123\n" +
	"\x16target_display_user_id\x18\x04 \x01(\tR\x13targetDisplayUserId\x12'\n" +
	"\x0ftarget_username\x18\x05 \x01(\tR\x0etargetUsername\x12#\n" +
	"\rtarget_avatar\x18\x06 \x01(\tR\ftargetAvatar\x12\x18\n" +
	"\acountry\x18\a \x01(\tR\acountry\x12(\n" +
	"\x10blocked_until_ms\x18\b \x01(\x03R\x0eblockedUntilMs\x12\x16\n" +
	"\x06status\x18\t \x01(\tR\x06status\x12\x16\n" +
	"\x06reason\x18\n" +
	" \x01(\tR\x06reason\x12\"\n" +
	"\rcreated_at_ms\x18\v \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\f \x01(\x03R\vupdatedAtMs\"\xfe\x01\n" +
	"\x1dCreateManagerUserBlockRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1d\n" +
	"\n" +
	"command_id\x18\x02 \x01(\tR\tcommandId\x12&\n" +
	"\x0fmanager_user_id\x18\x03 \x01(\x03R\rmanagerUserId\x12$\n" +
	"\x0etarget_user_id\x18\x04 \x01(\x03R\ftargetUserId\x12(\n" +
	"\x10blocked_until_ms\x18\x05 \x01(\x03R\x0eblockedUntilMs\x12\x16\n" +
	"\x06reason\x18\x06 \x01(\tR\x06reason\"\x95\x01\n" +
	"\x1eCreateManagerUserBlockResponse\x125\n" +
	"\x05block\x18\x01 \x01(\v2\x1f.hyapp.user.v1.ManagerUserBlockR\x05block\x12<\n" +
	"\x06status\x18\x02 \x01(\v2$.hyapp.user.v1.SetUserStatusResponseR\x06status\"\xab\x01\n" +
	"\x1cListManagerUserBlocksRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12&\n" +
	"\x0fmanager_user_id\x18\x02 \x01(\x03R\rmanagerUserId\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\"X\n" +
	"\x1dListManagerUserBlocksResponse\x127\n" +
	"\x06blocks\x18\x01 \x03(\v2\x1f.hyapp.user.v1.ManagerUserBlockR\x06blocks\"\xa6\x01\n" +
	"\x19UnblockManagerUserRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12&\n" +
	"\x0fmanager_user_id\x18\x02 \x01(\x03R\rmanagerUserId\x12\x19\n" +
	"\bblock_id\x18\x03 \x01(\tR\ablockId\x12\x16\n" +
	"\x06reason\x18\x04 \x01(\tR\x06reason\"\x91\x01\n" +
	"\x1aUnblockManagerUserResponse\x125\n" +
	"\x05block\x18\x01 \x01(\v2\x1f.hyapp.user.v1.ManagerUserBlockR\x05block\x12<\n" +
	"\x06status\x18\x02 \x01(\v2$.hyapp.user.v1.SetUserStatusResponseR\x06status\"\xeb\x01\n" +
	"\x19CompleteOnboardingRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1a\n" +
	"\busername\x18\x03 \x01(\tR\busername\x12\x16\n" +
	"\x06avatar\x18\x04 \x01(\tR\x06avatar\x12\x18\n" +
	"\acountry\x18\x05 \x01(\tR\acountry\x12\x16\n" +
	"\x06gender\x18\x06 \x01(\tR\x06gender\x12\x1f\n" +
	"\vinvite_code\x18\a \x01(\tR\n" +
	"inviteCode\"\xbc\x02\n" +
	"\x1aCompleteOnboardingResponse\x12'\n" +
	"\x04user\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\x04user\x12+\n" +
	"\x11profile_completed\x18\x02 \x01(\bR\x10profileCompleted\x125\n" +
	"\x17profile_completed_at_ms\x18\x03 \x01(\x03R\x14profileCompletedAtMs\x12+\n" +
	"\x11onboarding_status\x18\x04 \x01(\tR\x10onboardingStatus\x12.\n" +
	"\x05token\x18\x05 \x01(\v2\x18.hyapp.user.v1.AuthTokenR\x05token\x124\n" +
	"\x06invite\x18\x06 \x01(\v2\x1c.hyapp.user.v1.InviteBindingR\x06invite\"\x87\x01\n" +
	"\x1bSearchInviteReferrerRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1f\n" +
	"\vinvite_code\x18\x03 \x01(\tR\n" +
	"inviteCode\"M\n" +
	"\x1cSearchInviteReferrerResponse\x12-\n" +
	"\ainviter\x18\x01 \x01(\v2\x13.hyapp.user.v1.UserR\ainviter\"\x85\x01\n" +
	"\x19BindInviteReferrerRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1f\n" +
	"\vinvite_code\x18\x03 \x01(\tR\n" +
	"inviteCode\"\x81\x01\n" +
	"\x1aBindInviteReferrerResponse\x124\n" +
	"\x06invite\x18\x01 \x01(\v2\x1c.hyapp.user.v1.InviteBindingR\x06invite\x12-\n" +
	"\ainviter\x18\x02 \x01(\v2\x13.hyapp.user.v1.UserR\ainviter\"\xac\x02\n" +
	"\x14BindPushTokenRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1b\n" +
	"\tdevice_id\x18\x03 \x01(\tR\bdeviceId\x12\x1d\n" +
	"\n" +
	"push_token\x18\x04 \x01(\tR\tpushToken\x12\x1a\n" +
	"\bprovider\x18\x05 \x01(\tR\bprovider\x12\x1a\n" +
	"\bplatform\x18\x06 \x01(\tR\bplatform\x12\x1f\n" +
	"\vapp_version\x18\a \x01(\tR\n" +
	"appVersion\x12\x1a\n" +
	"\blanguage\x18\b \x01(\tR\blanguage\x12\x1a\n" +
	"\btimezone\x18\t \x01(\tR\btimezone\"Q\n" +
	"\x15BindPushTokenResponse\x12\x14\n" +
	"\x05bound\x18\x01 \x01(\bR\x05bound\x12\"\n" +
	"\rupdated_at_ms\x18\x02 \x01(\x03R\vupdatedAtMs\"\x9d\x01\n" +
	"\x16DeletePushTokenRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1b\n" +
	"\tdevice_id\x18\x03 \x01(\tR\bdeviceId\x12\x1d\n" +
	"\n" +
	"push_token\x18\x04 \x01(\tR\tpushToken\"W\n" +
	"\x17DeletePushTokenResponse\x12\x18\n" +
	"\adeleted\x18\x01 \x01(\bR\adeleted\x12\"\n" +
	"\rupdated_at_ms\x18\x02 \x01(\x03R\vupdatedAtMs\"\xbe\x03\n" +
	"\aCountry\x12\x1d\n" +
	"\n" +
	"country_id\x18\x01 \x01(\x03R\tcountryId\x12!\n" +
	"\fcountry_name\x18\x02 \x01(\tR\vcountryName\x12!\n" +
	"\fcountry_code\x18\x03 \x01(\tR\vcountryCode\x120\n" +
	"\x14country_display_name\x18\x04 \x01(\tR\x12countryDisplayName\x12\x1d\n" +
	"\n" +
	"sort_order\x18\x06 \x01(\x05R\tsortOrder\x12\"\n" +
	"\rcreated_at_ms\x18\a \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\b \x01(\x03R\vupdatedAtMs\x12\x1d\n" +
	"\n" +
	"iso_alpha3\x18\t \x01(\tR\tisoAlpha3\x12\x1f\n" +
	"\viso_numeric\x18\n" +
	" \x01(\tR\n" +
	"isoNumeric\x12,\n" +
	"\x12phone_country_code\x18\v \x01(\tR\x10phoneCountryCode\x12\x18\n" +
	"\aenabled\x18\f \x01(\bR\aenabled\x12\x12\n" +
	"\x04flag\x18\r \x01(\tR\x04flag\x12\x19\n" +
	"\bapp_code\x18\x0e \x01(\tR\aappCode\"\x92\x02\n" +
	"\x06Region\x12\x1b\n" +
	"\tregion_id\x18\x01 \x01(\x03R\bregionId\x12\x1f\n" +
	"\vregion_code\x18\x02 \x01(\tR\n" +
	"regionCode\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12\x1c\n" +
	"\tcountries\x18\x05 \x03(\tR\tcountries\x12\x1d\n" +
	"\n" +
	"sort_order\x18\x06 \x01(\x05R\tsortOrder\x12\"\n" +
	"\rcreated_at_ms\x18\a \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\b \x01(\x03R\vupdatedAtMs\x12\x19\n" +
	"\bapp_code\x18\t \x01(\tR\aappCode\"q\n" +
	"\x14ListCountriesRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1d\n" +
	"\aenabled\x18\x03 \x01(\bH\x00R\aenabled\x88\x01\x01B\n" +
	"\n" +
	"\b_enabled\"M\n" +
	"\x15ListCountriesResponse\x124\n" +
	"\tcountries\x18\x01 \x03(\v2\x16.hyapp.user.v1.CountryR\tcountries\"\x85\x03\n" +
	"\x14UpdateCountryRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1d\n" +
	"\n" +
	"country_id\x18\x02 \x01(\x03R\tcountryId\x12!\n" +
	"\fcountry_name\x18\x03 \x01(\tR\vcountryName\x120\n" +
	"\x14country_display_name\x18\x04 \x01(\tR\x12countryDisplayName\x12\x1d\n" +
	"\n" +
	"sort_order\x18\x05 \x01(\x05R\tsortOrder\x12(\n" +
	"\x10operator_user_id\x18\x06 \x01(\x03R\x0eoperatorUserId\x12\x1d\n" +
	"\n" +
	"iso_alpha3\x18\a \x01(\tR\tisoAlpha3\x12\x1f\n" +
	"\viso_numeric\x18\b \x01(\tR\n" +
	"isoNumeric\x12,\n" +
	"\x12phone_country_code\x18\t \x01(\tR\x10phoneCountryCode\x12\x12\n" +
	"\x04flag\x18\n" +
	" \x01(\tR\x04flag\"C\n" +
	"\x0fCountryResponse\x120\n" +
	"\acountry\x18\x01 \x01(\v2\x16.hyapp.user.v1.CountryR\acountry\"R\n" +
	" ListRegistrationCountriesRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\"Y\n" +
	"!ListRegistrationCountriesResponse\x124\n" +
	"\tcountries\x18\x01 \x03(\v2\x16.hyapp.user.v1.CountryR\tcountries\"z\n" +
	"\x17LoginRiskBlockedCountry\x12!\n" +
	"\fcountry_code\x18\x01 \x01(\tR\vcountryCode\x12\x18\n" +
	"\akeyword\x18\x02 \x01(\tR\akeyword\x12\"\n" +
	"\rupdated_at_ms\x18\x03 \x01(\x03R\vupdatedAtMs\"V\n" +
	"$ListLoginRiskBlockedCountriesRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\"\x91\x01\n" +
	"%ListLoginRiskBlockedCountriesResponse\x12D\n" +
	"\tcountries\x18\x01 \x03(\v2&.hyapp.user.v1.LoginRiskBlockedCountryR\tcountries\x12\"\n" +
	"\rupdated_at_ms\x18\x02 \x01(\x03R\vupdatedAtMs\"\\\n" +
	"\x12ListRegionsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\"F\n" +
	"\x13ListRegionsResponse\x12/\n" +
	"\aregions\x18\x01 \x03(\v2\x15.hyapp.user.v1.RegionR\aregions\"_\n" +
	"\x10GetRegionRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1b\n" +
	"\tregion_id\x18\x02 \x01(\x03R\bregionId\"\xe0\x01\n" +
	"\x13UpdateRegionRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1b\n" +
	"\tregion_id\x18\x02 \x01(\x03R\bregionId\x12\x1f\n" +
	"\vregion_code\x18\x03 \x01(\tR\n" +
	"regionCode\x12\x12\n" +
	"\x04name\x18\x04 \x01(\tR\x04name\x12\x1d\n" +
	"\n" +
	"sort_order\x18\x05 \x01(\x05R\tsortOrder\x12(\n" +
	"\x10operator_user_id\x18\x06 \x01(\x03R\x0eoperatorUserId\"\xb4\x01\n" +
	"\x1dReplaceRegionCountriesRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1b\n" +
	"\tregion_id\x18\x02 \x01(\x03R\bregionId\x12\x1c\n" +
	"\tcountries\x18\x03 \x03(\tR\tcountries\x12(\n" +
	"\x10operator_user_id\x18\x04 \x01(\x03R\x0eoperatorUserId\"?\n" +
	"\x0eRegionResponse\x12-\n" +
	"\x06region\x18\x01 \x01(\v2\x15.hyapp.user.v1.RegionR\x06region\"\xfd\x02\n" +
	"\fUserIdentity\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\x03R\x06userId\x12&\n" +
	"\x0fdisplay_user_id\x18\x02 \x01(\tR\rdisplayUserId\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x125\n" +
	"\x17default_display_user_id\x18\x04 \x01(\tR\x14defaultDisplayUserId\x12/\n" +
	"\x14display_user_id_kind\x18\x05 \x01(\tR\x11displayUserIdKind\x12?\n" +
	"\x1ddisplay_user_id_expires_at_ms\x18\x06 \x01(\x03R\x18displayUserIdExpiresAtMs\x12\x19\n" +
	"\bapp_code\x18\a \x01(\tR\aappCode\x12\x1b\n" +
	"\tpretty_id\x18\b \x01(\tR\bprettyId\x123\n" +
	"\x16pretty_display_user_id\x18\t \x01(\tR\x13prettyDisplayUserId\"a\n" +
	"\x16GetUserIdentityRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\"R\n" +
	"\x17GetUserIdentityResponse\x127\n" +
	"\bidentity\x18\x01 \x01(\v2\x1b.hyapp.user.v1.UserIdentityR\bidentity\"u\n" +
	"\x1bResolveDisplayUserIDRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12&\n" +
	"\x0fdisplay_user_id\x18\x02 \x01(\tR\rdisplayUserId\"W\n" +
	"\x1cResolveDisplayUserIDResponse\x127\n" +
	"\bidentity\x18\x01 \x01(\v2\x1b.hyapp.user.v1.UserIdentityR\bidentity\"\xd6\x01\n" +
	"\x1aChangeDisplayUserIDRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12-\n" +
	"\x13new_display_user_id\x18\x03 \x01(\tR\x10newDisplayUserId\x12\x16\n" +
	"\x06reason\x18\x04 \x01(\tR\x06reason\x12(\n" +
	"\x10operator_user_id\x18\x05 \x01(\x03R\x0eoperatorUserId\"V\n" +
	"\x1bChangeDisplayUserIDResponse\x127\n" +
	"\bidentity\x18\x01 \x01(\v2\x1b.hyapp.user.v1.UserIdentityR\bidentity\"\xf9\x01\n" +
	"\x1fApplyPrettyDisplayUserIDRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x123\n" +
	"\x16pretty_display_user_id\x18\x03 \x01(\tR\x13prettyDisplayUserId\x12*\n" +
	"\x11lease_duration_ms\x18\x04 \x01(\x03R\x0fleaseDurationMs\x12,\n" +
	"\x12payment_receipt_id\x18\x05 \x01(\tR\x10paymentReceiptId\"v\n" +
	" ApplyPrettyDisplayUserIDResponse\x127\n" +
	"\bidentity\x18\x01 \x01(\v2\x1b.hyapp.user.v1.UserIdentityR\bidentity\x12\x19\n" +
	"\blease_id\x18\x02 \x01(\tR\aleaseId\"\x86\x01\n" +
	" ExpirePrettyDisplayUserIDRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x19\n" +
	"\blease_id\x18\x03 \x01(\tR\aleaseId\"\\\n" +
	"!ExpirePrettyDisplayUserIDResponse\x127\n" +
	"\bidentity\x18\x01 \x01(\v2\x1b.hyapp.user.v1.UserIdentityR\bidentity\"\xdc\x03\n" +
	"\x13PrettyDisplayIDPool\x12\x19\n" +
	"\bapp_code\x18\x01 \x01(\tR\aappCode\x12\x17\n" +
	"\apool_id\x18\x02 \x01(\tR\x06poolId\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12\x1f\n" +
	"\vlevel_track\x18\x04 \x01(\tR\n" +
	"levelTrack\x12\x1b\n" +
	"\tmin_level\x18\x05 \x01(\x05R\bminLevel\x12\x1b\n" +
	"\tmax_level\x18\x06 \x01(\x05R\bmaxLevel\x12\x1b\n" +
	"\trule_type\x18\a \x01(\tR\bruleType\x12(\n" +
	"\x10rule_config_json\x18\b \x01(\tR\x0eruleConfigJson\x12\x16\n" +
	"\x06status\x18\t \x01(\tR\x06status\x12\x1d\n" +
	"\n" +
	"sort_order\x18\n" +
	" \x01(\x05R\tsortOrder\x12-\n" +
	"\x13created_by_admin_id\x18\v \x01(\x03R\x10createdByAdminId\x12-\n" +
	"\x13updated_by_admin_id\x18\f \x01(\x03R\x10updatedByAdminId\x12\"\n" +
	"\rcreated_at_ms\x18\r \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\x0e \x01(\x03R\vupdatedAtMs\"\xe0\x04\n" +
	"\x0fPrettyDisplayID\x12\x19\n" +
	"\bapp_code\x18\x01 \x01(\tR\aappCode\x12\x1b\n" +
	"\tpretty_id\x18\x02 \x01(\tR\bprettyId\x12\x17\n" +
	"\apool_id\x18\x03 \x01(\tR\x06poolId\x12\x16\n" +
	"\x06source\x18\x04 \x01(\tR\x06source\x12&\n" +
	"\x0fdisplay_user_id\x18\x05 \x01(\tR\rdisplayUserId\x12\x16\n" +
	"\x06status\x18\x06 \x01(\tR\x06status\x12(\n" +
	"\x10assigned_user_id\x18\a \x01(\x03R\x0eassignedUserId\x12*\n" +
	"\x11assigned_lease_id\x18\b \x01(\tR\x0fassignedLeaseId\x12$\n" +
	"\x0eassigned_at_ms\x18\t \x01(\x03R\fassignedAtMs\x12$\n" +
	"\x0ereleased_at_ms\x18\n" +
	" \x01(\x03R\freleasedAtMs\x12%\n" +
	"\x0erelease_reason\x18\v \x01(\tR\rreleaseReason\x12,\n" +
	"\x12generated_batch_id\x18\f \x01(\tR\x10generatedBatchId\x12-\n" +
	"\x13created_by_admin_id\x18\r \x01(\x03R\x10createdByAdminId\x12\"\n" +
	"\rcreated_at_ms\x18\x0e \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\x0f \x01(\x03R\vupdatedAtMs\x126\n" +
	"\x04pool\x18\x10 \x01(\v2\".hyapp.user.v1.PrettyDisplayIDPoolR\x04pool\"\xe9\x03\n" +
	"\x1ePrettyDisplayIDGenerationBatch\x12\x19\n" +
	"\bapp_code\x18\x01 \x01(\tR\aappCode\x12\x19\n" +
	"\bbatch_id\x18\x02 \x01(\tR\abatchId\x12\x17\n" +
	"\apool_id\x18\x03 \x01(\tR\x06poolId\x12\x1b\n" +
	"\trule_type\x18\x04 \x01(\tR\bruleType\x12(\n" +
	"\x10rule_config_json\x18\x05 \x01(\tR\x0eruleConfigJson\x12'\n" +
	"\x0frequested_count\x18\x06 \x01(\x05R\x0erequestedCount\x12'\n" +
	"\x0fgenerated_count\x18\a \x01(\x05R\x0egeneratedCount\x124\n" +
	"\x16skipped_conflict_count\x18\b \x01(\x05R\x14skippedConflictCount\x12\x16\n" +
	"\x06status\x18\t \x01(\tR\x06status\x12*\n" +
	"\x11operator_admin_id\x18\n" +
	" \x01(\x03R\x0foperatorAdminId\x12\x1d\n" +
	"\n" +
	"request_id\x18\v \x01(\tR\trequestId\x12\"\n" +
	"\rcreated_at_ms\x18\f \x01(\x03R\vcreatedAtMs\x12\"\n" +
	"\rupdated_at_ms\x18\r \x01(\x03R\vupdatedAtMs\"\xa0\x01\n" +
	"$ListAvailablePrettyDisplayIDsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x12\n" +
	"\x04page\x18\x03 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x04 \x01(\x05R\bpageSize\"s\n" +
	"%ListAvailablePrettyDisplayIDsResponse\x124\n" +
	"\x05items\x18\x01 \x03(\v2\x1e.hyapp.user.v1.PrettyDisplayIDR\x05items\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\x8b\x01\n" +
	"#ApplyPrettyDisplayIDFromPoolRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\x03R\x06userId\x12\x1b\n" +
	"\tpretty_id\x18\x03 \x01(\tR\bprettyId\"\x97\x01\n" +
	"$ApplyPrettyDisplayIDFromPoolResponse\x127\n" +
	"\bidentity\x18\x01 \x01(\v2\x1b.hyapp.user.v1.UserIdentityR\bidentity\x12\x1b\n" +
	"\tpretty_id\x18\x02 \x01(\tR\bprettyId\x12\x19\n" +
	"\blease_id\x18\x03 \x01(\tR\aleaseId\"\xbb\x01\n" +
	"\x1fListPrettyDisplayIDPoolsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x1f\n" +
	"\vlevel_track\x18\x03 \x01(\tR\n" +
	"levelTrack\x12\x12\n" +
	"\x04page\x18\x04 \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\x05 \x01(\x05R\bpageSize\"r\n" +
	" ListPrettyDisplayIDPoolsResponse\x128\n" +
	"\x05items\x18\x01 \x03(\v2\".hyapp.user.v1.PrettyDisplayIDPoolR\x05items\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\xeb\x02\n" +
	" CreatePrettyDisplayIDPoolRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x1f\n" +
	"\vlevel_track\x18\x03 \x01(\tR\n" +
	"levelTrack\x12\x1b\n" +
	"\tmin_level\x18\x04 \x01(\x05R\bminLevel\x12\x1b\n" +
	"\tmax_level\x18\x05 \x01(\x05R\bmaxLevel\x12\x1b\n" +
	"\trule_type\x18\x06 \x01(\tR\bruleType\x12(\n" +
	"\x10rule_config_json\x18\a \x01(\tR\x0eruleConfigJson\x12\x16\n" +
	"\x06status\x18\b \x01(\tR\x06status\x12\x1d\n" +
	"\n" +
	"sort_order\x18\t \x01(\x05R\tsortOrder\x12*\n" +
	"\x11operator_admin_id\x18\n" +
	" \x01(\x03R\x0foperatorAdminId\"\x84\x03\n" +
	" UpdatePrettyDisplayIDPoolRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\apool_id\x18\x02 \x01(\tR\x06poolId\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12\x1f\n" +
	"\vlevel_track\x18\x04 \x01(\tR\n" +
	"levelTrack\x12\x1b\n" +
	"\tmin_level\x18\x05 \x01(\x05R\bminLevel\x12\x1b\n" +
	"\tmax_level\x18\x06 \x01(\x05R\bmaxLevel\x12\x1b\n" +
	"\trule_type\x18\a \x01(\tR\bruleType\x12(\n" +
	"\x10rule_config_json\x18\b \x01(\tR\x0eruleConfigJson\x12\x16\n" +
	"\x06status\x18\t \x01(\tR\x06status\x12\x1d\n" +
	"\n" +
	"sort_order\x18\n" +
	" \x01(\x05R\tsortOrder\x12*\n" +
	"\x11operator_admin_id\x18\v \x01(\x03R\x0foperatorAdminId\"U\n" +
	"\x1bPrettyDisplayIDPoolResponse\x126\n" +
	"\x04pool\x18\x01 \x01(\v2\".hyapp.user.v1.PrettyDisplayIDPoolR\x04pool\"\xf3\x01\n" +
	"\x1fGeneratePrettyDisplayIDsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\apool_id\x18\x02 \x01(\tR\x06poolId\x12\x1b\n" +
	"\trule_type\x18\x03 \x01(\tR\bruleType\x12(\n" +
	"\x10rule_config_json\x18\x04 \x01(\tR\x0eruleConfigJson\x12\x14\n" +
	"\x05count\x18\x05 \x01(\x05R\x05count\x12*\n" +
	"\x11operator_admin_id\x18\x06 \x01(\x03R\x0foperatorAdminId\"g\n" +
	" GeneratePrettyDisplayIDsResponse\x12C\n" +
	"\x05batch\x18\x01 \x01(\v2-.hyapp.user.v1.PrettyDisplayIDGenerationBatchR\x05batch\"\x8b\x02\n" +
	"\x1bListPrettyDisplayIDsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x17\n" +
	"\apool_id\x18\x02 \x01(\tR\x06poolId\x12\x16\n" +
	"\x06source\x18\x03 \x01(\tR\x06source\x12\x16\n" +
	"\x06status\x18\x04 \x01(\tR\x06status\x12\x18\n" +
	"\akeyword\x18\x05 \x01(\tR\akeyword\x12(\n" +
	"\x10assigned_user_id\x18\x06 \x01(\x03R\x0eassignedUserId\x12\x12\n" +
	"\x04page\x18\a \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18\b \x01(\x05R\bpageSize\"j\n" +
	"\x1cListPrettyDisplayIDsResponse\x124\n" +
	"\x05items\x18\x01 \x03(\v2\x1e.hyapp.user.v1.PrettyDisplayIDR\x05items\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x03R\x05total\"\xca\x01\n" +
	"\x1fSetPrettyDisplayIDStatusRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1b\n" +
	"\tpretty_id\x18\x02 \x01(\tR\bprettyId\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12*\n" +
	"\x11operator_admin_id\x18\x04 \x01(\x03R\x0foperatorAdminId\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\"\xb0\x01\n" +
	"\x1dRecyclePrettyDisplayIDRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x1b\n" +
	"\tpretty_id\x18\x02 \x01(\tR\bprettyId\x12\x16\n" +
	"\x06reason\x18\x03 \x01(\tR\x06reason\x12*\n" +
	"\x11operator_admin_id\x18\x04 \x01(\x03R\x0foperatorAdminId\"M\n" +
	"\x17PrettyDisplayIDResponse\x122\n" +
	"\x04item\x18\x01 \x01(\v2\x1e.hyapp.user.v1.PrettyDisplayIDR\x04item\"\x85\x02\n" +
	" AdminGrantPrettyDisplayIDRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12$\n" +
	"\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\x12&\n" +
	"\x0fdisplay_user_id\x18\x03 \x01(\tR\rdisplayUserId\x12\x1f\n" +
	"\vduration_ms\x18\x04 \x01(\x03R\n" +
	"durationMs\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\x12*\n" +
	"\x11operator_admin_id\x18\x06 \x01(\x03R\x0foperatorAdminId\"\x94\x01\n" +
	"!AdminGrantPrettyDisplayIDResponse\x127\n" +
	"\bidentity\x18\x01 \x01(\v2\x1b.hyapp.user.v1.UserIdentityR\bidentity\x12\x1b\n" +
	"\tpretty_id\x18\x02 \x01(\tR\bprettyId\x12\x19\n" +
	"\blease_id\x18\x03 \x01(\tR\aleaseId\"\xf8\x01\n" +
	"\x17CPFormationGiftFeedItem\x12!\n" +
	"\fformation_id\x18\x01 \x01(\tR\vformationId\x12&\n" +
	"\x0fgift_coin_value\x18\x02 \x01(\x03R\rgiftCoinValue\x12:\n" +
	"\trequester\x18\x03 \x01(\v2\x1c.hyapp.user.v1.CPUserProfileR\trequester\x124\n" +
	"\x06target\x18\x04 \x01(\v2\x1c.hyapp.user.v1.CPUserProfileR\x06target\x12 \n" +
	"\fformed_at_ms\x18\x05 \x01(\x03R\n" +
	"formedAtMs\"f\n" +
	"\x1eListCPFormationGiftFeedRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12\x14\n" +
	"\x05limit\x18\x02 \x01(\x05R\x05limit\"_\n" +
	"\x1fListCPFormationGiftFeedResponse\x12<\n" +
	"\x05items\x18\x01 \x03(\v2&.hyapp.user.v1.CPFormationGiftFeedItemR\x05items\"A\n" +
	"\x0fListAppsRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\":\n" +
	"\x10ListAppsResponse\x12&\n" +
	"\x04apps\x18\x01 \x03(\v2\x12.hyapp.user.v1.AppR\x04apps\"|\n" +
	"!ResolveAdminUserIdentifierRequest\x12.\n" +
	"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.user.v1.RequestMetaR\x04meta\x12'\n" +
	"\x0fuser_identifier\x18\x02 \x01(\tR\x0euserIdentifier\"]\n" +
	"\"ResolveAdminUserIdentifierResponse\x127\n" +
	"\bidentity\x18\x01 \x01(\v2\x1b.hyapp.user.v1.UserIdentityR\bidentity*s\n" +
	"\n" +
	"UserStatus\x12\x1b\n" +
	"\x17USER_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12USER_STATUS_ACTIVE\x10\x01\x12\x18\n" +
	"\x14USER_STATUS_DISABLED\x10\x02\x12\x16\n" +
	"\x12USER_STATUS_BANNED\x10\x032\xc3\x1a\n" +
	"\vUserService\x12H\n" +
	"\aGetUser\x12\x1d.hyapp.user.v1.GetUserRequest\x1a\x1e.hyapp.user.v1.GetUserResponse\x12o\n" +
	"\x14GetInviteAttribution\x12*.hyapp.user.v1.GetInviteAttributionRequest\x1a+.hyapp.user.v1.GetInviteAttributionResponse\x12i\n" +
	"\x12BusinessUserLookup\x12(.hyapp.user.v1.BusinessUserLookupRequest\x1a).hyapp.user.v1.BusinessUserLookupResponse\x12f\n" +
	"\x11GetMyProfileStats\x12'.hyapp.user.v1.GetMyProfileStatsRequest\x1a(.hyapp.user.v1.GetMyProfileStatsResponse\x12Z\n" +
	"\rBatchGetUsers\x12#.hyapp.user.v1.BatchGetUsersRequest\x1a$.hyapp.user.v1.BatchGetUsersResponse\x12~\n" +
	"\x19BatchGetUserAdminProfiles\x12/.hyapp.user.v1.BatchGetUserAdminProfilesRequest\x1a0.hyapp.user.v1.BatchGetUserAdminProfilesResponse\x12~\n" +
	"\x19AdminIssueUserAccessToken\x12/.hyapp.user.v1.AdminIssueUserAccessTokenRequest\x1a0.hyapp.user.v1.AdminIssueUserAccessTokenResponse\x12{\n" +
	"\x18ListUserContentBlacklist\x12..hyapp.user.v1.ListUserContentBlacklistRequest\x1a/.hyapp.user.v1.ListUserContentBlacklistResponse\x12\x87\x01\n" +
	"\x1cAdminAddUserContentBlacklist\x122.hyapp.user.v1.AdminAddUserContentBlacklistRequest\x1a3.hyapp.user.v1.AdminAddUserContentBlacklistResponse\x12\x90\x01\n" +
	"\x1fAdminRemoveUserContentBlacklist\x125.hyapp.user.v1.AdminRemoveUserContentBlacklistRequest\x1a6.hyapp.user.v1.AdminRemoveUserContentBlacklistResponse\x12u\n" +
	"\x16BatchGetRoomBasicUsers\x12,.hyapp.user.v1.BatchGetRoomBasicUsersRequest\x1a-.hyapp.user.v1.BatchGetRoomBasicUsersResponse\x12T\n" +
	"\vListUserIDs\x12!.hyapp.user.v1.ListUserIDsRequest\x1a\".hyapp.user.v1.ListUserIDsResponse\x12x\n" +
	"\x17GetUserMicLifetimeStats\x12-.hyapp.user.v1.GetUserMicLifetimeStatsRequest\x1a..hyapp.user.v1.GetUserMicLifetimeStatsResponse\x12~\n" +
	"\x19AuthorizeUserAvatarUpload\x12/.hyapp.user.v1.AuthorizeUserAvatarUploadRequest\x1a0.hyapp.user.v1.AuthorizeUserAvatarUploadResponse\x12{\n" +
	"\x18CompleteUserAvatarUpload\x12..hyapp.user.v1.CompleteUserAvatarUploadRequest\x1a/.hyapp.user.v1.CompleteUserAvatarUploadResponse\x12f\n" +
	"\x11UpdateUserProfile\x12'.hyapp.user.v1.UpdateUserProfileRequest\x1a(.hyapp.user.v1.UpdateUserProfileResponse\x12\x84\x01\n" +
	"\x1bUpdateUserProfileBackground\x121.hyapp.user.v1.UpdateUserProfileBackgroundRequest\x1a2.hyapp.user.v1.UpdateUserProfileBackgroundResponse\x12r\n" +
	"\x15UpdateUserContactInfo\x12+.hyapp.user.v1.UpdateUserContactInfoRequest\x1a,.hyapp.user.v1.UpdateUserContactInfoResponse\x12~\n" +
	"\x19UpdateUserWithdrawAddress\x12/.hyapp.user.v1.UpdateUserWithdrawAddressRequest\x1a0.hyapp.user.v1.UpdateUserWithdrawAddressResponse\x12f\n" +
	"\x11ChangeUserCountry\x12'.hyapp.user.v1.ChangeUserCountryRequest\x1a(.hyapp.user.v1.ChangeUserCountryResponse\x12p\n" +
	"\x16AdminChangeUserCountry\x12,.hyapp.user.v1.AdminChangeUserCountryRequest\x1a(.hyapp.user.v1.ChangeUserCountryResponse\x12Z\n" +
	"\rSetUserStatus\x12#.hyapp.user.v1.SetUserStatusRequest\x1a$.hyapp.user.v1.SetUserStatusResponse\x12W\n" +
	"\fAdminBanUser\x12\".hyapp.user.v1.AdminBanUserRequest\x1a#.hyapp.user.v1.AdminBanUserResponse\x12]\n" +
	"\x0eAdminUnbanUser\x12$.hyapp.user.v1.AdminUnbanUserRequest\x1a%.hyapp.user.v1.AdminUnbanUserResponse\x12u\n" +
	"\x16CreateManagerUserBlock\x12,.hyapp.user.v1.CreateManagerUserBlockRequest\x1a-.hyapp.user.v1.CreateManagerUserBlockResponse\x12r\n" +
	"\x15ListManagerUserBlocks\x12+.hyapp.user.v1.ListManagerUserBlocksRequest\x1a,.hyapp.user.v1.ListManagerUserBlocksResponse\x12i\n" +
	"\x12UnblockManagerUser\x12(.hyapp.user.v1.UnblockManagerUserRequest\x1a).hyapp.user.v1.UnblockManagerUserResponse\x12i\n" +
	"\x12CompleteOnboarding\x12(.hyapp.user.v1.CompleteOnboardingRequest\x1a).hyapp.user.v1.CompleteOnboardingResponse\x12o\n" +
	"\x14SearchInviteReferrer\x12*.hyapp.user.v1.SearchInviteReferrerRequest\x1a+.hyapp.user.v1.SearchInviteReferrerResponse\x12i\n" +
	"\x12BindInviteReferrer\x12(.hyapp.user.v1.BindInviteReferrerRequest\x1a).hyapp.user.v1.BindInviteReferrerResponse2\xc3\b\n" +
	"\x11UserSocialService\x12i\n" +
	"\x12RecordProfileVisit\x12(.hyapp.user.v1.RecordProfileVisitRequest\x1a).hyapp.user.v1.RecordProfileVisitResponse\x12l\n" +
	"\x13ListProfileVisitors\x12).hyapp.user.v1.ListProfileVisitorsRequest\x1a*.hyapp.user.v1.ListProfileVisitorsResponse\x12Q\n" +
	"\n" +
	"FollowUser\x12 .hyapp.user.v1.FollowUserRequest\x1a!.hyapp.user.v1.FollowUserResponse\x12W\n" +
	"\fUnfollowUser\x12\".hyapp.user.v1.UnfollowUserRequest\x1a#.hyapp.user.v1.UnfollowUserResponse\x12Z\n" +
	"\rListFollowing\x12#.hyapp.user.v1.ListFollowingRequest\x1a$.hyapp.user.v1.ListFollowingResponse\x12T\n" +
	"\vApplyFriend\x12!.hyapp.user.v1.ApplyFriendRequest\x1a\".hyapp.user.v1.ApplyFriendResponse\x12x\n" +
	"\x17AcceptFriendApplication\x12-.hyapp.user.v1.AcceptFriendApplicationRequest\x1a..hyapp.user.v1.AcceptFriendApplicationResponse\x12W\n" +
	"\fDeleteFriend\x12\".hyapp.user.v1.DeleteFriendRequest\x1a#.hyapp.user.v1.DeleteFriendResponse\x12T\n" +
	"\vListFriends\x12!.hyapp.user.v1.ListFriendsRequest\x1a\".hyapp.user.v1.ListFriendsResponse\x12u\n" +
	"\x16ListFriendApplications\x12,.hyapp.user.v1.ListFriendApplicationsRequest\x1a-.hyapp.user.v1.ListFriendApplicationsResponse\x12W\n" +
	"\fSubmitReport\x12\".hyapp.user.v1.SubmitReportRequest\x1a#.hyapp.user.v1.SubmitReportResponse2\xc6\b\n" +
	"\rUserCPService\x12i\n" +
	"\x12ListCPApplications\x12(.hyapp.user.v1.ListCPApplicationsRequest\x1a).hyapp.user.v1.ListCPApplicationsResponse\x12l\n" +
	"\x13AcceptCPApplication\x12).hyapp.user.v1.AcceptCPApplicationRequest\x1a*.hyapp.user.v1.AcceptCPApplicationResponse\x12l\n" +
	"\x13RejectCPApplication\x12).hyapp.user.v1.RejectCPApplicationRequest\x1a*.hyapp.user.v1.RejectCPApplicationResponse\x12l\n" +
	"\x13ListCPRelationships\x12).hyapp.user.v1.ListCPRelationshipsRequest\x1a*.hyapp.user.v1.ListCPRelationshipsResponse\x12~\n" +
	"\x19ListCPIntimacyLeaderboard\x12/.hyapp.user.v1.ListCPIntimacyLeaderboardRequest\x1a0.hyapp.user.v1.ListCPIntimacyLeaderboardResponse\x12\x81\x01\n" +
	"\x1aPrepareBreakCPRelationship\x120.hyapp.user.v1.PrepareBreakCPRelationshipRequest\x1a1.hyapp.user.v1.PrepareBreakCPRelationshipResponse\x12\x81\x01\n" +
	"\x1aConfirmBreakCPRelationship\x120.hyapp.user.v1.ConfirmBreakCPRelationshipRequest\x1a1.hyapp.user.v1.ConfirmBreakCPRelationshipResponse\x12~\n" +
	"\x19CancelBreakCPRelationship\x12/.hyapp.user.v1.CancelBreakCPRelationshipRequest\x1a0.hyapp.user.v1.CancelBreakCPRelationshipResponse\x12x\n" +
	"\x17ListCPFormationGiftFeed\x12-.hyapp.user.v1.ListCPFormationGiftFeedRequest\x1a..hyapp.user.v1.ListCPFormationGiftFeedResponse2\x88\x02\n" +
	"\x15UserCPInternalService\x12u\n" +
	"\x16ConsumeRoomGiftCPEvent\x12,.hyapp.user.v1.ConsumeRoomGiftCPEventRequest\x1a-.hyapp.user.v1.ConsumeRoomGiftCPEventResponse\x12x\n" +
	"\x17ListCPWeeklyRankEntries\x12-.hyapp.user.v1.ListCPWeeklyRankEntriesRequest\x1a..hyapp.user.v1.ListCPWeeklyRankEntriesResponse2\x93\x06\n" +
	"\x0fUserCronService\x12\\\n" +
	"\x17ProcessLoginIPRiskBatch\x12\x1f.hyapp.user.v1.CronBatchRequest\x1a .hyapp.user.v1.CronBatchResponse\x12^\n" +
	"\x19ProcessRegionRebuildBatch\x12\x1f.hyapp.user.v1.CronBatchRequest\x1a .hyapp.user.v1.CronBatchResponse\x12^\n" +
	"\x19CompensateMicOpenSessions\x12\x1f.hyapp.user.v1.CronBatchRequest\x1a .hyapp.user.v1.CronBatchResponse\x12_\n" +
	"\x1aCompensateRoomOpenSessions\x12\x1f.hyapp.user.v1.CronBatchRequest\x1a .hyapp.user.v1.CronBatchResponse\x12\\\n" +
	"\x17ExpireManagerUserBlocks\x12\x1f.hyapp.user.v1.CronBatchRequest\x1a .hyapp.user.v1.CronBatchResponse\x12X\n" +
	"\x13ExpireAdminUserBans\x12\x1f.hyapp.user.v1.CronBatchRequest\x1a .hyapp.user.v1.CronBatchResponse\x12a\n" +
	"\x1cRefreshCPIntimacyLeaderboard\x12\x1f.hyapp.user.v1.CronBatchRequest\x1a .hyapp.user.v1.CronBatchResponse\x12f\n" +
	"!ProcessPrivateMessageHistoryBatch\x12\x1f.hyapp.user.v1.CronBatchRequest\x1a .hyapp.user.v1.CronBatchResponse2\xd1\x01\n" +
	"\x11UserDeviceService\x12Z\n" +
	"\rBindPushToken\x12#.hyapp.user.v1.BindPushTokenRequest\x1a$.hyapp.user.v1.BindPushTokenResponse\x12`\n" +
	"\x0fDeletePushToken\x12%.hyapp.user.v1.DeletePushTokenRequest\x1a&.hyapp.user.v1.DeletePushTokenResponse2\xb4\x01\n" +
	"\x12AppRegistryService\x12Q\n" +
	"\n" +
	"ResolveApp\x12 .hyapp.user.v1.ResolveAppRequest\x1a!.hyapp.user.v1.ResolveAppResponse\x12K\n" +
	"\bListApps\x12\x1e.hyapp.user.v1.ListAppsRequest\x1a\x1f.hyapp.user.v1.ListAppsResponse2\xc7\x01\n" +
	"\x13CountryAdminService\x12Z\n" +
	"\rListCountries\x12#.hyapp.user.v1.ListCountriesRequest\x1a$.hyapp.user.v1.ListCountriesResponse\x12T\n" +
	"\rUpdateCountry\x12#.hyapp.user.v1.UpdateCountryRequest\x1a\x1e.hyapp.user.v1.CountryResponse2\xa2\x02\n" +
	"\x13CountryQueryService\x12~\n" +
	"\x19ListRegistrationCountries\x12/.hyapp.user.v1.ListRegistrationCountriesRequest\x1a0.hyapp.user.v1.ListRegistrationCountriesResponse\x12\x8a\x01\n" +
	"\x1dListLoginRiskBlockedCountries\x123.hyapp.user.v1.ListLoginRiskBlockedCountriesRequest\x1a4.hyapp.user.v1.ListLoginRiskBlockedCountriesResponse2\xf1\x02\n" +
	"\x12RegionAdminService\x12T\n" +
	"\vListRegions\x12!.hyapp.user.v1.ListRegionsRequest\x1a\".hyapp.user.v1.ListRegionsResponse\x12K\n" +
	"\tGetRegion\x12\x1f.hyapp.user.v1.GetRegionRequest\x1a\x1d.hyapp.user.v1.RegionResponse\x12Q\n" +
	"\fUpdateRegion\x12\".hyapp.user.v1.UpdateRegionRequest\x1a\x1d.hyapp.user.v1.RegionResponse\x12e\n" +
	"\x16ReplaceRegionCountries\x12,.hyapp.user.v1.ReplaceRegionCountriesRequest\x1a\x1d.hyapp.user.v1.RegionResponse2\xee\a\n" +
	"\x13UserIdentityService\x12`\n" +
	"\x0fGetUserIdentity\x12%.hyapp.user.v1.GetUserIdentityRequest\x1a&.hyapp.user.v1.GetUserIdentityResponse\x12o\n" +
	"\x14ResolveDisplayUserID\x12*.hyapp.user.v1.ResolveDisplayUserIDRequest\x1a+.hyapp.user.v1.ResolveDisplayUserIDResponse\x12\x81\x01\n" +
	"\x1aResolveAdminUserIdentifier\x120.hyapp.user.v1.ResolveAdminUserIdentifierRequest\x1a1.hyapp.user.v1.ResolveAdminUserIdentifierResponse\x12l\n" +
	"\x13ChangeDisplayUserID\x12).hyapp.user.v1.ChangeDisplayUserIDRequest\x1a*.hyapp.user.v1.ChangeDisplayUserIDResponse\x12{\n" +
	"\x18ApplyPrettyDisplayUserID\x12..hyapp.user.v1.ApplyPrettyDisplayUserIDRequest\x1a/.hyapp.user.v1.ApplyPrettyDisplayUserIDResponse\x12\x8a\x01\n" +
	"\x1dListAvailablePrettyDisplayIDs\x123.hyapp.user.v1.ListAvailablePrettyDisplayIDsRequest\x1a4.hyapp.user.v1.ListAvailablePrettyDisplayIDsResponse\x12\x87\x01\n" +
	"\x1cApplyPrettyDisplayIDFromPool\x122.hyapp.user.v1.ApplyPrettyDisplayIDFromPoolRequest\x1a3.hyapp.user.v1.ApplyPrettyDisplayIDFromPoolResponse\x12~\n" +
	"\x19ExpirePrettyDisplayUserID\x12/.hyapp.user.v1.ExpirePrettyDisplayUserIDRequest\x1a0.hyapp.user.v1.ExpirePrettyDisplayUserIDResponse2\xe4\a\n" +
	"\x1fUserPrettyDisplayIDAdminService\x12{\n" +
	"\x18ListPrettyDisplayIDPools\x12..hyapp.user.v1.ListPrettyDisplayIDPoolsRequest\x1a/.hyapp.user.v1.ListPrettyDisplayIDPoolsResponse\x12x\n" +
	"\x19CreatePrettyDisplayIDPool\x12/.hyapp.user.v1.CreatePrettyDisplayIDPoolRequest\x1a*.hyapp.user.v1.PrettyDisplayIDPoolResponse\x12x\n" +
	"\x19UpdatePrettyDisplayIDPool\x12/.hyapp.user.v1.UpdatePrettyDisplayIDPoolRequest\x1a*.hyapp.user.v1.PrettyDisplayIDPoolResponse\x12{\n" +
	"\x18GeneratePrettyDisplayIDs\x12..hyapp.user.v1.GeneratePrettyDisplayIDsRequest\x1a/.hyapp.user.v1.GeneratePrettyDisplayIDsResponse\x12o\n" +
	"\x14ListPrettyDisplayIDs\x12*.hyapp.user.v1.ListPrettyDisplayIDsRequest\x1a+.hyapp.user.v1.ListPrettyDisplayIDsResponse\x12r\n" +
	"\x18SetPrettyDisplayIDStatus\x12..hyapp.user.v1.SetPrettyDisplayIDStatusRequest\x1a&.hyapp.user.v1.PrettyDisplayIDResponse\x12n\n" +
	"\x16RecyclePrettyDisplayID\x12,.hyapp.user.v1.RecyclePrettyDisplayIDRequest\x1a&.hyapp.user.v1.PrettyDisplayIDResponse\x12~\n" +
	"\x19AdminGrantPrettyDisplayID\x12/.hyapp.user.v1.AdminGrantPrettyDisplayIDRequest\x1a0.hyapp.user.v1.AdminGrantPrettyDisplayIDResponseB&Z$hyapp.local/api/proto/user/v1;userv1b\x06proto3"

var (
	file_proto_user_v1_user_proto_rawDescOnce sync.Once
	file_proto_user_v1_user_proto_rawDescData []byte
)

func file_proto_user_v1_user_proto_rawDescGZIP() []byte {
	file_proto_user_v1_user_proto_rawDescOnce.Do(func() {
		file_proto_user_v1_user_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_user_v1_user_proto_rawDesc), len(file_proto_user_v1_user_proto_rawDesc)))
	})
	return file_proto_user_v1_user_proto_rawDescData
}

var file_proto_user_v1_user_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_proto_user_v1_user_proto_msgTypes = make([]protoimpl.MessageInfo, 199)
var file_proto_user_v1_user_proto_goTypes = []any{
	(UserStatus)(0),                                 // 0: hyapp.user.v1.UserStatus
	(*RequestMeta)(nil),                             // 1: hyapp.user.v1.RequestMeta
	(*App)(nil),                                     // 2: hyapp.user.v1.App
	(*ResolveAppRequest)(nil),                       // 3: hyapp.user.v1.ResolveAppRequest
	(*ResolveAppResponse)(nil),                      // 4: hyapp.user.v1.ResolveAppResponse
	(*User)(nil),                                    // 5: hyapp.user.v1.User
	(*InviteOverview)(nil),                          // 6: hyapp.user.v1.InviteOverview
	(*InviteBinding)(nil),                           // 7: hyapp.user.v1.InviteBinding
	(*InviteAttribution)(nil),                       // 8: hyapp.user.v1.InviteAttribution
	(*GetInviteAttributionRequest)(nil),             // 9: hyapp.user.v1.GetInviteAttributionRequest
	(*GetInviteAttributionResponse)(nil),            // 10: hyapp.user.v1.GetInviteAttributionResponse
	(*UserMicLifetimeStats)(nil),                    // 11: hyapp.user.v1.UserMicLifetimeStats
	(*GetUserMicLifetimeStatsRequest)(nil),          // 12: hyapp.user.v1.GetUserMicLifetimeStatsRequest
	(*GetUserMicLifetimeStatsResponse)(nil),         // 13: hyapp.user.v1.GetUserMicLifetimeStatsResponse
	(*CronBatchRequest)(nil),                        // 14: hyapp.user.v1.CronBatchRequest
	(*CronBatchResponse)(nil),                       // 15: hyapp.user.v1.CronBatchResponse
	(*AuthToken)(nil),                               // 16: hyapp.user.v1.AuthToken
	(*GetUserRequest)(nil),                          // 17: hyapp.user.v1.GetUserRequest
	(*GetUserResponse)(nil),                         // 18: hyapp.user.v1.GetUserResponse
	(*BusinessUserLookupRequest)(nil),               // 19: hyapp.user.v1.BusinessUserLookupRequest
	(*BusinessUserLookupItem)(nil),                  // 20: hyapp.user.v1.BusinessUserLookupItem
	(*BusinessUserLookupResponse)(nil),              // 21: hyapp.user.v1.BusinessUserLookupResponse
	(*UserProfileStats)(nil),                        // 22: hyapp.user.v1.UserProfileStats
	(*GetMyProfileStatsRequest)(nil),                // 23: hyapp.user.v1.GetMyProfileStatsRequest
	(*GetMyProfileStatsResponse)(nil),               // 24: hyapp.user.v1.GetMyProfileStatsResponse
	(*RecordProfileVisitRequest)(nil),               // 25: hyapp.user.v1.RecordProfileVisitRequest
	(*RecordProfileVisitResponse)(nil),              // 26: hyapp.user.v1.RecordProfileVisitResponse
	(*ProfileVisitRecord)(nil),                      // 27: hyapp.user.v1.ProfileVisitRecord
	(*ListProfileVisitorsRequest)(nil),              // 28: hyapp.user.v1.ListProfileVisitorsRequest
	(*ListProfileVisitorsResponse)(nil),             // 29: hyapp.user.v1.ListProfileVisitorsResponse
	(*FollowUserRequest)(nil),                       // 30: hyapp.user.v1.FollowUserRequest
	(*FollowUserResponse)(nil),                      // 31: hyapp.user.v1.FollowUserResponse
	(*UnfollowUserRequest)(nil),                     // 32: hyapp.user.v1.UnfollowUserRequest
	(*UnfollowUserResponse)(nil),                    // 33: hyapp.user.v1.UnfollowUserResponse
	(*FollowRecord)(nil),                            // 34: hyapp.user.v1.FollowRecord
	(*ListFollowingRequest)(nil),                    // 35: hyapp.user.v1.ListFollowingRequest
	(*ListFollowingResponse)(nil),                   // 36: hyapp.user.v1.ListFollowingResponse
	(*ApplyFriendRequest)(nil),                      // 37: hyapp.user.v1.ApplyFriendRequest
	(*ApplyFriendResponse)(nil),                     // 38: hyapp.user.v1.ApplyFriendResponse
	(*AcceptFriendApplicationRequest)(nil),          // 39: hyapp.user.v1.AcceptFriendApplicationRequest
	(*AcceptFriendApplicationResponse)(nil),         // 40: hyapp.user.v1.AcceptFriendApplicationResponse
	(*DeleteFriendRequest)(nil),                     // 41: hyapp.user.v1.DeleteFriendRequest
	(*DeleteFriendResponse)(nil),                    // 42: hyapp.user.v1.DeleteFriendResponse
	(*FriendRecord)(nil),                            // 43: hyapp.user.v1.FriendRecord
	(*ListFriendsRequest)(nil),                      // 44: hyapp.user.v1.ListFriendsRequest
	(*ListFriendsResponse)(nil),                     // 45: hyapp.user.v1.ListFriendsResponse
	(*FriendApplication)(nil),                       // 46: hyapp.user.v1.FriendApplication
	(*ListFriendApplicationsRequest)(nil),           // 47: hyapp.user.v1.ListFriendApplicationsRequest
	(*ListFriendApplicationsResponse)(nil),          // 48: hyapp.user.v1.ListFriendApplicationsResponse
	(*CPUserProfile)(nil),                           // 49: hyapp.user.v1.CPUserProfile
	(*CPGiftSnapshot)(nil),                          // 50: hyapp.user.v1.CPGiftSnapshot
	(*CPApplication)(nil),                           // 51: hyapp.user.v1.CPApplication
	(*CPRelationship)(nil),                          // 52: hyapp.user.v1.CPRelationship
	(*CPAvatarFrameSnapshot)(nil),                   // 53: hyapp.user.v1.CPAvatarFrameSnapshot
	(*CPIntimacyLeaderboardUser)(nil),               // 54: hyapp.user.v1.CPIntimacyLeaderboardUser
	(*CPIntimacyLeaderboardItem)(nil),               // 55: hyapp.user.v1.CPIntimacyLeaderboardItem
	(*CPWeeklyRankEntry)(nil),                       // 56: hyapp.user.v1.CPWeeklyRankEntry
	(*ListCPWeeklyRankEntriesRequest)(nil),          // 57: hyapp.user.v1.ListCPWeeklyRankEntriesRequest
	(*ListCPWeeklyRankEntriesResponse)(nil),         // 58: hyapp.user.v1.ListCPWeeklyRankEntriesResponse
	(*ListCPApplicationsRequest)(nil),               // 59: hyapp.user.v1.ListCPApplicationsRequest
	(*ListCPApplicationsResponse)(nil),              // 60: hyapp.user.v1.ListCPApplicationsResponse
	(*AcceptCPApplicationRequest)(nil),              // 61: hyapp.user.v1.AcceptCPApplicationRequest
	(*AcceptCPApplicationResponse)(nil),             // 62: hyapp.user.v1.AcceptCPApplicationResponse
	(*RejectCPApplicationRequest)(nil),              // 63: hyapp.user.v1.RejectCPApplicationRequest
	(*RejectCPApplicationResponse)(nil),             // 64: hyapp.user.v1.RejectCPApplicationResponse
	(*ListCPRelationshipsRequest)(nil),              // 65: hyapp.user.v1.ListCPRelationshipsRequest
	(*ListCPRelationshipsResponse)(nil),             // 66: hyapp.user.v1.ListCPRelationshipsResponse
	(*ListCPIntimacyLeaderboardRequest)(nil),        // 67: hyapp.user.v1.ListCPIntimacyLeaderboardRequest
	(*ListCPIntimacyLeaderboardResponse)(nil),       // 68: hyapp.user.v1.ListCPIntimacyLeaderboardResponse
	(*PrepareBreakCPRelationshipRequest)(nil),       // 69: hyapp.user.v1.PrepareBreakCPRelationshipRequest
	(*PrepareBreakCPRelationshipResponse)(nil),      // 70: hyapp.user.v1.PrepareBreakCPRelationshipResponse
	(*ConfirmBreakCPRelationshipRequest)(nil),       // 71: hyapp.user.v1.ConfirmBreakCPRelationshipRequest
	(*ConfirmBreakCPRelationshipResponse)(nil),      // 72: hyapp.user.v1.ConfirmBreakCPRelationshipResponse
	(*CancelBreakCPRelationshipRequest)(nil),        // 73: hyapp.user.v1.CancelBreakCPRelationshipRequest
	(*CancelBreakCPRelationshipResponse)(nil),       // 74: hyapp.user.v1.CancelBreakCPRelationshipResponse
	(*RoomGiftCPEvent)(nil),                         // 75: hyapp.user.v1.RoomGiftCPEvent
	(*ConsumeRoomGiftCPEventRequest)(nil),           // 76: hyapp.user.v1.ConsumeRoomGiftCPEventRequest
	(*ConsumeRoomGiftCPEventResponse)(nil),          // 77: hyapp.user.v1.ConsumeRoomGiftCPEventResponse
	(*UserReport)(nil),                              // 78: hyapp.user.v1.UserReport
	(*SubmitReportRequest)(nil),                     // 79: hyapp.user.v1.SubmitReportRequest
	(*SubmitReportResponse)(nil),                    // 80: hyapp.user.v1.SubmitReportResponse
	(*BatchGetUsersRequest)(nil),                    // 81: hyapp.user.v1.BatchGetUsersRequest
	(*BatchGetUsersResponse)(nil),                   // 82: hyapp.user.v1.BatchGetUsersResponse
	(*ActiveUserBanSummary)(nil),                    // 83: hyapp.user.v1.ActiveUserBanSummary
	(*UserAdminProfile)(nil),                        // 84: hyapp.user.v1.UserAdminProfile
	(*BatchGetUserAdminProfilesRequest)(nil),        // 85: hyapp.user.v1.BatchGetUserAdminProfilesRequest
	(*BatchGetUserAdminProfilesResponse)(nil),       // 86: hyapp.user.v1.BatchGetUserAdminProfilesResponse
	(*AdminIssueUserAccessTokenRequest)(nil),        // 87: hyapp.user.v1.AdminIssueUserAccessTokenRequest
	(*AdminIssueUserAccessTokenResponse)(nil),       // 88: hyapp.user.v1.AdminIssueUserAccessTokenResponse
	(*UserContentBlacklistEntry)(nil),               // 89: hyapp.user.v1.UserContentBlacklistEntry
	(*ListUserContentBlacklistRequest)(nil),         // 90: hyapp.user.v1.ListUserContentBlacklistRequest
	(*ListUserContentBlacklistResponse)(nil),        // 91: hyapp.user.v1.ListUserContentBlacklistResponse
	(*AdminAddUserContentBlacklistRequest)(nil),     // 92: hyapp.user.v1.AdminAddUserContentBlacklistRequest
	(*AdminAddUserContentBlacklistResponse)(nil),    // 93: hyapp.user.v1.AdminAddUserContentBlacklistResponse
	(*AdminRemoveUserContentBlacklistRequest)(nil),  // 94: hyapp.user.v1.AdminRemoveUserContentBlacklistRequest
	(*AdminRemoveUserContentBlacklistResponse)(nil), // 95: hyapp.user.v1.AdminRemoveUserContentBlacklistResponse
	(*RoomBasicUser)(nil),                           // 96: hyapp.user.v1.RoomBasicUser
	(*BatchGetRoomBasicUsersRequest)(nil),           // 97: hyapp.user.v1.BatchGetRoomBasicUsersRequest
	(*BatchGetRoomBasicUsersResponse)(nil),          // 98: hyapp.user.v1.BatchGetRoomBasicUsersResponse
	(*ListUserIDsRequest)(nil),                      // 99: hyapp.user.v1.ListUserIDsRequest
	(*ListUserIDsResponse)(nil),                     // 100: hyapp.user.v1.ListUserIDsResponse
	(*UpdateUserProfileRequest)(nil),                // 101: hyapp.user.v1.UpdateUserProfileRequest
	(*UpdateUserProfileResponse)(nil),               // 102: hyapp.user.v1.UpdateUserProfileResponse
	(*UserAvatarMedia)(nil),                         // 103: hyapp.user.v1.UserAvatarMedia
	(*AuthorizeUserAvatarUploadRequest)(nil),        // 104: hyapp.user.v1.AuthorizeUserAvatarUploadRequest
	(*AuthorizeUserAvatarUploadResponse)(nil),       // 105: hyapp.user.v1.AuthorizeUserAvatarUploadResponse
	(*CompleteUserAvatarUploadRequest)(nil),         // 106: hyapp.user.v1.CompleteUserAvatarUploadRequest
	(*CompleteUserAvatarUploadResponse)(nil),        // 107: hyapp.user.v1.CompleteUserAvatarUploadResponse
	(*UpdateUserProfileBackgroundRequest)(nil),      // 108: hyapp.user.v1.UpdateUserProfileBackgroundRequest
	(*UpdateUserProfileBackgroundResponse)(nil),     // 109: hyapp.user.v1.UpdateUserProfileBackgroundResponse
	(*UpdateUserContactInfoRequest)(nil),            // 110: hyapp.user.v1.UpdateUserContactInfoRequest
	(*UpdateUserContactInfoResponse)(nil),           // 111: hyapp.user.v1.UpdateUserContactInfoResponse
	(*UpdateUserWithdrawAddressRequest)(nil),        // 112: hyapp.user.v1.UpdateUserWithdrawAddressRequest
	(*UpdateUserWithdrawAddressResponse)(nil),       // 113: hyapp.user.v1.UpdateUserWithdrawAddressResponse
	(*ChangeUserCountryRequest)(nil),                // 114: hyapp.user.v1.ChangeUserCountryRequest
	(*AdminChangeUserCountryRequest)(nil),           // 115: hyapp.user.v1.AdminChangeUserCountryRequest
	(*ChangeUserCountryResponse)(nil),               // 116: hyapp.user.v1.ChangeUserCountryResponse
	(*SetUserStatusRequest)(nil),                    // 117: hyapp.user.v1.SetUserStatusRequest
	(*SetUserStatusResponse)(nil),                   // 118: hyapp.user.v1.SetUserStatusResponse
	(*AdminUserBan)(nil),                            // 119: hyapp.user.v1.AdminUserBan
	(*AdminBanUserRequest)(nil),                     // 120: hyapp.user.v1.AdminBanUserRequest
	(*AdminBanUserResponse)(nil),                    // 121: hyapp.user.v1.AdminBanUserResponse
	(*AdminUnbanUserRequest)(nil),                   // 122: hyapp.user.v1.AdminUnbanUserRequest
	(*AdminUnbanUserResponse)(nil),                  // 123: hyapp.user.v1.AdminUnbanUserResponse
	(*ManagerUserBlock)(nil),                        // 124: hyapp.user.v1.ManagerUserBlock
	(*CreateManagerUserBlockRequest)(nil),           // 125: hyapp.user.v1.CreateManagerUserBlockRequest
	(*CreateManagerUserBlockResponse)(nil),          // 126: hyapp.user.v1.CreateManagerUserBlockResponse
	(*ListManagerUserBlocksRequest)(nil),            // 127: hyapp.user.v1.ListManagerUserBlocksRequest
	(*ListManagerUserBlocksResponse)(nil),           // 128: hyapp.user.v1.ListManagerUserBlocksResponse
	(*UnblockManagerUserRequest)(nil),               // 129: hyapp.user.v1.UnblockManagerUserRequest
	(*UnblockManagerUserResponse)(nil),              // 130: hyapp.user.v1.UnblockManagerUserResponse
	(*CompleteOnboardingRequest)(nil),               // 131: hyapp.user.v1.CompleteOnboardingRequest
	(*CompleteOnboardingResponse)(nil),              // 132: hyapp.user.v1.CompleteOnboardingResponse
	(*SearchInviteReferrerRequest)(nil),             // 133: hyapp.user.v1.SearchInviteReferrerRequest
	(*SearchInviteReferrerResponse)(nil),            // 134: hyapp.user.v1.SearchInviteReferrerResponse
	(*BindInviteReferrerRequest)(nil),               // 135: hyapp.user.v1.BindInviteReferrerRequest
	(*BindInviteReferrerResponse)(nil),              // 136: hyapp.user.v1.BindInviteReferrerResponse
	(*BindPushTokenRequest)(nil),                    // 137: hyapp.user.v1.BindPushTokenRequest
	(*BindPushTokenResponse)(nil),                   // 138: hyapp.user.v1.BindPushTokenResponse
	(*DeletePushTokenRequest)(nil),                  // 139: hyapp.user.v1.DeletePushTokenRequest
	(*DeletePushTokenResponse)(nil),                 // 140: hyapp.user.v1.DeletePushTokenResponse
	(*Country)(nil),                                 // 141: hyapp.user.v1.Country
	(*Region)(nil),                                  // 142: hyapp.user.v1.Region
	(*ListCountriesRequest)(nil),                    // 143: hyapp.user.v1.ListCountriesRequest
	(*ListCountriesResponse)(nil),                   // 144: hyapp.user.v1.ListCountriesResponse
	(*UpdateCountryRequest)(nil),                    // 145: hyapp.user.v1.UpdateCountryRequest
	(*CountryResponse)(nil),                         // 146: hyapp.user.v1.CountryResponse
	(*ListRegistrationCountriesRequest)(nil),        // 147: hyapp.user.v1.ListRegistrationCountriesRequest
	(*ListRegistrationCountriesResponse)(nil),       // 148: hyapp.user.v1.ListRegistrationCountriesResponse
	(*LoginRiskBlockedCountry)(nil),                 // 149: hyapp.user.v1.LoginRiskBlockedCountry
	(*ListLoginRiskBlockedCountriesRequest)(nil),    // 150: hyapp.user.v1.ListLoginRiskBlockedCountriesRequest
	(*ListLoginRiskBlockedCountriesResponse)(nil),   // 151: hyapp.user.v1.ListLoginRiskBlockedCountriesResponse
	(*ListRegionsRequest)(nil),                      // 152: hyapp.user.v1.ListRegionsRequest
	(*ListRegionsResponse)(nil),                     // 153: hyapp.user.v1.ListRegionsResponse
	(*GetRegionRequest)(nil),                        // 154: hyapp.user.v1.GetRegionRequest
	(*UpdateRegionRequest)(nil),                     // 155: hyapp.user.v1.UpdateRegionRequest
	(*ReplaceRegionCountriesRequest)(nil),           // 156: hyapp.user.v1.ReplaceRegionCountriesRequest
	(*RegionResponse)(nil),                          // 157: hyapp.user.v1.RegionResponse
	(*UserIdentity)(nil),                            // 158: hyapp.user.v1.UserIdentity
	(*GetUserIdentityRequest)(nil),                  // 159: hyapp.user.v1.GetUserIdentityRequest
	(*GetUserIdentityResponse)(nil),                 // 160: hyapp.user.v1.GetUserIdentityResponse
	(*ResolveDisplayUserIDRequest)(nil),             // 161: hyapp.user.v1.ResolveDisplayUserIDRequest
	(*ResolveDisplayUserIDResponse)(nil),            // 162: hyapp.user.v1.ResolveDisplayUserIDResponse
	(*ChangeDisplayUserIDRequest)(nil),              // 163: hyapp.user.v1.ChangeDisplayUserIDRequest
	(*ChangeDisplayUserIDResponse)(nil),             // 164: hyapp.user.v1.ChangeDisplayUserIDResponse
	(*ApplyPrettyDisplayUserIDRequest)(nil),         // 165: hyapp.user.v1.ApplyPrettyDisplayUserIDRequest
	(*ApplyPrettyDisplayUserIDResponse)(nil),        // 166: hyapp.user.v1.ApplyPrettyDisplayUserIDResponse
	(*ExpirePrettyDisplayUserIDRequest)(nil),        // 167: hyapp.user.v1.ExpirePrettyDisplayUserIDRequest
	(*ExpirePrettyDisplayUserIDResponse)(nil),       // 168: hyapp.user.v1.ExpirePrettyDisplayUserIDResponse
	(*PrettyDisplayIDPool)(nil),                     // 169: hyapp.user.v1.PrettyDisplayIDPool
	(*PrettyDisplayID)(nil),                         // 170: hyapp.user.v1.PrettyDisplayID
	(*PrettyDisplayIDGenerationBatch)(nil),          // 171: hyapp.user.v1.PrettyDisplayIDGenerationBatch
	(*ListAvailablePrettyDisplayIDsRequest)(nil),    // 172: hyapp.user.v1.ListAvailablePrettyDisplayIDsRequest
	(*ListAvailablePrettyDisplayIDsResponse)(nil),   // 173: hyapp.user.v1.ListAvailablePrettyDisplayIDsResponse
	(*ApplyPrettyDisplayIDFromPoolRequest)(nil),     // 174: hyapp.user.v1.ApplyPrettyDisplayIDFromPoolRequest
	(*ApplyPrettyDisplayIDFromPoolResponse)(nil),    // 175: hyapp.user.v1.ApplyPrettyDisplayIDFromPoolResponse
	(*ListPrettyDisplayIDPoolsRequest)(nil),         // 176: hyapp.user.v1.ListPrettyDisplayIDPoolsRequest
	(*ListPrettyDisplayIDPoolsResponse)(nil),        // 177: hyapp.user.v1.ListPrettyDisplayIDPoolsResponse
	(*CreatePrettyDisplayIDPoolRequest)(nil),        // 178: hyapp.user.v1.CreatePrettyDisplayIDPoolRequest
	(*UpdatePrettyDisplayIDPoolRequest)(nil),        // 179: hyapp.user.v1.UpdatePrettyDisplayIDPoolRequest
	(*PrettyDisplayIDPoolResponse)(nil),             // 180: hyapp.user.v1.PrettyDisplayIDPoolResponse
	(*GeneratePrettyDisplayIDsRequest)(nil),         // 181: hyapp.user.v1.GeneratePrettyDisplayIDsRequest
	(*GeneratePrettyDisplayIDsResponse)(nil),        // 182: hyapp.user.v1.GeneratePrettyDisplayIDsResponse
	(*ListPrettyDisplayIDsRequest)(nil),             // 183: hyapp.user.v1.ListPrettyDisplayIDsRequest
	(*ListPrettyDisplayIDsResponse)(nil),            // 184: hyapp.user.v1.ListPrettyDisplayIDsResponse
	(*SetPrettyDisplayIDStatusRequest)(nil),         // 185: hyapp.user.v1.SetPrettyDisplayIDStatusRequest
	(*RecyclePrettyDisplayIDRequest)(nil),           // 186: hyapp.user.v1.RecyclePrettyDisplayIDRequest
	(*PrettyDisplayIDResponse)(nil),                 // 187: hyapp.user.v1.PrettyDisplayIDResponse
	(*AdminGrantPrettyDisplayIDRequest)(nil),        // 188: hyapp.user.v1.AdminGrantPrettyDisplayIDRequest
	(*AdminGrantPrettyDisplayIDResponse)(nil),       // 189: hyapp.user.v1.AdminGrantPrettyDisplayIDResponse
	(*CPFormationGiftFeedItem)(nil),                 // 190: hyapp.user.v1.CPFormationGiftFeedItem
	(*ListCPFormationGiftFeedRequest)(nil),          // 191: hyapp.user.v1.ListCPFormationGiftFeedRequest
	(*ListCPFormationGiftFeedResponse)(nil),         // 192: hyapp.user.v1.ListCPFormationGiftFeedResponse
	(*ListAppsRequest)(nil),                         // 193: hyapp.user.v1.ListAppsRequest
	(*ListAppsResponse)(nil),                        // 194: hyapp.user.v1.ListAppsResponse
	(*ResolveAdminUserIdentifierRequest)(nil),       // 195: hyapp.user.v1.ResolveAdminUserIdentifierRequest
	(*ResolveAdminUserIdentifierResponse)(nil),      // 196: hyapp.user.v1.ResolveAdminUserIdentifierResponse
	nil, // 197: hyapp.user.v1.BatchGetUsersResponse.UsersEntry
	nil, // 198: hyapp.user.v1.BatchGetUserAdminProfilesResponse.ProfilesEntry
	nil, // 199: hyapp.user.v1.BatchGetRoomBasicUsersResponse.UsersEntry
}
var file_proto_user_v1_user_proto_depIdxs = []int32{
	1,   // 0: hyapp.user.v1.ResolveAppRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	2,   // 1: hyapp.user.v1.ResolveAppResponse.app:type_name -> hyapp.user.v1.App
	0,   // 2: hyapp.user.v1.User.status:type_name -> hyapp.user.v1.UserStatus
	6,   // 3: hyapp.user.v1.User.invite:type_name -> hyapp.user.v1.InviteOverview
	1,   // 4: hyapp.user.v1.GetInviteAttributionRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	8,   // 5: hyapp.user.v1.GetInviteAttributionResponse.attribution:type_name -> hyapp.user.v1.InviteAttribution
	1,   // 6: hyapp.user.v1.GetUserMicLifetimeStatsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	11,  // 7: hyapp.user.v1.GetUserMicLifetimeStatsResponse.stats:type_name -> hyapp.user.v1.UserMicLifetimeStats
	1,   // 8: hyapp.user.v1.CronBatchRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 9: hyapp.user.v1.GetUserRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	5,   // 10: hyapp.user.v1.GetUserResponse.user:type_name -> hyapp.user.v1.User
	1,   // 11: hyapp.user.v1.BusinessUserLookupRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	0,   // 12: hyapp.user.v1.BusinessUserLookupItem.status:type_name -> hyapp.user.v1.UserStatus
	20,  // 13: hyapp.user.v1.BusinessUserLookupResponse.users:type_name -> hyapp.user.v1.BusinessUserLookupItem
	1,   // 14: hyapp.user.v1.GetMyProfileStatsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	22,  // 15: hyapp.user.v1.GetMyProfileStatsResponse.stats:type_name -> hyapp.user.v1.UserProfileStats
	1,   // 16: hyapp.user.v1.RecordProfileVisitRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	22,  // 17: hyapp.user.v1.RecordProfileVisitResponse.target_stats:type_name -> hyapp.user.v1.UserProfileStats
	1,   // 18: hyapp.user.v1.ListProfileVisitorsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	27,  // 19: hyapp.user.v1.ListProfileVisitorsResponse.records:type_name -> hyapp.user.v1.ProfileVisitRecord
	1,   // 20: hyapp.user.v1.FollowUserRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	22,  // 21: hyapp.user.v1.FollowUserResponse.follower_stats:type_name -> hyapp.user.v1.UserProfileStats
	1,   // 22: hyapp.user.v1.UnfollowUserRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	22,  // 23: hyapp.user.v1.UnfollowUserResponse.follower_stats:type_name -> hyapp.user.v1.UserProfileStats
	1,   // 24: hyapp.user.v1.ListFollowingRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	34,  // 25: hyapp.user.v1.ListFollowingResponse.records:type_name -> hyapp.user.v1.FollowRecord
	1,   // 26: hyapp.user.v1.ApplyFriendRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	46,  // 27: hyapp.user.v1.ApplyFriendResponse.application:type_name -> hyapp.user.v1.FriendApplication
	1,   // 28: hyapp.user.v1.AcceptFriendApplicationRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	43,  // 29: hyapp.user.v1.AcceptFriendApplicationResponse.friend:type_name -> hyapp.user.v1.FriendRecord
	1,   // 30: hyapp.user.v1.DeleteFriendRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 31: hyapp.user.v1.ListFriendsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	43,  // 32: hyapp.user.v1.ListFriendsResponse.records:type_name -> hyapp.user.v1.FriendRecord
	1,   // 33: hyapp.user.v1.ListFriendApplicationsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	46,  // 34: hyapp.user.v1.ListFriendApplicationsResponse.applications:type_name -> hyapp.user.v1.FriendApplication
	49,  // 35: hyapp.user.v1.CPApplication.requester:type_name -> hyapp.user.v1.CPUserProfile
	49,  // 36: hyapp.user.v1.CPApplication.target:type_name -> hyapp.user.v1.CPUserProfile
	50,  // 37: hyapp.user.v1.CPApplication.gift:type_name -> hyapp.user.v1.CPGiftSnapshot
	49,  // 38: hyapp.user.v1.CPRelationship.me:type_name -> hyapp.user.v1.CPUserProfile
	49,  // 39: hyapp.user.v1.CPRelationship.partner:type_name -> hyapp.user.v1.CPUserProfile
	53,  // 40: hyapp.user.v1.CPIntimacyLeaderboardUser.avatar_frame:type_name -> hyapp.user.v1.CPAvatarFrameSnapshot
	54,  // 41: hyapp.user.v1.CPIntimacyLeaderboardItem.user_a:type_name -> hyapp.user.v1.CPIntimacyLeaderboardUser
	54,  // 42: hyapp.user.v1.CPIntimacyLeaderboardItem.user_b:type_name -> hyapp.user.v1.CPIntimacyLeaderboardUser
	54,  // 43: hyapp.user.v1.CPWeeklyRankEntry.user_a:type_name -> hyapp.user.v1.CPIntimacyLeaderboardUser
	54,  // 44: hyapp.user.v1.CPWeeklyRankEntry.user_b:type_name -> hyapp.user.v1.CPIntimacyLeaderboardUser
	1,   // 45: hyapp.user.v1.ListCPWeeklyRankEntriesRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	56,  // 46: hyapp.user.v1.ListCPWeeklyRankEntriesResponse.entries:type_name -> hyapp.user.v1.CPWeeklyRankEntry
	1,   // 47: hyapp.user.v1.ListCPApplicationsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	51,  // 48: hyapp.user.v1.ListCPApplicationsResponse.applications:type_name -> hyapp.user.v1.CPApplication
	1,   // 49: hyapp.user.v1.AcceptCPApplicationRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	51,  // 50: hyapp.user.v1.AcceptCPApplicationResponse.application:type_name -> hyapp.user.v1.CPApplication
	52,  // 51: hyapp.user.v1.AcceptCPApplicationResponse.relationship:type_name -> hyapp.user.v1.CPRelationship
	1,   // 52: hyapp.user.v1.RejectCPApplicationRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	51,  // 53: hyapp.user.v1.RejectCPApplicationResponse.application:type_name -> hyapp.user.v1.CPApplication
	1,   // 54: hyapp.user.v1.ListCPRelationshipsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	52,  // 55: hyapp.user.v1.ListCPRelationshipsResponse.relationships:type_name -> hyapp.user.v1.CPRelationship
	1,   // 56: hyapp.user.v1.ListCPIntimacyLeaderboardRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	55,  // 57: hyapp.user.v1.ListCPIntimacyLeaderboardResponse.items:type_name -> hyapp.user.v1.CPIntimacyLeaderboardItem
	1,   // 58: hyapp.user.v1.PrepareBreakCPRelationshipRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	52,  // 59: hyapp.user.v1.PrepareBreakCPRelationshipResponse.relationship:type_name -> hyapp.user.v1.CPRelationship
	1,   // 60: hyapp.user.v1.ConfirmBreakCPRelationshipRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	52,  // 61: hyapp.user.v1.ConfirmBreakCPRelationshipResponse.relationship:type_name -> hyapp.user.v1.CPRelationship
	1,   // 62: hyapp.user.v1.CancelBreakCPRelationshipRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 63: hyapp.user.v1.RoomGiftCPEvent.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 64: hyapp.user.v1.ConsumeRoomGiftCPEventRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	75,  // 65: hyapp.user.v1.ConsumeRoomGiftCPEventRequest.event:type_name -> hyapp.user.v1.RoomGiftCPEvent
	51,  // 66: hyapp.user.v1.ConsumeRoomGiftCPEventResponse.application:type_name -> hyapp.user.v1.CPApplication
	52,  // 67: hyapp.user.v1.ConsumeRoomGiftCPEventResponse.relationship:type_name -> hyapp.user.v1.CPRelationship
	1,   // 68: hyapp.user.v1.SubmitReportRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	78,  // 69: hyapp.user.v1.SubmitReportResponse.report:type_name -> hyapp.user.v1.UserReport
	1,   // 70: hyapp.user.v1.BatchGetUsersRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	197, // 71: hyapp.user.v1.BatchGetUsersResponse.users:type_name -> hyapp.user.v1.BatchGetUsersResponse.UsersEntry
	0,   // 72: hyapp.user.v1.ActiveUserBanSummary.user_status:type_name -> hyapp.user.v1.UserStatus
	5,   // 73: hyapp.user.v1.UserAdminProfile.user:type_name -> hyapp.user.v1.User
	83,  // 74: hyapp.user.v1.UserAdminProfile.ban:type_name -> hyapp.user.v1.ActiveUserBanSummary
	1,   // 75: hyapp.user.v1.BatchGetUserAdminProfilesRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	198, // 76: hyapp.user.v1.BatchGetUserAdminProfilesResponse.profiles:type_name -> hyapp.user.v1.BatchGetUserAdminProfilesResponse.ProfilesEntry
	1,   // 77: hyapp.user.v1.AdminIssueUserAccessTokenRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	0,   // 78: hyapp.user.v1.UserContentBlacklistEntry.user_status:type_name -> hyapp.user.v1.UserStatus
	1,   // 79: hyapp.user.v1.ListUserContentBlacklistRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	89,  // 80: hyapp.user.v1.ListUserContentBlacklistResponse.items:type_name -> hyapp.user.v1.UserContentBlacklistEntry
	1,   // 81: hyapp.user.v1.AdminAddUserContentBlacklistRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	89,  // 82: hyapp.user.v1.AdminAddUserContentBlacklistResponse.item:type_name -> hyapp.user.v1.UserContentBlacklistEntry
	1,   // 83: hyapp.user.v1.AdminRemoveUserContentBlacklistRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 84: hyapp.user.v1.BatchGetRoomBasicUsersRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	199, // 85: hyapp.user.v1.BatchGetRoomBasicUsersResponse.users:type_name -> hyapp.user.v1.BatchGetRoomBasicUsersResponse.UsersEntry
	1,   // 86: hyapp.user.v1.ListUserIDsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 87: hyapp.user.v1.UpdateUserProfileRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	5,   // 88: hyapp.user.v1.UpdateUserProfileResponse.user:type_name -> hyapp.user.v1.User
	1,   // 89: hyapp.user.v1.AuthorizeUserAvatarUploadRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	103, // 90: hyapp.user.v1.AuthorizeUserAvatarUploadRequest.media:type_name -> hyapp.user.v1.UserAvatarMedia
	1,   // 91: hyapp.user.v1.CompleteUserAvatarUploadRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	103, // 92: hyapp.user.v1.CompleteUserAvatarUploadRequest.media:type_name -> hyapp.user.v1.UserAvatarMedia
	103, // 93: hyapp.user.v1.CompleteUserAvatarUploadResponse.media:type_name -> hyapp.user.v1.UserAvatarMedia
	1,   // 94: hyapp.user.v1.UpdateUserProfileBackgroundRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	5,   // 95: hyapp.user.v1.UpdateUserProfileBackgroundResponse.user:type_name -> hyapp.user.v1.User
	1,   // 96: hyapp.user.v1.UpdateUserContactInfoRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	5,   // 97: hyapp.user.v1.UpdateUserContactInfoResponse.user:type_name -> hyapp.user.v1.User
	1,   // 98: hyapp.user.v1.UpdateUserWithdrawAddressRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	5,   // 99: hyapp.user.v1.UpdateUserWithdrawAddressResponse.user:type_name -> hyapp.user.v1.User
	1,   // 100: hyapp.user.v1.ChangeUserCountryRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 101: hyapp.user.v1.AdminChangeUserCountryRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	5,   // 102: hyapp.user.v1.ChangeUserCountryResponse.user:type_name -> hyapp.user.v1.User
	1,   // 103: hyapp.user.v1.SetUserStatusRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	0,   // 104: hyapp.user.v1.SetUserStatusRequest.status:type_name -> hyapp.user.v1.UserStatus
	5,   // 105: hyapp.user.v1.SetUserStatusResponse.user:type_name -> hyapp.user.v1.User
	1,   // 106: hyapp.user.v1.AdminBanUserRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	119, // 107: hyapp.user.v1.AdminBanUserResponse.ban:type_name -> hyapp.user.v1.AdminUserBan
	118, // 108: hyapp.user.v1.AdminBanUserResponse.status:type_name -> hyapp.user.v1.SetUserStatusResponse
	1,   // 109: hyapp.user.v1.AdminUnbanUserRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	119, // 110: hyapp.user.v1.AdminUnbanUserResponse.ban:type_name -> hyapp.user.v1.AdminUserBan
	118, // 111: hyapp.user.v1.AdminUnbanUserResponse.status:type_name -> hyapp.user.v1.SetUserStatusResponse
	1,   // 112: hyapp.user.v1.CreateManagerUserBlockRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	124, // 113: hyapp.user.v1.CreateManagerUserBlockResponse.block:type_name -> hyapp.user.v1.ManagerUserBlock
	118, // 114: hyapp.user.v1.CreateManagerUserBlockResponse.status:type_name -> hyapp.user.v1.SetUserStatusResponse
	1,   // 115: hyapp.user.v1.ListManagerUserBlocksRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	124, // 116: hyapp.user.v1.ListManagerUserBlocksResponse.blocks:type_name -> hyapp.user.v1.ManagerUserBlock
	1,   // 117: hyapp.user.v1.UnblockManagerUserRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	124, // 118: hyapp.user.v1.UnblockManagerUserResponse.block:type_name -> hyapp.user.v1.ManagerUserBlock
	118, // 119: hyapp.user.v1.UnblockManagerUserResponse.status:type_name -> hyapp.user.v1.SetUserStatusResponse
	1,   // 120: hyapp.user.v1.CompleteOnboardingRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	5,   // 121: hyapp.user.v1.CompleteOnboardingResponse.user:type_name -> hyapp.user.v1.User
	16,  // 122: hyapp.user.v1.CompleteOnboardingResponse.token:type_name -> hyapp.user.v1.AuthToken
	7,   // 123: hyapp.user.v1.CompleteOnboardingResponse.invite:type_name -> hyapp.user.v1.InviteBinding
	1,   // 124: hyapp.user.v1.SearchInviteReferrerRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	5,   // 125: hyapp.user.v1.SearchInviteReferrerResponse.inviter:type_name -> hyapp.user.v1.User
	1,   // 126: hyapp.user.v1.BindInviteReferrerRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	7,   // 127: hyapp.user.v1.BindInviteReferrerResponse.invite:type_name -> hyapp.user.v1.InviteBinding
	5,   // 128: hyapp.user.v1.BindInviteReferrerResponse.inviter:type_name -> hyapp.user.v1.User
	1,   // 129: hyapp.user.v1.BindPushTokenRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 130: hyapp.user.v1.DeletePushTokenRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 131: hyapp.user.v1.ListCountriesRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	141, // 132: hyapp.user.v1.ListCountriesResponse.countries:type_name -> hyapp.user.v1.Country
	1,   // 133: hyapp.user.v1.UpdateCountryRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	141, // 134: hyapp.user.v1.CountryResponse.country:type_name -> hyapp.user.v1.Country
	1,   // 135: hyapp.user.v1.ListRegistrationCountriesRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	141, // 136: hyapp.user.v1.ListRegistrationCountriesResponse.countries:type_name -> hyapp.user.v1.Country
	1,   // 137: hyapp.user.v1.ListLoginRiskBlockedCountriesRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	149, // 138: hyapp.user.v1.ListLoginRiskBlockedCountriesResponse.countries:type_name -> hyapp.user.v1.LoginRiskBlockedCountry
	1,   // 139: hyapp.user.v1.ListRegionsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	142, // 140: hyapp.user.v1.ListRegionsResponse.regions:type_name -> hyapp.user.v1.Region
	1,   // 141: hyapp.user.v1.GetRegionRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 142: hyapp.user.v1.UpdateRegionRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 143: hyapp.user.v1.ReplaceRegionCountriesRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	142, // 144: hyapp.user.v1.RegionResponse.region:type_name -> hyapp.user.v1.Region
	1,   // 145: hyapp.user.v1.GetUserIdentityRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	158, // 146: hyapp.user.v1.GetUserIdentityResponse.identity:type_name -> hyapp.user.v1.UserIdentity
	1,   // 147: hyapp.user.v1.ResolveDisplayUserIDRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	158, // 148: hyapp.user.v1.ResolveDisplayUserIDResponse.identity:type_name -> hyapp.user.v1.UserIdentity
	1,   // 149: hyapp.user.v1.ChangeDisplayUserIDRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	158, // 150: hyapp.user.v1.ChangeDisplayUserIDResponse.identity:type_name -> hyapp.user.v1.UserIdentity
	1,   // 151: hyapp.user.v1.ApplyPrettyDisplayUserIDRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	158, // 152: hyapp.user.v1.ApplyPrettyDisplayUserIDResponse.identity:type_name -> hyapp.user.v1.UserIdentity
	1,   // 153: hyapp.user.v1.ExpirePrettyDisplayUserIDRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	158, // 154: hyapp.user.v1.ExpirePrettyDisplayUserIDResponse.identity:type_name -> hyapp.user.v1.UserIdentity
	169, // 155: hyapp.user.v1.PrettyDisplayID.pool:type_name -> hyapp.user.v1.PrettyDisplayIDPool
	1,   // 156: hyapp.user.v1.ListAvailablePrettyDisplayIDsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	170, // 157: hyapp.user.v1.ListAvailablePrettyDisplayIDsResponse.items:type_name -> hyapp.user.v1.PrettyDisplayID
	1,   // 158: hyapp.user.v1.ApplyPrettyDisplayIDFromPoolRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	158, // 159: hyapp.user.v1.ApplyPrettyDisplayIDFromPoolResponse.identity:type_name -> hyapp.user.v1.UserIdentity
	1,   // 160: hyapp.user.v1.ListPrettyDisplayIDPoolsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	169, // 161: hyapp.user.v1.ListPrettyDisplayIDPoolsResponse.items:type_name -> hyapp.user.v1.PrettyDisplayIDPool
	1,   // 162: hyapp.user.v1.CreatePrettyDisplayIDPoolRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 163: hyapp.user.v1.UpdatePrettyDisplayIDPoolRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	169, // 164: hyapp.user.v1.PrettyDisplayIDPoolResponse.pool:type_name -> hyapp.user.v1.PrettyDisplayIDPool
	1,   // 165: hyapp.user.v1.GeneratePrettyDisplayIDsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	171, // 166: hyapp.user.v1.GeneratePrettyDisplayIDsResponse.batch:type_name -> hyapp.user.v1.PrettyDisplayIDGenerationBatch
	1,   // 167: hyapp.user.v1.ListPrettyDisplayIDsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	170, // 168: hyapp.user.v1.ListPrettyDisplayIDsResponse.items:type_name -> hyapp.user.v1.PrettyDisplayID
	1,   // 169: hyapp.user.v1.SetPrettyDisplayIDStatusRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	1,   // 170: hyapp.user.v1.RecyclePrettyDisplayIDRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	170, // 171: hyapp.user.v1.PrettyDisplayIDResponse.item:type_name -> hyapp.user.v1.PrettyDisplayID
	1,   // 172: hyapp.user.v1.AdminGrantPrettyDisplayIDRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	158, // 173: hyapp.user.v1.AdminGrantPrettyDisplayIDResponse.identity:type_name -> hyapp.user.v1.UserIdentity
	49,  // 174: hyapp.user.v1.CPFormationGiftFeedItem.requester:type_name -> hyapp.user.v1.CPUserProfile
	49,  // 175: hyapp.user.v1.CPFormationGiftFeedItem.target:type_name -> hyapp.user.v1.CPUserProfile
	1,   // 176: hyapp.user.v1.ListCPFormationGiftFeedRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	190, // 177: hyapp.user.v1.ListCPFormationGiftFeedResponse.items:type_name -> hyapp.user.v1.CPFormationGiftFeedItem
	1,   // 178: hyapp.user.v1.ListAppsRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	2,   // 179: hyapp.user.v1.ListAppsResponse.apps:type_name -> hyapp.user.v1.App
	1,   // 180: hyapp.user.v1.ResolveAdminUserIdentifierRequest.meta:type_name -> hyapp.user.v1.RequestMeta
	158, // 181: hyapp.user.v1.ResolveAdminUserIdentifierResponse.identity:type_name -> hyapp.user.v1.UserIdentity
	5,   // 182: hyapp.user.v1.BatchGetUsersResponse.UsersEntry.value:type_name -> hyapp.user.v1.User
	84,  // 183: hyapp.user.v1.BatchGetUserAdminProfilesResponse.ProfilesEntry.value:type_name -> hyapp.user.v1.UserAdminProfile
	96,  // 184: hyapp.user.v1.BatchGetRoomBasicUsersResponse.UsersEntry.value:type_name -> hyapp.user.v1.RoomBasicUser
	17,  // 185: hyapp.user.v1.UserService.GetUser:input_type -> hyapp.user.v1.GetUserRequest
	9,   // 186: hyapp.user.v1.UserService.GetInviteAttribution:input_type -> hyapp.user.v1.GetInviteAttributionRequest
	19,  // 187: hyapp.user.v1.UserService.BusinessUserLookup:input_type -> hyapp.user.v1.BusinessUserLookupRequest
	23,  // 188: hyapp.user.v1.UserService.GetMyProfileStats:input_type -> hyapp.user.v1.GetMyProfileStatsRequest
	81,  // 189: hyapp.user.v1.UserService.BatchGetUsers:input_type -> hyapp.user.v1.BatchGetUsersRequest
	85,  // 190: hyapp.user.v1.UserService.BatchGetUserAdminProfiles:input_type -> hyapp.user.v1.BatchGetUserAdminProfilesRequest
	87,  // 191: hyapp.user.v1.UserService.AdminIssueUserAccessToken:input_type -> hyapp.user.v1.AdminIssueUserAccessTokenRequest
	90,  // 192: hyapp.user.v1.UserService.ListUserContentBlacklist:input_type -> hyapp.user.v1.ListUserContentBlacklistRequest
	92,  // 193: hyapp.user.v1.UserService.AdminAddUserContentBlacklist:input_type -> hyapp.user.v1.AdminAddUserContentBlacklistRequest
	94,  // 194: hyapp.user.v1.UserService.AdminRemoveUserContentBlacklist:input_type -> hyapp.user.v1.AdminRemoveUserContentBlacklistRequest
	97,  // 195: hyapp.user.v1.UserService.BatchGetRoomBasicUsers:input_type -> hyapp.user.v1.BatchGetRoomBasicUsersRequest
	99,  // 196: hyapp.user.v1.UserService.ListUserIDs:input_type -> hyapp.user.v1.ListUserIDsRequest
	12,  // 197: hyapp.user.v1.UserService.GetUserMicLifetimeStats:input_type -> hyapp.user.v1.GetUserMicLifetimeStatsRequest
	104, // 198: hyapp.user.v1.UserService.AuthorizeUserAvatarUpload:input_type -> hyapp.user.v1.AuthorizeUserAvatarUploadRequest
	106, // 199: hyapp.user.v1.UserService.CompleteUserAvatarUpload:input_type -> hyapp.user.v1.CompleteUserAvatarUploadRequest
	101, // 200: hyapp.user.v1.UserService.UpdateUserProfile:input_type -> hyapp.user.v1.UpdateUserProfileRequest
	108, // 201: hyapp.user.v1.UserService.UpdateUserProfileBackground:input_type -> hyapp.user.v1.UpdateUserProfileBackgroundRequest
	110, // 202: hyapp.user.v1.UserService.UpdateUserContactInfo:input_type -> hyapp.user.v1.UpdateUserContactInfoRequest
	112, // 203: hyapp.user.v1.UserService.UpdateUserWithdrawAddress:input_type -> hyapp.user.v1.UpdateUserWithdrawAddressRequest
	114, // 204: hyapp.user.v1.UserService.ChangeUserCountry:input_type -> hyapp.user.v1.ChangeUserCountryRequest
	115, // 205: hyapp.user.v1.UserService.AdminChangeUserCountry:input_type -> hyapp.user.v1.AdminChangeUserCountryRequest
	117, // 206: hyapp.user.v1.UserService.SetUserStatus:input_type -> hyapp.user.v1.SetUserStatusRequest
	120, // 207: hyapp.user.v1.UserService.AdminBanUser:input_type -> hyapp.user.v1.AdminBanUserRequest
	122, // 208: hyapp.user.v1.UserService.AdminUnbanUser:input_type -> hyapp.user.v1.AdminUnbanUserRequest
	125, // 209: hyapp.user.v1.UserService.CreateManagerUserBlock:input_type -> hyapp.user.v1.CreateManagerUserBlockRequest
	127, // 210: hyapp.user.v1.UserService.ListManagerUserBlocks:input_type -> hyapp.user.v1.ListManagerUserBlocksRequest
	129, // 211: hyapp.user.v1.UserService.UnblockManagerUser:input_type -> hyapp.user.v1.UnblockManagerUserRequest
	131, // 212: hyapp.user.v1.UserService.CompleteOnboarding:input_type -> hyapp.user.v1.CompleteOnboardingRequest
	133, // 213: hyapp.user.v1.UserService.SearchInviteReferrer:input_type -> hyapp.user.v1.SearchInviteReferrerRequest
	135, // 214: hyapp.user.v1.UserService.BindInviteReferrer:input_type -> hyapp.user.v1.BindInviteReferrerRequest
	25,  // 215: hyapp.user.v1.UserSocialService.RecordProfileVisit:input_type -> hyapp.user.v1.RecordProfileVisitRequest
	28,  // 216: hyapp.user.v1.UserSocialService.ListProfileVisitors:input_type -> hyapp.user.v1.ListProfileVisitorsRequest
	30,  // 217: hyapp.user.v1.UserSocialService.FollowUser:input_type -> hyapp.user.v1.FollowUserRequest
	32,  // 218: hyapp.user.v1.UserSocialService.UnfollowUser:input_type -> hyapp.user.v1.UnfollowUserRequest
	35,  // 219: hyapp.user.v1.UserSocialService.ListFollowing:input_type -> hyapp.user.v1.ListFollowingRequest
	37,  // 220: hyapp.user.v1.UserSocialService.ApplyFriend:input_type -> hyapp.user.v1.ApplyFriendRequest
	39,  // 221: hyapp.user.v1.UserSocialService.AcceptFriendApplication:input_type -> hyapp.user.v1.AcceptFriendApplicationRequest
	41,  // 222: hyapp.user.v1.UserSocialService.DeleteFriend:input_type -> hyapp.user.v1.DeleteFriendRequest
	44,  // 223: hyapp.user.v1.UserSocialService.ListFriends:input_type -> hyapp.user.v1.ListFriendsRequest
	47,  // 224: hyapp.user.v1.UserSocialService.ListFriendApplications:input_type -> hyapp.user.v1.ListFriendApplicationsRequest
	79,  // 225: hyapp.user.v1.UserSocialService.SubmitReport:input_type -> hyapp.user.v1.SubmitReportRequest
	59,  // 226: hyapp.user.v1.UserCPService.ListCPApplications:input_type -> hyapp.user.v1.ListCPApplicationsRequest
	61,  // 227: hyapp.user.v1.UserCPService.AcceptCPApplication:input_type -> hyapp.user.v1.AcceptCPApplicationRequest
	63,  // 228: hyapp.user.v1.UserCPService.RejectCPApplication:input_type -> hyapp.user.v1.RejectCPApplicationRequest
	65,  // 229: hyapp.user.v1.UserCPService.ListCPRelationships:input_type -> hyapp.user.v1.ListCPRelationshipsRequest
	67,  // 230: hyapp.user.v1.UserCPService.ListCPIntimacyLeaderboard:input_type -> hyapp.user.v1.ListCPIntimacyLeaderboardRequest
	69,  // 231: hyapp.user.v1.UserCPService.PrepareBreakCPRelationship:input_type -> hyapp.user.v1.PrepareBreakCPRelationshipRequest
	71,  // 232: hyapp.user.v1.UserCPService.ConfirmBreakCPRelationship:input_type -> hyapp.user.v1.ConfirmBreakCPRelationshipRequest
	73,  // 233: hyapp.user.v1.UserCPService.CancelBreakCPRelationship:input_type -> hyapp.user.v1.CancelBreakCPRelationshipRequest
	191, // 234: hyapp.user.v1.UserCPService.ListCPFormationGiftFeed:input_type -> hyapp.user.v1.ListCPFormationGiftFeedRequest
	76,  // 235: hyapp.user.v1.UserCPInternalService.ConsumeRoomGiftCPEvent:input_type -> hyapp.user.v1.ConsumeRoomGiftCPEventRequest
	57,  // 236: hyapp.user.v1.UserCPInternalService.ListCPWeeklyRankEntries:input_type -> hyapp.user.v1.ListCPWeeklyRankEntriesRequest
	14,  // 237: hyapp.user.v1.UserCronService.ProcessLoginIPRiskBatch:input_type -> hyapp.user.v1.CronBatchRequest
	14,  // 238: hyapp.user.v1.UserCronService.ProcessRegionRebuildBatch:input_type -> hyapp.user.v1.CronBatchRequest
	14,  // 239: hyapp.user.v1.UserCronService.CompensateMicOpenSessions:input_type -> hyapp.user.v1.CronBatchRequest
	14,  // 240: hyapp.user.v1.UserCronService.CompensateRoomOpenSessions:input_type -> hyapp.user.v1.CronBatchRequest
	14,  // 241: hyapp.user.v1.UserCronService.ExpireManagerUserBlocks:input_type -> hyapp.user.v1.CronBatchRequest
	14,  // 242: hyapp.user.v1.UserCronService.ExpireAdminUserBans:input_type -> hyapp.user.v1.CronBatchRequest
	14,  // 243: hyapp.user.v1.UserCronService.RefreshCPIntimacyLeaderboard:input_type -> hyapp.user.v1.CronBatchRequest
	14,  // 244: hyapp.user.v1.UserCronService.ProcessPrivateMessageHistoryBatch:input_type -> hyapp.user.v1.CronBatchRequest
	137, // 245: hyapp.user.v1.UserDeviceService.BindPushToken:input_type -> hyapp.user.v1.BindPushTokenRequest
	139, // 246: hyapp.user.v1.UserDeviceService.DeletePushToken:input_type -> hyapp.user.v1.DeletePushTokenRequest
	3,   // 247: hyapp.user.v1.AppRegistryService.ResolveApp:input_type -> hyapp.user.v1.ResolveAppRequest
	193, // 248: hyapp.user.v1.AppRegistryService.ListApps:input_type -> hyapp.user.v1.ListAppsRequest
	143, // 249: hyapp.user.v1.CountryAdminService.ListCountries:input_type -> hyapp.user.v1.ListCountriesRequest
	145, // 250: hyapp.user.v1.CountryAdminService.UpdateCountry:input_type -> hyapp.user.v1.UpdateCountryRequest
	147, // 251: hyapp.user.v1.CountryQueryService.ListRegistrationCountries:input_type -> hyapp.user.v1.ListRegistrationCountriesRequest
	150, // 252: hyapp.user.v1.CountryQueryService.ListLoginRiskBlockedCountries:input_type -> hyapp.user.v1.ListLoginRiskBlockedCountriesRequest
	152, // 253: hyapp.user.v1.RegionAdminService.ListRegions:input_type -> hyapp.user.v1.ListRegionsRequest
	154, // 254: hyapp.user.v1.RegionAdminService.GetRegion:input_type -> hyapp.user.v1.GetRegionRequest
	155, // 255: hyapp.user.v1.RegionAdminService.UpdateRegion:input_type -> hyapp.user.v1.UpdateRegionRequest
	156, // 256: hyapp.user.v1.RegionAdminService.ReplaceRegionCountries:input_type -> hyapp.user.v1.ReplaceRegionCountriesRequest
	159, // 257: hyapp.user.v1.UserIdentityService.GetUserIdentity:input_type -> hyapp.user.v1.GetUserIdentityRequest
	161, // 258: hyapp.user.v1.UserIdentityService.ResolveDisplayUserID:input_type -> hyapp.user.v1.ResolveDisplayUserIDRequest
	195, // 259: hyapp.user.v1.UserIdentityService.ResolveAdminUserIdentifier:input_type -> hyapp.user.v1.ResolveAdminUserIdentifierRequest
	163, // 260: hyapp.user.v1.UserIdentityService.ChangeDisplayUserID:input_type -> hyapp.user.v1.ChangeDisplayUserIDRequest
	165, // 261: hyapp.user.v1.UserIdentityService.ApplyPrettyDisplayUserID:input_type -> hyapp.user.v1.ApplyPrettyDisplayUserIDRequest
	172, // 262: hyapp.user.v1.UserIdentityService.ListAvailablePrettyDisplayIDs:input_type -> hyapp.user.v1.ListAvailablePrettyDisplayIDsRequest
	174, // 263: hyapp.user.v1.UserIdentityService.ApplyPrettyDisplayIDFromPool:input_type -> hyapp.user.v1.ApplyPrettyDisplayIDFromPoolRequest
	167, // 264: hyapp.user.v1.UserIdentityService.ExpirePrettyDisplayUserID:input_type -> hyapp.user.v1.ExpirePrettyDisplayUserIDRequest
	176, // 265: hyapp.user.v1.UserPrettyDisplayIDAdminService.ListPrettyDisplayIDPools:input_type -> hyapp.user.v1.ListPrettyDisplayIDPoolsRequest
	178, // 266: hyapp.user.v1.UserPrettyDisplayIDAdminService.CreatePrettyDisplayIDPool:input_type -> hyapp.user.v1.CreatePrettyDisplayIDPoolRequest
	179, // 267: hyapp.user.v1.UserPrettyDisplayIDAdminService.UpdatePrettyDisplayIDPool:input_type -> hyapp.user.v1.UpdatePrettyDisplayIDPoolRequest
	181, // 268: hyapp.user.v1.UserPrettyDisplayIDAdminService.GeneratePrettyDisplayIDs:input_type -> hyapp.user.v1.GeneratePrettyDisplayIDsRequest
	183, // 269: hyapp.user.v1.UserPrettyDisplayIDAdminService.ListPrettyDisplayIDs:input_type -> hyapp.user.v1.ListPrettyDisplayIDsRequest
	185, // 270: hyapp.user.v1.UserPrettyDisplayIDAdminService.SetPrettyDisplayIDStatus:input_type -> hyapp.user.v1.SetPrettyDisplayIDStatusRequest
	186, // 271: hyapp.user.v1.UserPrettyDisplayIDAdminService.RecyclePrettyDisplayID:input_type -> hyapp.user.v1.RecyclePrettyDisplayIDRequest
	188, // 272: hyapp.user.v1.UserPrettyDisplayIDAdminService.AdminGrantPrettyDisplayID:input_type -> hyapp.user.v1.AdminGrantPrettyDisplayIDRequest
	18,  // 273: hyapp.user.v1.UserService.GetUser:output_type -> hyapp.user.v1.GetUserResponse
	10,  // 274: hyapp.user.v1.UserService.GetInviteAttribution:output_type -> hyapp.user.v1.GetInviteAttributionResponse
	21,  // 275: hyapp.user.v1.UserService.BusinessUserLookup:output_type -> hyapp.user.v1.BusinessUserLookupResponse
	24,  // 276: hyapp.user.v1.UserService.GetMyProfileStats:output_type -> hyapp.user.v1.GetMyProfileStatsResponse
	82,  // 277: hyapp.user.v1.UserService.BatchGetUsers:output_type -> hyapp.user.v1.BatchGetUsersResponse
	86,  // 278: hyapp.user.v1.UserService.BatchGetUserAdminProfiles:output_type -> hyapp.user.v1.BatchGetUserAdminProfilesResponse
	88,  // 279: hyapp.user.v1.UserService.AdminIssueUserAccessToken:output_type -> hyapp.user.v1.AdminIssueUserAccessTokenResponse
	91,  // 280: hyapp.user.v1.UserService.ListUserContentBlacklist:output_type -> hyapp.user.v1.ListUserContentBlacklistResponse
	93,  // 281: hyapp.user.v1.UserService.AdminAddUserContentBlacklist:output_type -> hyapp.user.v1.AdminAddUserContentBlacklistResponse
	95,  // 282: hyapp.user.v1.UserService.AdminRemoveUserContentBlacklist:output_type -> hyapp.user.v1.AdminRemoveUserContentBlacklistResponse
	98,  // 283: hyapp.user.v1.UserService.BatchGetRoomBasicUsers:output_type -> hyapp.user.v1.BatchGetRoomBasicUsersResponse
	100, // 284: hyapp.user.v1.UserService.ListUserIDs:output_type -> hyapp.user.v1.ListUserIDsResponse
	13,  // 285: hyapp.user.v1.UserService.GetUserMicLifetimeStats:output_type -> hyapp.user.v1.GetUserMicLifetimeStatsResponse
	105, // 286: hyapp.user.v1.UserService.AuthorizeUserAvatarUpload:output_type -> hyapp.user.v1.AuthorizeUserAvatarUploadResponse
	107, // 287: hyapp.user.v1.UserService.CompleteUserAvatarUpload:output_type -> hyapp.user.v1.CompleteUserAvatarUploadResponse
	102, // 288: hyapp.user.v1.UserService.UpdateUserProfile:output_type -> hyapp.user.v1.UpdateUserProfileResponse
	109, // 289: hyapp.user.v1.UserService.UpdateUserProfileBackground:output_type -> hyapp.user.v1.UpdateUserProfileBackgroundResponse
	111, // 290: hyapp.user.v1.UserService.UpdateUserContactInfo:output_type -> hyapp.user.v1.UpdateUserContactInfoResponse
	113, // 291: hyapp.user.v1.UserService.UpdateUserWithdrawAddress:output_type -> hyapp.user.v1.UpdateUserWithdrawAddressResponse
	116, // 292: hyapp.user.v1.UserService.ChangeUserCountry:output_type -> hyapp.user.v1.ChangeUserCountryResponse
	116, // 293: hyapp.user.v1.UserService.AdminChangeUserCountry:output_type -> hyapp.user.v1.ChangeUserCountryResponse
	118, // 294: hyapp.user.v1.UserService.SetUserStatus:output_type -> hyapp.user.v1.SetUserStatusResponse
	121, // 295: hyapp.user.v1.UserService.AdminBanUser:output_type -> hyapp.user.v1.AdminBanUserResponse
	123, // 296: hyapp.user.v1.UserService.AdminUnbanUser:output_type -> hyapp.user.v1.AdminUnbanUserResponse
	126, // 297: hyapp.user.v1.UserService.CreateManagerUserBlock:output_type -> hyapp.user.v1.CreateManagerUserBlockResponse
	128, // 298: hyapp.user.v1.UserService.ListManagerUserBlocks:output_type -> hyapp.user.v1.ListManagerUserBlocksResponse
	130, // 299: hyapp.user.v1.UserService.UnblockManagerUser:output_type -> hyapp.user.v1.UnblockManagerUserResponse
	132, // 300: hyapp.user.v1.UserService.CompleteOnboarding:output_type -> hyapp.user.v1.CompleteOnboardingResponse
	134, // 301: hyapp.user.v1.UserService.SearchInviteReferrer:output_type -> hyapp.user.v1.SearchInviteReferrerResponse
	136, // 302: hyapp.user.v1.UserService.BindInviteReferrer:output_type -> hyapp.user.v1.BindInviteReferrerResponse
	26,  // 303: hyapp.user.v1.UserSocialService.RecordProfileVisit:output_type -> hyapp.user.v1.RecordProfileVisitResponse
	29,  // 304: hyapp.user.v1.UserSocialService.ListProfileVisitors:output_type -> hyapp.user.v1.ListProfileVisitorsResponse
	31,  // 305: hyapp.user.v1.UserSocialService.FollowUser:output_type -> hyapp.user.v1.FollowUserResponse
	33,  // 306: hyapp.user.v1.UserSocialService.UnfollowUser:output_type -> hyapp.user.v1.UnfollowUserResponse
	36,  // 307: hyapp.user.v1.UserSocialService.ListFollowing:output_type -> hyapp.user.v1.ListFollowingResponse
	38,  // 308: hyapp.user.v1.UserSocialService.ApplyFriend:output_type -> hyapp.user.v1.ApplyFriendResponse
	40,  // 309: hyapp.user.v1.UserSocialService.AcceptFriendApplication:output_type -> hyapp.user.v1.AcceptFriendApplicationResponse
	42,  // 310: hyapp.user.v1.UserSocialService.DeleteFriend:output_type -> hyapp.user.v1.DeleteFriendResponse
	45,  // 311: hyapp.user.v1.UserSocialService.ListFriends:output_type -> hyapp.user.v1.ListFriendsResponse
	48,  // 312: hyapp.user.v1.UserSocialService.ListFriendApplications:output_type -> hyapp.user.v1.ListFriendApplicationsResponse
	80,  // 313: hyapp.user.v1.UserSocialService.SubmitReport:output_type -> hyapp.user.v1.SubmitReportResponse
	60,  // 314: hyapp.user.v1.UserCPService.ListCPApplications:output_type -> hyapp.user.v1.ListCPApplicationsResponse
	62,  // 315: hyapp.user.v1.UserCPService.AcceptCPApplication:output_type -> hyapp.user.v1.AcceptCPApplicationResponse
	64,  // 316: hyapp.user.v1.UserCPService.RejectCPApplication:output_type -> hyapp.user.v1.RejectCPApplicationResponse
	66,  // 317: hyapp.user.v1.UserCPService.ListCPRelationships:output_type -> hyapp.user.v1.ListCPRelationshipsResponse
	68,  // 318: hyapp.user.v1.UserCPService.ListCPIntimacyLeaderboard:output_type -> hyapp.user.v1.ListCPIntimacyLeaderboardResponse
	70,  // 319: hyapp.user.v1.UserCPService.PrepareBreakCPRelationship:output_type -> hyapp.user.v1.PrepareBreakCPRelationshipResponse
	72,  // 320: hyapp.user.v1.UserCPService.ConfirmBreakCPRelationship:output_type -> hyapp.user.v1.ConfirmBreakCPRelationshipResponse
	74,  // 321: hyapp.user.v1.UserCPService.CancelBreakCPRelationship:output_type -> hyapp.user.v1.CancelBreakCPRelationshipResponse
	192, // 322: hyapp.user.v1.UserCPService.ListCPFormationGiftFeed:output_type -> hyapp.user.v1.ListCPFormationGiftFeedResponse
	77,  // 323: hyapp.user.v1.UserCPInternalService.ConsumeRoomGiftCPEvent:output_type -> hyapp.user.v1.ConsumeRoomGiftCPEventResponse
	58,  // 324: hyapp.user.v1.UserCPInternalService.ListCPWeeklyRankEntries:output_type -> hyapp.user.v1.ListCPWeeklyRankEntriesResponse
	15,  // 325: hyapp.user.v1.UserCronService.ProcessLoginIPRiskBatch:output_type -> hyapp.user.v1.CronBatchResponse
	15,  // 326: hyapp.user.v1.UserCronService.ProcessRegionRebuildBatch:output_type -> hyapp.user.v1.CronBatchResponse
	15,  // 327: hyapp.user.v1.UserCronService.CompensateMicOpenSessions:output_type -> hyapp.user.v1.CronBatchResponse
	15,  // 328: hyapp.user.v1.UserCronService.CompensateRoomOpenSessions:output_type -> hyapp.user.v1.CronBatchResponse
	15,  // 329: hyapp.user.v1.UserCronService.ExpireManagerUserBlocks:output_type -> hyapp.user.v1.CronBatchResponse
	15,  // 330: hyapp.user.v1.UserCronService.ExpireAdminUserBans:output_type -> hyapp.user.v1.CronBatchResponse
	15,  // 331: hyapp.user.v1.UserCronService.RefreshCPIntimacyLeaderboard:output_type -> hyapp.user.v1.CronBatchResponse
	15,  // 332: hyapp.user.v1.UserCronService.ProcessPrivateMessageHistoryBatch:output_type -> hyapp.user.v1.CronBatchResponse
	138, // 333: hyapp.user.v1.UserDeviceService.BindPushToken:output_type -> hyapp.user.v1.BindPushTokenResponse
	140, // 334: hyapp.user.v1.UserDeviceService.DeletePushToken:output_type -> hyapp.user.v1.DeletePushTokenResponse
	4,   // 335: hyapp.user.v1.AppRegistryService.ResolveApp:output_type -> hyapp.user.v1.ResolveAppResponse
	194, // 336: hyapp.user.v1.AppRegistryService.ListApps:output_type -> hyapp.user.v1.ListAppsResponse
	144, // 337: hyapp.user.v1.CountryAdminService.ListCountries:output_type -> hyapp.user.v1.ListCountriesResponse
	146, // 338: hyapp.user.v1.CountryAdminService.UpdateCountry:output_type -> hyapp.user.v1.CountryResponse
	148, // 339: hyapp.user.v1.CountryQueryService.ListRegistrationCountries:output_type -> hyapp.user.v1.ListRegistrationCountriesResponse
	151, // 340: hyapp.user.v1.CountryQueryService.ListLoginRiskBlockedCountries:output_type -> hyapp.user.v1.ListLoginRiskBlockedCountriesResponse
	153, // 341: hyapp.user.v1.RegionAdminService.ListRegions:output_type -> hyapp.user.v1.ListRegionsResponse
	157, // 342: hyapp.user.v1.RegionAdminService.GetRegion:output_type -> hyapp.user.v1.RegionResponse
	157, // 343: hyapp.user.v1.RegionAdminService.UpdateRegion:output_type -> hyapp.user.v1.RegionResponse
	157, // 344: hyapp.user.v1.RegionAdminService.ReplaceRegionCountries:output_type -> hyapp.user.v1.RegionResponse
	160, // 345: hyapp.user.v1.UserIdentityService.GetUserIdentity:output_type -> hyapp.user.v1.GetUserIdentityResponse
	162, // 346: hyapp.user.v1.UserIdentityService.ResolveDisplayUserID:output_type -> hyapp.user.v1.ResolveDisplayUserIDResponse
	196, // 347: hyapp.user.v1.UserIdentityService.ResolveAdminUserIdentifier:output_type -> hyapp.user.v1.ResolveAdminUserIdentifierResponse
	164, // 348: hyapp.user.v1.UserIdentityService.ChangeDisplayUserID:output_type -> hyapp.user.v1.ChangeDisplayUserIDResponse
	166, // 349: hyapp.user.v1.UserIdentityService.ApplyPrettyDisplayUserID:output_type -> hyapp.user.v1.ApplyPrettyDisplayUserIDResponse
	173, // 350: hyapp.user.v1.UserIdentityService.ListAvailablePrettyDisplayIDs:output_type -> hyapp.user.v1.ListAvailablePrettyDisplayIDsResponse
	175, // 351: hyapp.user.v1.UserIdentityService.ApplyPrettyDisplayIDFromPool:output_type -> hyapp.user.v1.ApplyPrettyDisplayIDFromPoolResponse
	168, // 352: hyapp.user.v1.UserIdentityService.ExpirePrettyDisplayUserID:output_type -> hyapp.user.v1.ExpirePrettyDisplayUserIDResponse
	177, // 353: hyapp.user.v1.UserPrettyDisplayIDAdminService.ListPrettyDisplayIDPools:output_type -> hyapp.user.v1.ListPrettyDisplayIDPoolsResponse
	180, // 354: hyapp.user.v1.UserPrettyDisplayIDAdminService.CreatePrettyDisplayIDPool:output_type -> hyapp.user.v1.PrettyDisplayIDPoolResponse
	180, // 355: hyapp.user.v1.UserPrettyDisplayIDAdminService.UpdatePrettyDisplayIDPool:output_type -> hyapp.user.v1.PrettyDisplayIDPoolResponse
	182, // 356: hyapp.user.v1.UserPrettyDisplayIDAdminService.GeneratePrettyDisplayIDs:output_type -> hyapp.user.v1.GeneratePrettyDisplayIDsResponse
	184, // 357: hyapp.user.v1.UserPrettyDisplayIDAdminService.ListPrettyDisplayIDs:output_type -> hyapp.user.v1.ListPrettyDisplayIDsResponse
	187, // 358: hyapp.user.v1.UserPrettyDisplayIDAdminService.SetPrettyDisplayIDStatus:output_type -> hyapp.user.v1.PrettyDisplayIDResponse
	187, // 359: hyapp.user.v1.UserPrettyDisplayIDAdminService.RecyclePrettyDisplayID:output_type -> hyapp.user.v1.PrettyDisplayIDResponse
	189, // 360: hyapp.user.v1.UserPrettyDisplayIDAdminService.AdminGrantPrettyDisplayID:output_type -> hyapp.user.v1.AdminGrantPrettyDisplayIDResponse
	273, // [273:361] is the sub-list for method output_type
	185, // [185:273] is the sub-list for method input_type
	185, // [185:185] is the sub-list for extension type_name
	185, // [185:185] is the sub-list for extension extendee
	0,   // [0:185] is the sub-list for field type_name
}

func init() { file_proto_user_v1_user_proto_init() }
func file_proto_user_v1_user_proto_init() {
	if File_proto_user_v1_user_proto != nil {
		return
	}
	file_proto_user_v1_user_proto_msgTypes[100].OneofWrappers = []any{}
	file_proto_user_v1_user_proto_msgTypes[142].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_user_v1_user_proto_rawDesc), len(file_proto_user_v1_user_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   199,
			NumExtensions: 0,
			NumServices:   12,
		},
		GoTypes:           file_proto_user_v1_user_proto_goTypes,
		DependencyIndexes: file_proto_user_v1_user_proto_depIdxs,
		EnumInfos:         file_proto_user_v1_user_proto_enumTypes,
		MessageInfos:      file_proto_user_v1_user_proto_msgTypes,
	}.Build()
	File_proto_user_v1_user_proto = out.File
	file_proto_user_v1_user_proto_goTypes = nil
	file_proto_user_v1_user_proto_depIdxs = nil
}
