2022-12-25 07:39:30 +00:00
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.21.4
// source: room_downsync_frame.proto
package protos
import (
_ "dnmshared/sharedprotos"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl . EnforceVersion ( 20 - protoimpl . MinVersion )
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl . EnforceVersion ( protoimpl . MaxVersion - 20 )
)
type PlayerDownsync struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Id int32 ` protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty" `
VirtualGridX int32 ` protobuf:"varint,2,opt,name=virtualGridX,proto3" json:"virtualGridX,omitempty" `
VirtualGridY int32 ` protobuf:"varint,3,opt,name=virtualGridY,proto3" json:"virtualGridY,omitempty" `
DirX int32 ` protobuf:"varint,4,opt,name=dirX,proto3" json:"dirX,omitempty" `
DirY int32 ` protobuf:"varint,5,opt,name=dirY,proto3" json:"dirY,omitempty" ` // "dirX" and "dirY" determines character facing
VelX int32 ` protobuf:"varint,6,opt,name=velX,proto3" json:"velX,omitempty" `
VelY int32 ` protobuf:"varint,7,opt,name=velY,proto3" json:"velY,omitempty" ` // "velX" and "velY" is used to record the accumulated effect by accelerations (including gravity)
Speed int32 ` protobuf:"varint,8,opt,name=speed,proto3" json:"speed,omitempty" ` // this is the instantaneous scalar attribute of a character, different from but will be accounted in "velX" and "velY"
BattleState int32 ` protobuf:"varint,9,opt,name=battleState,proto3" json:"battleState,omitempty" `
JoinIndex int32 ` protobuf:"varint,10,opt,name=joinIndex,proto3" json:"joinIndex,omitempty" `
ColliderRadius float64 ` protobuf:"fixed64,11,opt,name=colliderRadius,proto3" json:"colliderRadius,omitempty" `
Removed bool ` protobuf:"varint,12,opt,name=removed,proto3" json:"removed,omitempty" `
Score int32 ` protobuf:"varint,13,opt,name=score,proto3" json:"score,omitempty" `
LastMoveGmtMillis int32 ` protobuf:"varint,14,opt,name=lastMoveGmtMillis,proto3" json:"lastMoveGmtMillis,omitempty" `
FramesToRecover int32 ` protobuf:"varint,15,opt,name=framesToRecover,proto3" json:"framesToRecover,omitempty" `
Hp int32 ` protobuf:"varint,16,opt,name=hp,proto3" json:"hp,omitempty" `
MaxHp int32 ` protobuf:"varint,17,opt,name=maxHp,proto3" json:"maxHp,omitempty" `
CharacterState int32 ` protobuf:"varint,18,opt,name=characterState,proto3" json:"characterState,omitempty" `
InAir bool ` protobuf:"varint,19,opt,name=inAir,proto3" json:"inAir,omitempty" ` // by design a standalone field only inferred by the collision result of "applyInputFrameDownsyncDynamicsOnSingleRenderFrame" instead of "characterState", because we need check the transition for "characterState" from this field, i.e. "inAir (prev -> curr)"
Name string ` protobuf:"bytes,20,opt,name=name,proto3" json:"name,omitempty" `
DisplayName string ` protobuf:"bytes,21,opt,name=displayName,proto3" json:"displayName,omitempty" `
Avatar string ` protobuf:"bytes,22,opt,name=avatar,proto3" json:"avatar,omitempty" `
}
func ( x * PlayerDownsync ) Reset ( ) {
* x = PlayerDownsync { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 0 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * PlayerDownsync ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * PlayerDownsync ) ProtoMessage ( ) { }
func ( x * PlayerDownsync ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 0 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use PlayerDownsync.ProtoReflect.Descriptor instead.
func ( * PlayerDownsync ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 0 }
}
func ( x * PlayerDownsync ) GetId ( ) int32 {
if x != nil {
return x . Id
}
return 0
}
func ( x * PlayerDownsync ) GetVirtualGridX ( ) int32 {
if x != nil {
return x . VirtualGridX
}
return 0
}
func ( x * PlayerDownsync ) GetVirtualGridY ( ) int32 {
if x != nil {
return x . VirtualGridY
}
return 0
}
func ( x * PlayerDownsync ) GetDirX ( ) int32 {
if x != nil {
return x . DirX
}
return 0
}
func ( x * PlayerDownsync ) GetDirY ( ) int32 {
if x != nil {
return x . DirY
}
return 0
}
func ( x * PlayerDownsync ) GetVelX ( ) int32 {
if x != nil {
return x . VelX
}
return 0
}
func ( x * PlayerDownsync ) GetVelY ( ) int32 {
if x != nil {
return x . VelY
}
return 0
}
func ( x * PlayerDownsync ) GetSpeed ( ) int32 {
if x != nil {
return x . Speed
}
return 0
}
func ( x * PlayerDownsync ) GetBattleState ( ) int32 {
if x != nil {
return x . BattleState
}
return 0
}
func ( x * PlayerDownsync ) GetJoinIndex ( ) int32 {
if x != nil {
return x . JoinIndex
}
return 0
}
func ( x * PlayerDownsync ) GetColliderRadius ( ) float64 {
if x != nil {
return x . ColliderRadius
}
return 0
}
func ( x * PlayerDownsync ) GetRemoved ( ) bool {
if x != nil {
return x . Removed
}
return false
}
func ( x * PlayerDownsync ) GetScore ( ) int32 {
if x != nil {
return x . Score
}
return 0
}
func ( x * PlayerDownsync ) GetLastMoveGmtMillis ( ) int32 {
if x != nil {
return x . LastMoveGmtMillis
}
return 0
}
func ( x * PlayerDownsync ) GetFramesToRecover ( ) int32 {
if x != nil {
return x . FramesToRecover
}
return 0
}
func ( x * PlayerDownsync ) GetHp ( ) int32 {
if x != nil {
return x . Hp
}
return 0
}
func ( x * PlayerDownsync ) GetMaxHp ( ) int32 {
if x != nil {
return x . MaxHp
}
return 0
}
func ( x * PlayerDownsync ) GetCharacterState ( ) int32 {
if x != nil {
return x . CharacterState
}
return 0
}
func ( x * PlayerDownsync ) GetInAir ( ) bool {
if x != nil {
return x . InAir
}
return false
}
func ( x * PlayerDownsync ) GetName ( ) string {
if x != nil {
return x . Name
}
return ""
}
func ( x * PlayerDownsync ) GetDisplayName ( ) string {
if x != nil {
return x . DisplayName
}
return ""
}
func ( x * PlayerDownsync ) GetAvatar ( ) string {
if x != nil {
return x . Avatar
}
return ""
}
type InputFrameDecoded struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Dx int32 ` protobuf:"varint,1,opt,name=dx,proto3" json:"dx,omitempty" `
Dy int32 ` protobuf:"varint,2,opt,name=dy,proto3" json:"dy,omitempty" `
BtnALevel int32 ` protobuf:"varint,3,opt,name=btnALevel,proto3" json:"btnALevel,omitempty" `
BtnBLevel int32 ` protobuf:"varint,4,opt,name=btnBLevel,proto3" json:"btnBLevel,omitempty" `
}
func ( x * InputFrameDecoded ) Reset ( ) {
* x = InputFrameDecoded { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 1 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * InputFrameDecoded ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * InputFrameDecoded ) ProtoMessage ( ) { }
func ( x * InputFrameDecoded ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 1 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use InputFrameDecoded.ProtoReflect.Descriptor instead.
func ( * InputFrameDecoded ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 1 }
}
func ( x * InputFrameDecoded ) GetDx ( ) int32 {
if x != nil {
return x . Dx
}
return 0
}
func ( x * InputFrameDecoded ) GetDy ( ) int32 {
if x != nil {
return x . Dy
}
return 0
}
func ( x * InputFrameDecoded ) GetBtnALevel ( ) int32 {
if x != nil {
return x . BtnALevel
}
return 0
}
func ( x * InputFrameDecoded ) GetBtnBLevel ( ) int32 {
if x != nil {
return x . BtnBLevel
}
return 0
}
type InputFrameUpsync struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
InputFrameId int32 ` protobuf:"varint,1,opt,name=inputFrameId,proto3" json:"inputFrameId,omitempty" `
Encoded uint64 ` protobuf:"varint,2,opt,name=encoded,proto3" json:"encoded,omitempty" `
}
func ( x * InputFrameUpsync ) Reset ( ) {
* x = InputFrameUpsync { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 2 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * InputFrameUpsync ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * InputFrameUpsync ) ProtoMessage ( ) { }
func ( x * InputFrameUpsync ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 2 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use InputFrameUpsync.ProtoReflect.Descriptor instead.
func ( * InputFrameUpsync ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 2 }
}
func ( x * InputFrameUpsync ) GetInputFrameId ( ) int32 {
if x != nil {
return x . InputFrameId
}
return 0
}
func ( x * InputFrameUpsync ) GetEncoded ( ) uint64 {
if x != nil {
return x . Encoded
}
return 0
}
type InputFrameDownsync struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
InputFrameId int32 ` protobuf:"varint,1,opt,name=inputFrameId,proto3" json:"inputFrameId,omitempty" `
InputList [ ] uint64 ` protobuf:"varint,2,rep,packed,name=inputList,proto3" json:"inputList,omitempty" ` // Indexed by "joinIndex", we try to compress the "single player input" into 1 word (64-bit for 64-bit Golang runtime) because atomic compare-and-swap only works on 1 word. Although CAS on custom struct is possible in Golang 1.19 https://pkg.go.dev/sync/atomic@go1.19.1#Value.CompareAndSwap, using a single word is still faster whenever possible.
ConfirmedList uint64 ` protobuf:"varint,3,opt,name=confirmedList,proto3" json:"confirmedList,omitempty" ` // Indexed by "joinIndex", same compression concern as above
}
func ( x * InputFrameDownsync ) Reset ( ) {
* x = InputFrameDownsync { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 3 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * InputFrameDownsync ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * InputFrameDownsync ) ProtoMessage ( ) { }
func ( x * InputFrameDownsync ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 3 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use InputFrameDownsync.ProtoReflect.Descriptor instead.
func ( * InputFrameDownsync ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 3 }
}
func ( x * InputFrameDownsync ) GetInputFrameId ( ) int32 {
if x != nil {
return x . InputFrameId
}
return 0
}
func ( x * InputFrameDownsync ) GetInputList ( ) [ ] uint64 {
if x != nil {
return x . InputList
}
return nil
}
func ( x * InputFrameDownsync ) GetConfirmedList ( ) uint64 {
if x != nil {
return x . ConfirmedList
}
return 0
}
type HeartbeatUpsync struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
ClientTimestamp int64 ` protobuf:"varint,1,opt,name=clientTimestamp,proto3" json:"clientTimestamp,omitempty" `
}
func ( x * HeartbeatUpsync ) Reset ( ) {
* x = HeartbeatUpsync { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 4 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * HeartbeatUpsync ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * HeartbeatUpsync ) ProtoMessage ( ) { }
func ( x * HeartbeatUpsync ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 4 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use HeartbeatUpsync.ProtoReflect.Descriptor instead.
func ( * HeartbeatUpsync ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 4 }
}
func ( x * HeartbeatUpsync ) GetClientTimestamp ( ) int64 {
if x != nil {
return x . ClientTimestamp
}
return 0
}
type WsReq struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
MsgId int32 ` protobuf:"varint,1,opt,name=msgId,proto3" json:"msgId,omitempty" `
PlayerId int32 ` protobuf:"varint,2,opt,name=playerId,proto3" json:"playerId,omitempty" `
Act int32 ` protobuf:"varint,3,opt,name=act,proto3" json:"act,omitempty" `
JoinIndex int32 ` protobuf:"varint,4,opt,name=joinIndex,proto3" json:"joinIndex,omitempty" `
AckingFrameId int32 ` protobuf:"varint,5,opt,name=ackingFrameId,proto3" json:"ackingFrameId,omitempty" `
AckingInputFrameId int32 ` protobuf:"varint,6,opt,name=ackingInputFrameId,proto3" json:"ackingInputFrameId,omitempty" `
InputFrameUpsyncBatch [ ] * InputFrameUpsync ` protobuf:"bytes,7,rep,name=inputFrameUpsyncBatch,proto3" json:"inputFrameUpsyncBatch,omitempty" `
Hb * HeartbeatUpsync ` protobuf:"bytes,8,opt,name=hb,proto3" json:"hb,omitempty" `
}
func ( x * WsReq ) Reset ( ) {
* x = WsReq { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 5 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * WsReq ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * WsReq ) ProtoMessage ( ) { }
func ( x * WsReq ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 5 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use WsReq.ProtoReflect.Descriptor instead.
func ( * WsReq ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 5 }
}
func ( x * WsReq ) GetMsgId ( ) int32 {
if x != nil {
return x . MsgId
}
return 0
}
func ( x * WsReq ) GetPlayerId ( ) int32 {
if x != nil {
return x . PlayerId
}
return 0
}
func ( x * WsReq ) GetAct ( ) int32 {
if x != nil {
return x . Act
}
return 0
}
func ( x * WsReq ) GetJoinIndex ( ) int32 {
if x != nil {
return x . JoinIndex
}
return 0
}
func ( x * WsReq ) GetAckingFrameId ( ) int32 {
if x != nil {
return x . AckingFrameId
}
return 0
}
func ( x * WsReq ) GetAckingInputFrameId ( ) int32 {
if x != nil {
return x . AckingInputFrameId
}
return 0
}
func ( x * WsReq ) GetInputFrameUpsyncBatch ( ) [ ] * InputFrameUpsync {
if x != nil {
return x . InputFrameUpsyncBatch
}
return nil
}
func ( x * WsReq ) GetHb ( ) * HeartbeatUpsync {
if x != nil {
return x . Hb
}
return nil
}
type WsResp struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
Ret int32 ` protobuf:"varint,1,opt,name=ret,proto3" json:"ret,omitempty" `
EchoedMsgId int32 ` protobuf:"varint,2,opt,name=echoedMsgId,proto3" json:"echoedMsgId,omitempty" `
Act int32 ` protobuf:"varint,3,opt,name=act,proto3" json:"act,omitempty" `
Rdf * RoomDownsyncFrame ` protobuf:"bytes,4,opt,name=rdf,proto3" json:"rdf,omitempty" `
InputFrameDownsyncBatch [ ] * InputFrameDownsync ` protobuf:"bytes,5,rep,name=inputFrameDownsyncBatch,proto3" json:"inputFrameDownsyncBatch,omitempty" `
BciFrame * BattleColliderInfo ` protobuf:"bytes,6,opt,name=bciFrame,proto3" json:"bciFrame,omitempty" `
}
func ( x * WsResp ) Reset ( ) {
* x = WsResp { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 6 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * WsResp ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * WsResp ) ProtoMessage ( ) { }
func ( x * WsResp ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 6 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use WsResp.ProtoReflect.Descriptor instead.
func ( * WsResp ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 6 }
}
func ( x * WsResp ) GetRet ( ) int32 {
if x != nil {
return x . Ret
}
return 0
}
func ( x * WsResp ) GetEchoedMsgId ( ) int32 {
if x != nil {
return x . EchoedMsgId
}
return 0
}
func ( x * WsResp ) GetAct ( ) int32 {
if x != nil {
return x . Act
}
return 0
}
func ( x * WsResp ) GetRdf ( ) * RoomDownsyncFrame {
if x != nil {
return x . Rdf
}
return nil
}
func ( x * WsResp ) GetInputFrameDownsyncBatch ( ) [ ] * InputFrameDownsync {
if x != nil {
return x . InputFrameDownsyncBatch
}
return nil
}
func ( x * WsResp ) GetBciFrame ( ) * BattleColliderInfo {
if x != nil {
return x . BciFrame
}
return nil
}
type InputsBufferSnapshot struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
RefRenderFrameId int32 ` protobuf:"varint,1,opt,name=refRenderFrameId,proto3" json:"refRenderFrameId,omitempty" `
UnconfirmedMask uint64 ` protobuf:"varint,2,opt,name=unconfirmedMask,proto3" json:"unconfirmedMask,omitempty" `
ToSendInputFrameDownsyncs [ ] * InputFrameDownsync ` protobuf:"bytes,3,rep,name=toSendInputFrameDownsyncs,proto3" json:"toSendInputFrameDownsyncs,omitempty" `
ShouldForceResync bool ` protobuf:"varint,4,opt,name=shouldForceResync,proto3" json:"shouldForceResync,omitempty" `
}
func ( x * InputsBufferSnapshot ) Reset ( ) {
* x = InputsBufferSnapshot { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 7 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * InputsBufferSnapshot ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * InputsBufferSnapshot ) ProtoMessage ( ) { }
func ( x * InputsBufferSnapshot ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 7 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use InputsBufferSnapshot.ProtoReflect.Descriptor instead.
func ( * InputsBufferSnapshot ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 7 }
}
func ( x * InputsBufferSnapshot ) GetRefRenderFrameId ( ) int32 {
if x != nil {
return x . RefRenderFrameId
}
return 0
}
func ( x * InputsBufferSnapshot ) GetUnconfirmedMask ( ) uint64 {
if x != nil {
return x . UnconfirmedMask
}
return 0
}
func ( x * InputsBufferSnapshot ) GetToSendInputFrameDownsyncs ( ) [ ] * InputFrameDownsync {
if x != nil {
return x . ToSendInputFrameDownsyncs
}
return nil
}
func ( x * InputsBufferSnapshot ) GetShouldForceResync ( ) bool {
if x != nil {
return x . ShouldForceResync
}
return false
}
type MeleeBullet struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
// for offender
BattleLocalId int32 ` protobuf:"varint,1,opt,name=battleLocalId,proto3" json:"battleLocalId,omitempty" `
StartupFrames int32 ` protobuf:"varint,2,opt,name=startupFrames,proto3" json:"startupFrames,omitempty" `
ActiveFrames int32 ` protobuf:"varint,3,opt,name=activeFrames,proto3" json:"activeFrames,omitempty" `
RecoveryFrames int32 ` protobuf:"varint,4,opt,name=recoveryFrames,proto3" json:"recoveryFrames,omitempty" `
RecoveryFramesOnBlock int32 ` protobuf:"varint,5,opt,name=recoveryFramesOnBlock,proto3" json:"recoveryFramesOnBlock,omitempty" `
RecoveryFramesOnHit int32 ` protobuf:"varint,6,opt,name=recoveryFramesOnHit,proto3" json:"recoveryFramesOnHit,omitempty" `
HitboxOffset float64 ` protobuf:"fixed64,7,opt,name=hitboxOffset,proto3" json:"hitboxOffset,omitempty" `
OriginatedRenderFrameId int32 ` protobuf:"varint,8,opt,name=originatedRenderFrameId,proto3" json:"originatedRenderFrameId,omitempty" `
// for defender
HitStunFrames int32 ` protobuf:"varint,9,opt,name=hitStunFrames,proto3" json:"hitStunFrames,omitempty" `
BlockStunFrames int32 ` protobuf:"varint,10,opt,name=blockStunFrames,proto3" json:"blockStunFrames,omitempty" `
Pushback float64 ` protobuf:"fixed64,11,opt,name=pushback,proto3" json:"pushback,omitempty" `
ReleaseTriggerType int32 ` protobuf:"varint,12,opt,name=releaseTriggerType,proto3" json:"releaseTriggerType,omitempty" ` // 1: rising-edge, 2: falling-edge
Damage int32 ` protobuf:"varint,13,opt,name=damage,proto3" json:"damage,omitempty" `
OffenderJoinIndex int32 ` protobuf:"varint,14,opt,name=offenderJoinIndex,proto3" json:"offenderJoinIndex,omitempty" `
OffenderPlayerId int32 ` protobuf:"varint,15,opt,name=offenderPlayerId,proto3" json:"offenderPlayerId,omitempty" `
HitboxSizeX float64 ` protobuf:"fixed64,16,opt,name=hitboxSizeX,proto3" json:"hitboxSizeX,omitempty" `
HitboxSizeY float64 ` protobuf:"fixed64,17,opt,name=hitboxSizeY,proto3" json:"hitboxSizeY,omitempty" `
SelfMoveforwardX float64 ` protobuf:"fixed64,18,opt,name=selfMoveforwardX,proto3" json:"selfMoveforwardX,omitempty" `
SelfMoveforwardY float64 ` protobuf:"fixed64,19,opt,name=selfMoveforwardY,proto3" json:"selfMoveforwardY,omitempty" `
}
func ( x * MeleeBullet ) Reset ( ) {
* x = MeleeBullet { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 8 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * MeleeBullet ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * MeleeBullet ) ProtoMessage ( ) { }
func ( x * MeleeBullet ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 8 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use MeleeBullet.ProtoReflect.Descriptor instead.
func ( * MeleeBullet ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 8 }
}
func ( x * MeleeBullet ) GetBattleLocalId ( ) int32 {
if x != nil {
return x . BattleLocalId
}
return 0
}
func ( x * MeleeBullet ) GetStartupFrames ( ) int32 {
if x != nil {
return x . StartupFrames
}
return 0
}
func ( x * MeleeBullet ) GetActiveFrames ( ) int32 {
if x != nil {
return x . ActiveFrames
}
return 0
}
func ( x * MeleeBullet ) GetRecoveryFrames ( ) int32 {
if x != nil {
return x . RecoveryFrames
}
return 0
}
func ( x * MeleeBullet ) GetRecoveryFramesOnBlock ( ) int32 {
if x != nil {
return x . RecoveryFramesOnBlock
}
return 0
}
func ( x * MeleeBullet ) GetRecoveryFramesOnHit ( ) int32 {
if x != nil {
return x . RecoveryFramesOnHit
}
return 0
}
func ( x * MeleeBullet ) GetHitboxOffset ( ) float64 {
if x != nil {
return x . HitboxOffset
}
return 0
}
func ( x * MeleeBullet ) GetOriginatedRenderFrameId ( ) int32 {
if x != nil {
return x . OriginatedRenderFrameId
}
return 0
}
func ( x * MeleeBullet ) GetHitStunFrames ( ) int32 {
if x != nil {
return x . HitStunFrames
}
return 0
}
func ( x * MeleeBullet ) GetBlockStunFrames ( ) int32 {
if x != nil {
return x . BlockStunFrames
}
return 0
}
func ( x * MeleeBullet ) GetPushback ( ) float64 {
if x != nil {
return x . Pushback
}
return 0
}
func ( x * MeleeBullet ) GetReleaseTriggerType ( ) int32 {
if x != nil {
return x . ReleaseTriggerType
}
return 0
}
func ( x * MeleeBullet ) GetDamage ( ) int32 {
if x != nil {
return x . Damage
}
return 0
}
func ( x * MeleeBullet ) GetOffenderJoinIndex ( ) int32 {
if x != nil {
return x . OffenderJoinIndex
}
return 0
}
func ( x * MeleeBullet ) GetOffenderPlayerId ( ) int32 {
if x != nil {
return x . OffenderPlayerId
}
return 0
}
func ( x * MeleeBullet ) GetHitboxSizeX ( ) float64 {
if x != nil {
return x . HitboxSizeX
}
return 0
}
func ( x * MeleeBullet ) GetHitboxSizeY ( ) float64 {
if x != nil {
return x . HitboxSizeY
}
return 0
}
func ( x * MeleeBullet ) GetSelfMoveforwardX ( ) float64 {
if x != nil {
return x . SelfMoveforwardX
}
return 0
}
func ( x * MeleeBullet ) GetSelfMoveforwardY ( ) float64 {
if x != nil {
return x . SelfMoveforwardY
}
return 0
}
type BattleColliderInfo struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
StageName string ` protobuf:"bytes,1,opt,name=stageName,proto3" json:"stageName,omitempty" `
StageDiscreteW int32 ` protobuf:"varint,2,opt,name=stageDiscreteW,proto3" json:"stageDiscreteW,omitempty" `
StageDiscreteH int32 ` protobuf:"varint,3,opt,name=stageDiscreteH,proto3" json:"stageDiscreteH,omitempty" `
StageTileW int32 ` protobuf:"varint,4,opt,name=stageTileW,proto3" json:"stageTileW,omitempty" `
StageTileH int32 ` protobuf:"varint,5,opt,name=stageTileH,proto3" json:"stageTileH,omitempty" `
IntervalToPing int32 ` protobuf:"varint,6,opt,name=intervalToPing,proto3" json:"intervalToPing,omitempty" `
WillKickIfInactiveFor int32 ` protobuf:"varint,7,opt,name=willKickIfInactiveFor,proto3" json:"willKickIfInactiveFor,omitempty" `
BoundRoomId int32 ` protobuf:"varint,8,opt,name=boundRoomId,proto3" json:"boundRoomId,omitempty" `
BattleDurationFrames int32 ` protobuf:"varint,9,opt,name=battleDurationFrames,proto3" json:"battleDurationFrames,omitempty" `
BattleDurationNanos int64 ` protobuf:"varint,10,opt,name=battleDurationNanos,proto3" json:"battleDurationNanos,omitempty" `
ServerFps int32 ` protobuf:"varint,11,opt,name=serverFps,proto3" json:"serverFps,omitempty" `
InputDelayFrames int32 ` protobuf:"varint,12,opt,name=inputDelayFrames,proto3" json:"inputDelayFrames,omitempty" ` // in the count of render frames
InputScaleFrames uint32 ` protobuf:"varint,13,opt,name=inputScaleFrames,proto3" json:"inputScaleFrames,omitempty" ` // inputDelayedAndScaledFrameId = ((originalFrameId - InputDelayFrames) >> InputScaleFrames)
NstDelayFrames int32 ` protobuf:"varint,14,opt,name=nstDelayFrames,proto3" json:"nstDelayFrames,omitempty" ` // network-single-trip delay in the count of render frames, proposed to be (InputDelayFrames >> 1) because we expect a round-trip delay to be exactly "InputDelayFrames"
InputFrameUpsyncDelayTolerance int32 ` protobuf:"varint,15,opt,name=inputFrameUpsyncDelayTolerance,proto3" json:"inputFrameUpsyncDelayTolerance,omitempty" `
MaxChasingRenderFramesPerUpdate int32 ` protobuf:"varint,16,opt,name=maxChasingRenderFramesPerUpdate,proto3" json:"maxChasingRenderFramesPerUpdate,omitempty" `
PlayerBattleState int32 ` protobuf:"varint,17,opt,name=playerBattleState,proto3" json:"playerBattleState,omitempty" `
RollbackEstimatedDtMillis float64 ` protobuf:"fixed64,18,opt,name=rollbackEstimatedDtMillis,proto3" json:"rollbackEstimatedDtMillis,omitempty" `
RollbackEstimatedDtNanos int64 ` protobuf:"varint,19,opt,name=rollbackEstimatedDtNanos,proto3" json:"rollbackEstimatedDtNanos,omitempty" `
WorldToVirtualGridRatio float64 ` protobuf:"fixed64,20,opt,name=worldToVirtualGridRatio,proto3" json:"worldToVirtualGridRatio,omitempty" `
VirtualGridToWorldRatio float64 ` protobuf:"fixed64,21,opt,name=virtualGridToWorldRatio,proto3" json:"virtualGridToWorldRatio,omitempty" `
SpAtkLookupFrames int32 ` protobuf:"varint,22,opt,name=spAtkLookupFrames,proto3" json:"spAtkLookupFrames,omitempty" `
RenderCacheSize int32 ` protobuf:"varint,23,opt,name=renderCacheSize,proto3" json:"renderCacheSize,omitempty" `
MeleeSkillConfig map [ int32 ] * MeleeBullet ` protobuf:"bytes,24,rep,name=meleeSkillConfig,proto3" json:"meleeSkillConfig,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3" ` // skillId -> skill
SnapIntoPlatformOverlap float64 ` protobuf:"fixed64,25,opt,name=snapIntoPlatformOverlap,proto3" json:"snapIntoPlatformOverlap,omitempty" `
SnapIntoPlatformThreshold float64 ` protobuf:"fixed64,26,opt,name=snapIntoPlatformThreshold,proto3" json:"snapIntoPlatformThreshold,omitempty" `
JumpingInitVelY int32 ` protobuf:"varint,27,opt,name=jumpingInitVelY,proto3" json:"jumpingInitVelY,omitempty" `
GravityX int32 ` protobuf:"varint,28,opt,name=gravityX,proto3" json:"gravityX,omitempty" `
GravityY int32 ` protobuf:"varint,29,opt,name=gravityY,proto3" json:"gravityY,omitempty" `
2022-12-25 12:17:22 +00:00
CollisionMinStep int32 ` protobuf:"varint,30,opt,name=collisionMinStep,proto3" json:"collisionMinStep,omitempty" `
2022-12-25 07:39:30 +00:00
}
func ( x * BattleColliderInfo ) Reset ( ) {
* x = BattleColliderInfo { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 9 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * BattleColliderInfo ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * BattleColliderInfo ) ProtoMessage ( ) { }
func ( x * BattleColliderInfo ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 9 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use BattleColliderInfo.ProtoReflect.Descriptor instead.
func ( * BattleColliderInfo ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 9 }
}
func ( x * BattleColliderInfo ) GetStageName ( ) string {
if x != nil {
return x . StageName
}
return ""
}
func ( x * BattleColliderInfo ) GetStageDiscreteW ( ) int32 {
if x != nil {
return x . StageDiscreteW
}
return 0
}
func ( x * BattleColliderInfo ) GetStageDiscreteH ( ) int32 {
if x != nil {
return x . StageDiscreteH
}
return 0
}
func ( x * BattleColliderInfo ) GetStageTileW ( ) int32 {
if x != nil {
return x . StageTileW
}
return 0
}
func ( x * BattleColliderInfo ) GetStageTileH ( ) int32 {
if x != nil {
return x . StageTileH
}
return 0
}
func ( x * BattleColliderInfo ) GetIntervalToPing ( ) int32 {
if x != nil {
return x . IntervalToPing
}
return 0
}
func ( x * BattleColliderInfo ) GetWillKickIfInactiveFor ( ) int32 {
if x != nil {
return x . WillKickIfInactiveFor
}
return 0
}
func ( x * BattleColliderInfo ) GetBoundRoomId ( ) int32 {
if x != nil {
return x . BoundRoomId
}
return 0
}
func ( x * BattleColliderInfo ) GetBattleDurationFrames ( ) int32 {
if x != nil {
return x . BattleDurationFrames
}
return 0
}
func ( x * BattleColliderInfo ) GetBattleDurationNanos ( ) int64 {
if x != nil {
return x . BattleDurationNanos
}
return 0
}
func ( x * BattleColliderInfo ) GetServerFps ( ) int32 {
if x != nil {
return x . ServerFps
}
return 0
}
func ( x * BattleColliderInfo ) GetInputDelayFrames ( ) int32 {
if x != nil {
return x . InputDelayFrames
}
return 0
}
func ( x * BattleColliderInfo ) GetInputScaleFrames ( ) uint32 {
if x != nil {
return x . InputScaleFrames
}
return 0
}
func ( x * BattleColliderInfo ) GetNstDelayFrames ( ) int32 {
if x != nil {
return x . NstDelayFrames
}
return 0
}
func ( x * BattleColliderInfo ) GetInputFrameUpsyncDelayTolerance ( ) int32 {
if x != nil {
return x . InputFrameUpsyncDelayTolerance
}
return 0
}
func ( x * BattleColliderInfo ) GetMaxChasingRenderFramesPerUpdate ( ) int32 {
if x != nil {
return x . MaxChasingRenderFramesPerUpdate
}
return 0
}
func ( x * BattleColliderInfo ) GetPlayerBattleState ( ) int32 {
if x != nil {
return x . PlayerBattleState
}
return 0
}
func ( x * BattleColliderInfo ) GetRollbackEstimatedDtMillis ( ) float64 {
if x != nil {
return x . RollbackEstimatedDtMillis
}
return 0
}
func ( x * BattleColliderInfo ) GetRollbackEstimatedDtNanos ( ) int64 {
if x != nil {
return x . RollbackEstimatedDtNanos
}
return 0
}
func ( x * BattleColliderInfo ) GetWorldToVirtualGridRatio ( ) float64 {
if x != nil {
return x . WorldToVirtualGridRatio
}
return 0
}
func ( x * BattleColliderInfo ) GetVirtualGridToWorldRatio ( ) float64 {
if x != nil {
return x . VirtualGridToWorldRatio
}
return 0
}
func ( x * BattleColliderInfo ) GetSpAtkLookupFrames ( ) int32 {
if x != nil {
return x . SpAtkLookupFrames
}
return 0
}
func ( x * BattleColliderInfo ) GetRenderCacheSize ( ) int32 {
if x != nil {
return x . RenderCacheSize
}
return 0
}
func ( x * BattleColliderInfo ) GetMeleeSkillConfig ( ) map [ int32 ] * MeleeBullet {
if x != nil {
return x . MeleeSkillConfig
}
return nil
}
func ( x * BattleColliderInfo ) GetSnapIntoPlatformOverlap ( ) float64 {
if x != nil {
return x . SnapIntoPlatformOverlap
}
return 0
}
func ( x * BattleColliderInfo ) GetSnapIntoPlatformThreshold ( ) float64 {
if x != nil {
return x . SnapIntoPlatformThreshold
}
return 0
}
func ( x * BattleColliderInfo ) GetJumpingInitVelY ( ) int32 {
if x != nil {
return x . JumpingInitVelY
}
return 0
}
func ( x * BattleColliderInfo ) GetGravityX ( ) int32 {
if x != nil {
return x . GravityX
}
return 0
}
func ( x * BattleColliderInfo ) GetGravityY ( ) int32 {
if x != nil {
return x . GravityY
}
return 0
}
2022-12-25 12:17:22 +00:00
func ( x * BattleColliderInfo ) GetCollisionMinStep ( ) int32 {
if x != nil {
return x . CollisionMinStep
}
return 0
}
2022-12-25 07:39:30 +00:00
type RoomDownsyncFrame struct {
state protoimpl . MessageState
sizeCache protoimpl . SizeCache
unknownFields protoimpl . UnknownFields
2022-12-25 12:17:22 +00:00
Id int32 ` protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty" `
PlayersArr [ ] * PlayerDownsync ` protobuf:"bytes,2,rep,name=playersArr,proto3" json:"playersArr,omitempty" `
CountdownNanos int64 ` protobuf:"varint,3,opt,name=countdownNanos,proto3" json:"countdownNanos,omitempty" `
MeleeBullets [ ] * MeleeBullet ` protobuf:"bytes,4,rep,name=meleeBullets,proto3" json:"meleeBullets,omitempty" ` // I don't know how to mimic inheritance/composition in protobuf by far, thus using an array for each type of bullet as a compromise
BackendUnconfirmedMask uint64 ` protobuf:"varint,5,opt,name=backendUnconfirmedMask,proto3" json:"backendUnconfirmedMask,omitempty" ` // Indexed by "joinIndex", same compression concern as stated in InputFrameDownsync
ShouldForceResync bool ` protobuf:"varint,6,opt,name=shouldForceResync,proto3" json:"shouldForceResync,omitempty" `
2022-12-25 07:39:30 +00:00
}
func ( x * RoomDownsyncFrame ) Reset ( ) {
* x = RoomDownsyncFrame { }
if protoimpl . UnsafeEnabled {
mi := & file_room_downsync_frame_proto_msgTypes [ 10 ]
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
ms . StoreMessageInfo ( mi )
}
}
func ( x * RoomDownsyncFrame ) String ( ) string {
return protoimpl . X . MessageStringOf ( x )
}
func ( * RoomDownsyncFrame ) ProtoMessage ( ) { }
func ( x * RoomDownsyncFrame ) ProtoReflect ( ) protoreflect . Message {
mi := & file_room_downsync_frame_proto_msgTypes [ 10 ]
if protoimpl . UnsafeEnabled && x != nil {
ms := protoimpl . X . MessageStateOf ( protoimpl . Pointer ( x ) )
if ms . LoadMessageInfo ( ) == nil {
ms . StoreMessageInfo ( mi )
}
return ms
}
return mi . MessageOf ( x )
}
// Deprecated: Use RoomDownsyncFrame.ProtoReflect.Descriptor instead.
func ( * RoomDownsyncFrame ) Descriptor ( ) ( [ ] byte , [ ] int ) {
return file_room_downsync_frame_proto_rawDescGZIP ( ) , [ ] int { 10 }
}
func ( x * RoomDownsyncFrame ) GetId ( ) int32 {
if x != nil {
return x . Id
}
return 0
}
func ( x * RoomDownsyncFrame ) GetPlayersArr ( ) [ ] * PlayerDownsync {
if x != nil {
return x . PlayersArr
}
return nil
}
func ( x * RoomDownsyncFrame ) GetCountdownNanos ( ) int64 {
if x != nil {
return x . CountdownNanos
}
return 0
}
func ( x * RoomDownsyncFrame ) GetMeleeBullets ( ) [ ] * MeleeBullet {
if x != nil {
return x . MeleeBullets
}
return nil
}
func ( x * RoomDownsyncFrame ) GetBackendUnconfirmedMask ( ) uint64 {
if x != nil {
return x . BackendUnconfirmedMask
}
return 0
}
func ( x * RoomDownsyncFrame ) GetShouldForceResync ( ) bool {
if x != nil {
return x . ShouldForceResync
}
return false
}
var File_room_downsync_frame_proto protoreflect . FileDescriptor
var file_room_downsync_frame_proto_rawDesc = [ ] byte {
0x0a , 0x19 , 0x72 , 0x6f , 0x6f , 0x6d , 0x5f , 0x64 , 0x6f , 0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x5f ,
0x66 , 0x72 , 0x61 , 0x6d , 0x65 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x12 , 0x06 , 0x70 , 0x72 , 0x6f ,
0x74 , 0x6f , 0x73 , 0x1a , 0x0e , 0x67 , 0x65 , 0x6f , 0x6d , 0x65 , 0x74 , 0x72 , 0x79 , 0x2e , 0x70 , 0x72 ,
0x6f , 0x74 , 0x6f , 0x22 , 0xf0 , 0x04 , 0x0a , 0x0e , 0x50 , 0x6c , 0x61 , 0x79 , 0x65 , 0x72 , 0x44 , 0x6f ,
0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x12 , 0x0e , 0x0a , 0x02 , 0x69 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 ,
0x28 , 0x05 , 0x52 , 0x02 , 0x69 , 0x64 , 0x12 , 0x22 , 0x0a , 0x0c , 0x76 , 0x69 , 0x72 , 0x74 , 0x75 , 0x61 ,
0x6c , 0x47 , 0x72 , 0x69 , 0x64 , 0x58 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0c , 0x76 , 0x69 ,
0x72 , 0x74 , 0x75 , 0x61 , 0x6c , 0x47 , 0x72 , 0x69 , 0x64 , 0x58 , 0x12 , 0x22 , 0x0a , 0x0c , 0x76 , 0x69 ,
0x72 , 0x74 , 0x75 , 0x61 , 0x6c , 0x47 , 0x72 , 0x69 , 0x64 , 0x59 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x05 ,
0x52 , 0x0c , 0x76 , 0x69 , 0x72 , 0x74 , 0x75 , 0x61 , 0x6c , 0x47 , 0x72 , 0x69 , 0x64 , 0x59 , 0x12 , 0x12 ,
0x0a , 0x04 , 0x64 , 0x69 , 0x72 , 0x58 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x04 , 0x64 , 0x69 ,
0x72 , 0x58 , 0x12 , 0x12 , 0x0a , 0x04 , 0x64 , 0x69 , 0x72 , 0x59 , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x05 ,
0x52 , 0x04 , 0x64 , 0x69 , 0x72 , 0x59 , 0x12 , 0x12 , 0x0a , 0x04 , 0x76 , 0x65 , 0x6c , 0x58 , 0x18 , 0x06 ,
0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x04 , 0x76 , 0x65 , 0x6c , 0x58 , 0x12 , 0x12 , 0x0a , 0x04 , 0x76 , 0x65 ,
0x6c , 0x59 , 0x18 , 0x07 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x04 , 0x76 , 0x65 , 0x6c , 0x59 , 0x12 , 0x14 ,
0x0a , 0x05 , 0x73 , 0x70 , 0x65 , 0x65 , 0x64 , 0x18 , 0x08 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x05 , 0x73 ,
0x70 , 0x65 , 0x65 , 0x64 , 0x12 , 0x20 , 0x0a , 0x0b , 0x62 , 0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x53 , 0x74 ,
0x61 , 0x74 , 0x65 , 0x18 , 0x09 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0b , 0x62 , 0x61 , 0x74 , 0x74 , 0x6c ,
0x65 , 0x53 , 0x74 , 0x61 , 0x74 , 0x65 , 0x12 , 0x1c , 0x0a , 0x09 , 0x6a , 0x6f , 0x69 , 0x6e , 0x49 , 0x6e ,
0x64 , 0x65 , 0x78 , 0x18 , 0x0a , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x09 , 0x6a , 0x6f , 0x69 , 0x6e , 0x49 ,
0x6e , 0x64 , 0x65 , 0x78 , 0x12 , 0x26 , 0x0a , 0x0e , 0x63 , 0x6f , 0x6c , 0x6c , 0x69 , 0x64 , 0x65 , 0x72 ,
0x52 , 0x61 , 0x64 , 0x69 , 0x75 , 0x73 , 0x18 , 0x0b , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x0e , 0x63 , 0x6f ,
0x6c , 0x6c , 0x69 , 0x64 , 0x65 , 0x72 , 0x52 , 0x61 , 0x64 , 0x69 , 0x75 , 0x73 , 0x12 , 0x18 , 0x0a , 0x07 ,
0x72 , 0x65 , 0x6d , 0x6f , 0x76 , 0x65 , 0x64 , 0x18 , 0x0c , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x07 , 0x72 ,
0x65 , 0x6d , 0x6f , 0x76 , 0x65 , 0x64 , 0x12 , 0x14 , 0x0a , 0x05 , 0x73 , 0x63 , 0x6f , 0x72 , 0x65 , 0x18 ,
0x0d , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x05 , 0x73 , 0x63 , 0x6f , 0x72 , 0x65 , 0x12 , 0x2c , 0x0a , 0x11 ,
0x6c , 0x61 , 0x73 , 0x74 , 0x4d , 0x6f , 0x76 , 0x65 , 0x47 , 0x6d , 0x74 , 0x4d , 0x69 , 0x6c , 0x6c , 0x69 ,
0x73 , 0x18 , 0x0e , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x11 , 0x6c , 0x61 , 0x73 , 0x74 , 0x4d , 0x6f , 0x76 ,
0x65 , 0x47 , 0x6d , 0x74 , 0x4d , 0x69 , 0x6c , 0x6c , 0x69 , 0x73 , 0x12 , 0x28 , 0x0a , 0x0f , 0x66 , 0x72 ,
0x61 , 0x6d , 0x65 , 0x73 , 0x54 , 0x6f , 0x52 , 0x65 , 0x63 , 0x6f , 0x76 , 0x65 , 0x72 , 0x18 , 0x0f , 0x20 ,
0x01 , 0x28 , 0x05 , 0x52 , 0x0f , 0x66 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x54 , 0x6f , 0x52 , 0x65 , 0x63 ,
0x6f , 0x76 , 0x65 , 0x72 , 0x12 , 0x0e , 0x0a , 0x02 , 0x68 , 0x70 , 0x18 , 0x10 , 0x20 , 0x01 , 0x28 , 0x05 ,
0x52 , 0x02 , 0x68 , 0x70 , 0x12 , 0x14 , 0x0a , 0x05 , 0x6d , 0x61 , 0x78 , 0x48 , 0x70 , 0x18 , 0x11 , 0x20 ,
0x01 , 0x28 , 0x05 , 0x52 , 0x05 , 0x6d , 0x61 , 0x78 , 0x48 , 0x70 , 0x12 , 0x26 , 0x0a , 0x0e , 0x63 , 0x68 ,
0x61 , 0x72 , 0x61 , 0x63 , 0x74 , 0x65 , 0x72 , 0x53 , 0x74 , 0x61 , 0x74 , 0x65 , 0x18 , 0x12 , 0x20 , 0x01 ,
0x28 , 0x05 , 0x52 , 0x0e , 0x63 , 0x68 , 0x61 , 0x72 , 0x61 , 0x63 , 0x74 , 0x65 , 0x72 , 0x53 , 0x74 , 0x61 ,
0x74 , 0x65 , 0x12 , 0x14 , 0x0a , 0x05 , 0x69 , 0x6e , 0x41 , 0x69 , 0x72 , 0x18 , 0x13 , 0x20 , 0x01 , 0x28 ,
0x08 , 0x52 , 0x05 , 0x69 , 0x6e , 0x41 , 0x69 , 0x72 , 0x12 , 0x12 , 0x0a , 0x04 , 0x6e , 0x61 , 0x6d , 0x65 ,
0x18 , 0x14 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x04 , 0x6e , 0x61 , 0x6d , 0x65 , 0x12 , 0x20 , 0x0a , 0x0b ,
0x64 , 0x69 , 0x73 , 0x70 , 0x6c , 0x61 , 0x79 , 0x4e , 0x61 , 0x6d , 0x65 , 0x18 , 0x15 , 0x20 , 0x01 , 0x28 ,
0x09 , 0x52 , 0x0b , 0x64 , 0x69 , 0x73 , 0x70 , 0x6c , 0x61 , 0x79 , 0x4e , 0x61 , 0x6d , 0x65 , 0x12 , 0x16 ,
0x0a , 0x06 , 0x61 , 0x76 , 0x61 , 0x74 , 0x61 , 0x72 , 0x18 , 0x16 , 0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x06 ,
0x61 , 0x76 , 0x61 , 0x74 , 0x61 , 0x72 , 0x22 , 0x6f , 0x0a , 0x11 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 ,
0x72 , 0x61 , 0x6d , 0x65 , 0x44 , 0x65 , 0x63 , 0x6f , 0x64 , 0x65 , 0x64 , 0x12 , 0x0e , 0x0a , 0x02 , 0x64 ,
0x78 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x02 , 0x64 , 0x78 , 0x12 , 0x0e , 0x0a , 0x02 , 0x64 ,
0x79 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x02 , 0x64 , 0x79 , 0x12 , 0x1c , 0x0a , 0x09 , 0x62 ,
0x74 , 0x6e , 0x41 , 0x4c , 0x65 , 0x76 , 0x65 , 0x6c , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x09 ,
0x62 , 0x74 , 0x6e , 0x41 , 0x4c , 0x65 , 0x76 , 0x65 , 0x6c , 0x12 , 0x1c , 0x0a , 0x09 , 0x62 , 0x74 , 0x6e ,
0x42 , 0x4c , 0x65 , 0x76 , 0x65 , 0x6c , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x09 , 0x62 , 0x74 ,
0x6e , 0x42 , 0x4c , 0x65 , 0x76 , 0x65 , 0x6c , 0x22 , 0x50 , 0x0a , 0x10 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 ,
0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x55 , 0x70 , 0x73 , 0x79 , 0x6e , 0x63 , 0x12 , 0x22 , 0x0a , 0x0c , 0x69 ,
0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 ,
0x05 , 0x52 , 0x0c , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 , 0x12 ,
0x18 , 0x0a , 0x07 , 0x65 , 0x6e , 0x63 , 0x6f , 0x64 , 0x65 , 0x64 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x04 ,
0x52 , 0x07 , 0x65 , 0x6e , 0x63 , 0x6f , 0x64 , 0x65 , 0x64 , 0x22 , 0x7c , 0x0a , 0x12 , 0x49 , 0x6e , 0x70 ,
0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x44 , 0x6f , 0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x12 ,
0x22 , 0x0a , 0x0c , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 , 0x18 ,
0x01 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0c , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d ,
0x65 , 0x49 , 0x64 , 0x12 , 0x1c , 0x0a , 0x09 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x4c , 0x69 , 0x73 , 0x74 ,
0x18 , 0x02 , 0x20 , 0x03 , 0x28 , 0x04 , 0x52 , 0x09 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x4c , 0x69 , 0x73 ,
0x74 , 0x12 , 0x24 , 0x0a , 0x0d , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x72 , 0x6d , 0x65 , 0x64 , 0x4c , 0x69 ,
0x73 , 0x74 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x04 , 0x52 , 0x0d , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x72 ,
0x6d , 0x65 , 0x64 , 0x4c , 0x69 , 0x73 , 0x74 , 0x22 , 0x3b , 0x0a , 0x0f , 0x48 , 0x65 , 0x61 , 0x72 , 0x74 ,
0x62 , 0x65 , 0x61 , 0x74 , 0x55 , 0x70 , 0x73 , 0x79 , 0x6e , 0x63 , 0x12 , 0x28 , 0x0a , 0x0f , 0x63 , 0x6c ,
0x69 , 0x65 , 0x6e , 0x74 , 0x54 , 0x69 , 0x6d , 0x65 , 0x73 , 0x74 , 0x61 , 0x6d , 0x70 , 0x18 , 0x01 , 0x20 ,
0x01 , 0x28 , 0x03 , 0x52 , 0x0f , 0x63 , 0x6c , 0x69 , 0x65 , 0x6e , 0x74 , 0x54 , 0x69 , 0x6d , 0x65 , 0x73 ,
0x74 , 0x61 , 0x6d , 0x70 , 0x22 , 0xb8 , 0x02 , 0x0a , 0x05 , 0x57 , 0x73 , 0x52 , 0x65 , 0x71 , 0x12 , 0x14 ,
0x0a , 0x05 , 0x6d , 0x73 , 0x67 , 0x49 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x05 , 0x6d ,
0x73 , 0x67 , 0x49 , 0x64 , 0x12 , 0x1a , 0x0a , 0x08 , 0x70 , 0x6c , 0x61 , 0x79 , 0x65 , 0x72 , 0x49 , 0x64 ,
0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x08 , 0x70 , 0x6c , 0x61 , 0x79 , 0x65 , 0x72 , 0x49 , 0x64 ,
0x12 , 0x10 , 0x0a , 0x03 , 0x61 , 0x63 , 0x74 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x03 , 0x61 ,
0x63 , 0x74 , 0x12 , 0x1c , 0x0a , 0x09 , 0x6a , 0x6f , 0x69 , 0x6e , 0x49 , 0x6e , 0x64 , 0x65 , 0x78 , 0x18 ,
0x04 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x09 , 0x6a , 0x6f , 0x69 , 0x6e , 0x49 , 0x6e , 0x64 , 0x65 , 0x78 ,
0x12 , 0x24 , 0x0a , 0x0d , 0x61 , 0x63 , 0x6b , 0x69 , 0x6e , 0x67 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 ,
0x64 , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0d , 0x61 , 0x63 , 0x6b , 0x69 , 0x6e , 0x67 , 0x46 ,
0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 , 0x12 , 0x2e , 0x0a , 0x12 , 0x61 , 0x63 , 0x6b , 0x69 , 0x6e , 0x67 ,
0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 , 0x18 , 0x06 , 0x20 , 0x01 ,
0x28 , 0x05 , 0x52 , 0x12 , 0x61 , 0x63 , 0x6b , 0x69 , 0x6e , 0x67 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 ,
0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 , 0x12 , 0x4e , 0x0a , 0x15 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 ,
0x72 , 0x61 , 0x6d , 0x65 , 0x55 , 0x70 , 0x73 , 0x79 , 0x6e , 0x63 , 0x42 , 0x61 , 0x74 , 0x63 , 0x68 , 0x18 ,
0x07 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x18 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x49 ,
0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x55 , 0x70 , 0x73 , 0x79 , 0x6e , 0x63 , 0x52 ,
0x15 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x55 , 0x70 , 0x73 , 0x79 , 0x6e ,
0x63 , 0x42 , 0x61 , 0x74 , 0x63 , 0x68 , 0x12 , 0x27 , 0x0a , 0x02 , 0x68 , 0x62 , 0x18 , 0x08 , 0x20 , 0x01 ,
0x28 , 0x0b , 0x32 , 0x17 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x48 , 0x65 , 0x61 , 0x72 ,
0x74 , 0x62 , 0x65 , 0x61 , 0x74 , 0x55 , 0x70 , 0x73 , 0x79 , 0x6e , 0x63 , 0x52 , 0x02 , 0x68 , 0x62 , 0x22 ,
0x89 , 0x02 , 0x0a , 0x06 , 0x57 , 0x73 , 0x52 , 0x65 , 0x73 , 0x70 , 0x12 , 0x10 , 0x0a , 0x03 , 0x72 , 0x65 ,
0x74 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x03 , 0x72 , 0x65 , 0x74 , 0x12 , 0x20 , 0x0a , 0x0b ,
0x65 , 0x63 , 0x68 , 0x6f , 0x65 , 0x64 , 0x4d , 0x73 , 0x67 , 0x49 , 0x64 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 ,
0x05 , 0x52 , 0x0b , 0x65 , 0x63 , 0x68 , 0x6f , 0x65 , 0x64 , 0x4d , 0x73 , 0x67 , 0x49 , 0x64 , 0x12 , 0x10 ,
0x0a , 0x03 , 0x61 , 0x63 , 0x74 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x03 , 0x61 , 0x63 , 0x74 ,
0x12 , 0x2b , 0x0a , 0x03 , 0x72 , 0x64 , 0x66 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x19 , 0x2e ,
0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x52 , 0x6f , 0x6f , 0x6d , 0x44 , 0x6f , 0x77 , 0x6e , 0x73 ,
0x79 , 0x6e , 0x63 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x52 , 0x03 , 0x72 , 0x64 , 0x66 , 0x12 , 0x54 , 0x0a ,
0x17 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x44 , 0x6f , 0x77 , 0x6e , 0x73 ,
0x79 , 0x6e , 0x63 , 0x42 , 0x61 , 0x74 , 0x63 , 0x68 , 0x18 , 0x05 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x1a ,
0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 ,
0x6d , 0x65 , 0x44 , 0x6f , 0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x52 , 0x17 , 0x69 , 0x6e , 0x70 , 0x75 ,
0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x44 , 0x6f , 0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x42 , 0x61 ,
0x74 , 0x63 , 0x68 , 0x12 , 0x36 , 0x0a , 0x08 , 0x62 , 0x63 , 0x69 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x18 ,
0x06 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x1a , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x42 ,
0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x43 , 0x6f , 0x6c , 0x6c , 0x69 , 0x64 , 0x65 , 0x72 , 0x49 , 0x6e , 0x66 ,
0x6f , 0x52 , 0x08 , 0x62 , 0x63 , 0x69 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x22 , 0xf4 , 0x01 , 0x0a , 0x14 ,
0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x73 , 0x42 , 0x75 , 0x66 , 0x66 , 0x65 , 0x72 , 0x53 , 0x6e , 0x61 , 0x70 ,
0x73 , 0x68 , 0x6f , 0x74 , 0x12 , 0x2a , 0x0a , 0x10 , 0x72 , 0x65 , 0x66 , 0x52 , 0x65 , 0x6e , 0x64 , 0x65 ,
0x72 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x10 ,
0x72 , 0x65 , 0x66 , 0x52 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 ,
0x12 , 0x28 , 0x0a , 0x0f , 0x75 , 0x6e , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x72 , 0x6d , 0x65 , 0x64 , 0x4d ,
0x61 , 0x73 , 0x6b , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x04 , 0x52 , 0x0f , 0x75 , 0x6e , 0x63 , 0x6f , 0x6e ,
0x66 , 0x69 , 0x72 , 0x6d , 0x65 , 0x64 , 0x4d , 0x61 , 0x73 , 0x6b , 0x12 , 0x58 , 0x0a , 0x19 , 0x74 , 0x6f ,
0x53 , 0x65 , 0x6e , 0x64 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x44 , 0x6f ,
0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x73 , 0x18 , 0x03 , 0x20 , 0x03 , 0x28 , 0x0b , 0x32 , 0x1a , 0x2e ,
0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d ,
0x65 , 0x44 , 0x6f , 0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x52 , 0x19 , 0x74 , 0x6f , 0x53 , 0x65 , 0x6e ,
0x64 , 0x49 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x44 , 0x6f , 0x77 , 0x6e , 0x73 ,
0x79 , 0x6e , 0x63 , 0x73 , 0x12 , 0x2c , 0x0a , 0x11 , 0x73 , 0x68 , 0x6f , 0x75 , 0x6c , 0x64 , 0x46 , 0x6f ,
0x72 , 0x63 , 0x65 , 0x52 , 0x65 , 0x73 , 0x79 , 0x6e , 0x63 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 ,
0x11 , 0x73 , 0x68 , 0x6f , 0x75 , 0x6c , 0x64 , 0x46 , 0x6f , 0x72 , 0x63 , 0x65 , 0x52 , 0x65 , 0x73 , 0x79 ,
0x6e , 0x63 , 0x22 , 0x95 , 0x06 , 0x0a , 0x0b , 0x4d , 0x65 , 0x6c , 0x65 , 0x65 , 0x42 , 0x75 , 0x6c , 0x6c ,
0x65 , 0x74 , 0x12 , 0x24 , 0x0a , 0x0d , 0x62 , 0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x4c , 0x6f , 0x63 , 0x61 ,
0x6c , 0x49 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0d , 0x62 , 0x61 , 0x74 , 0x74 , 0x6c ,
0x65 , 0x4c , 0x6f , 0x63 , 0x61 , 0x6c , 0x49 , 0x64 , 0x12 , 0x24 , 0x0a , 0x0d , 0x73 , 0x74 , 0x61 , 0x72 ,
0x74 , 0x75 , 0x70 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 ,
0x0d , 0x73 , 0x74 , 0x61 , 0x72 , 0x74 , 0x75 , 0x70 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x12 , 0x22 ,
0x0a , 0x0c , 0x61 , 0x63 , 0x74 , 0x69 , 0x76 , 0x65 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x18 , 0x03 ,
0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0c , 0x61 , 0x63 , 0x74 , 0x69 , 0x76 , 0x65 , 0x46 , 0x72 , 0x61 , 0x6d ,
0x65 , 0x73 , 0x12 , 0x26 , 0x0a , 0x0e , 0x72 , 0x65 , 0x63 , 0x6f , 0x76 , 0x65 , 0x72 , 0x79 , 0x46 , 0x72 ,
0x61 , 0x6d , 0x65 , 0x73 , 0x18 , 0x04 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0e , 0x72 , 0x65 , 0x63 , 0x6f ,
0x76 , 0x65 , 0x72 , 0x79 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x12 , 0x34 , 0x0a , 0x15 , 0x72 , 0x65 ,
0x63 , 0x6f , 0x76 , 0x65 , 0x72 , 0x79 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x4f , 0x6e , 0x42 , 0x6c ,
0x6f , 0x63 , 0x6b , 0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x15 , 0x72 , 0x65 , 0x63 , 0x6f , 0x76 ,
0x65 , 0x72 , 0x79 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x4f , 0x6e , 0x42 , 0x6c , 0x6f , 0x63 , 0x6b ,
0x12 , 0x30 , 0x0a , 0x13 , 0x72 , 0x65 , 0x63 , 0x6f , 0x76 , 0x65 , 0x72 , 0x79 , 0x46 , 0x72 , 0x61 , 0x6d ,
0x65 , 0x73 , 0x4f , 0x6e , 0x48 , 0x69 , 0x74 , 0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x13 , 0x72 ,
0x65 , 0x63 , 0x6f , 0x76 , 0x65 , 0x72 , 0x79 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x4f , 0x6e , 0x48 ,
0x69 , 0x74 , 0x12 , 0x22 , 0x0a , 0x0c , 0x68 , 0x69 , 0x74 , 0x62 , 0x6f , 0x78 , 0x4f , 0x66 , 0x66 , 0x73 ,
0x65 , 0x74 , 0x18 , 0x07 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x0c , 0x68 , 0x69 , 0x74 , 0x62 , 0x6f , 0x78 ,
0x4f , 0x66 , 0x66 , 0x73 , 0x65 , 0x74 , 0x12 , 0x38 , 0x0a , 0x17 , 0x6f , 0x72 , 0x69 , 0x67 , 0x69 , 0x6e ,
0x61 , 0x74 , 0x65 , 0x64 , 0x52 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 ,
0x64 , 0x18 , 0x08 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x17 , 0x6f , 0x72 , 0x69 , 0x67 , 0x69 , 0x6e , 0x61 ,
0x74 , 0x65 , 0x64 , 0x52 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x49 , 0x64 ,
0x12 , 0x24 , 0x0a , 0x0d , 0x68 , 0x69 , 0x74 , 0x53 , 0x74 , 0x75 , 0x6e , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 ,
0x73 , 0x18 , 0x09 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0d , 0x68 , 0x69 , 0x74 , 0x53 , 0x74 , 0x75 , 0x6e ,
0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x12 , 0x28 , 0x0a , 0x0f , 0x62 , 0x6c , 0x6f , 0x63 , 0x6b , 0x53 ,
0x74 , 0x75 , 0x6e , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x18 , 0x0a , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 ,
0x0f , 0x62 , 0x6c , 0x6f , 0x63 , 0x6b , 0x53 , 0x74 , 0x75 , 0x6e , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 ,
0x12 , 0x1a , 0x0a , 0x08 , 0x70 , 0x75 , 0x73 , 0x68 , 0x62 , 0x61 , 0x63 , 0x6b , 0x18 , 0x0b , 0x20 , 0x01 ,
0x28 , 0x01 , 0x52 , 0x08 , 0x70 , 0x75 , 0x73 , 0x68 , 0x62 , 0x61 , 0x63 , 0x6b , 0x12 , 0x2e , 0x0a , 0x12 ,
0x72 , 0x65 , 0x6c , 0x65 , 0x61 , 0x73 , 0x65 , 0x54 , 0x72 , 0x69 , 0x67 , 0x67 , 0x65 , 0x72 , 0x54 , 0x79 ,
0x70 , 0x65 , 0x18 , 0x0c , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x12 , 0x72 , 0x65 , 0x6c , 0x65 , 0x61 , 0x73 ,
0x65 , 0x54 , 0x72 , 0x69 , 0x67 , 0x67 , 0x65 , 0x72 , 0x54 , 0x79 , 0x70 , 0x65 , 0x12 , 0x16 , 0x0a , 0x06 ,
0x64 , 0x61 , 0x6d , 0x61 , 0x67 , 0x65 , 0x18 , 0x0d , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x06 , 0x64 , 0x61 ,
0x6d , 0x61 , 0x67 , 0x65 , 0x12 , 0x2c , 0x0a , 0x11 , 0x6f , 0x66 , 0x66 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 ,
0x4a , 0x6f , 0x69 , 0x6e , 0x49 , 0x6e , 0x64 , 0x65 , 0x78 , 0x18 , 0x0e , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 ,
0x11 , 0x6f , 0x66 , 0x66 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x4a , 0x6f , 0x69 , 0x6e , 0x49 , 0x6e , 0x64 ,
0x65 , 0x78 , 0x12 , 0x2a , 0x0a , 0x10 , 0x6f , 0x66 , 0x66 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x50 , 0x6c ,
0x61 , 0x79 , 0x65 , 0x72 , 0x49 , 0x64 , 0x18 , 0x0f , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x10 , 0x6f , 0x66 ,
0x66 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x50 , 0x6c , 0x61 , 0x79 , 0x65 , 0x72 , 0x49 , 0x64 , 0x12 , 0x20 ,
0x0a , 0x0b , 0x68 , 0x69 , 0x74 , 0x62 , 0x6f , 0x78 , 0x53 , 0x69 , 0x7a , 0x65 , 0x58 , 0x18 , 0x10 , 0x20 ,
0x01 , 0x28 , 0x01 , 0x52 , 0x0b , 0x68 , 0x69 , 0x74 , 0x62 , 0x6f , 0x78 , 0x53 , 0x69 , 0x7a , 0x65 , 0x58 ,
0x12 , 0x20 , 0x0a , 0x0b , 0x68 , 0x69 , 0x74 , 0x62 , 0x6f , 0x78 , 0x53 , 0x69 , 0x7a , 0x65 , 0x59 , 0x18 ,
0x11 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x0b , 0x68 , 0x69 , 0x74 , 0x62 , 0x6f , 0x78 , 0x53 , 0x69 , 0x7a ,
0x65 , 0x59 , 0x12 , 0x2a , 0x0a , 0x10 , 0x73 , 0x65 , 0x6c , 0x66 , 0x4d , 0x6f , 0x76 , 0x65 , 0x66 , 0x6f ,
0x72 , 0x77 , 0x61 , 0x72 , 0x64 , 0x58 , 0x18 , 0x12 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x10 , 0x73 , 0x65 ,
0x6c , 0x66 , 0x4d , 0x6f , 0x76 , 0x65 , 0x66 , 0x6f , 0x72 , 0x77 , 0x61 , 0x72 , 0x64 , 0x58 , 0x12 , 0x2a ,
0x0a , 0x10 , 0x73 , 0x65 , 0x6c , 0x66 , 0x4d , 0x6f , 0x76 , 0x65 , 0x66 , 0x6f , 0x72 , 0x77 , 0x61 , 0x72 ,
0x64 , 0x59 , 0x18 , 0x13 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x10 , 0x73 , 0x65 , 0x6c , 0x66 , 0x4d , 0x6f ,
2022-12-25 12:17:22 +00:00
0x76 , 0x65 , 0x66 , 0x6f , 0x72 , 0x77 , 0x61 , 0x72 , 0x64 , 0x59 , 0x22 , 0x8a , 0x0c , 0x0a , 0x12 , 0x42 ,
2022-12-25 07:39:30 +00:00
0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x43 , 0x6f , 0x6c , 0x6c , 0x69 , 0x64 , 0x65 , 0x72 , 0x49 , 0x6e , 0x66 ,
0x6f , 0x12 , 0x1c , 0x0a , 0x09 , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x4e , 0x61 , 0x6d , 0x65 , 0x18 , 0x01 ,
0x20 , 0x01 , 0x28 , 0x09 , 0x52 , 0x09 , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x4e , 0x61 , 0x6d , 0x65 , 0x12 ,
0x26 , 0x0a , 0x0e , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x44 , 0x69 , 0x73 , 0x63 , 0x72 , 0x65 , 0x74 , 0x65 ,
0x57 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0e , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x44 , 0x69 ,
0x73 , 0x63 , 0x72 , 0x65 , 0x74 , 0x65 , 0x57 , 0x12 , 0x26 , 0x0a , 0x0e , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 ,
0x44 , 0x69 , 0x73 , 0x63 , 0x72 , 0x65 , 0x74 , 0x65 , 0x48 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 ,
0x0e , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x44 , 0x69 , 0x73 , 0x63 , 0x72 , 0x65 , 0x74 , 0x65 , 0x48 , 0x12 ,
0x1e , 0x0a , 0x0a , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x54 , 0x69 , 0x6c , 0x65 , 0x57 , 0x18 , 0x04 , 0x20 ,
0x01 , 0x28 , 0x05 , 0x52 , 0x0a , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x54 , 0x69 , 0x6c , 0x65 , 0x57 , 0x12 ,
0x1e , 0x0a , 0x0a , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x54 , 0x69 , 0x6c , 0x65 , 0x48 , 0x18 , 0x05 , 0x20 ,
0x01 , 0x28 , 0x05 , 0x52 , 0x0a , 0x73 , 0x74 , 0x61 , 0x67 , 0x65 , 0x54 , 0x69 , 0x6c , 0x65 , 0x48 , 0x12 ,
0x26 , 0x0a , 0x0e , 0x69 , 0x6e , 0x74 , 0x65 , 0x72 , 0x76 , 0x61 , 0x6c , 0x54 , 0x6f , 0x50 , 0x69 , 0x6e ,
0x67 , 0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0e , 0x69 , 0x6e , 0x74 , 0x65 , 0x72 , 0x76 , 0x61 ,
0x6c , 0x54 , 0x6f , 0x50 , 0x69 , 0x6e , 0x67 , 0x12 , 0x34 , 0x0a , 0x15 , 0x77 , 0x69 , 0x6c , 0x6c , 0x4b ,
0x69 , 0x63 , 0x6b , 0x49 , 0x66 , 0x49 , 0x6e , 0x61 , 0x63 , 0x74 , 0x69 , 0x76 , 0x65 , 0x46 , 0x6f , 0x72 ,
0x18 , 0x07 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x15 , 0x77 , 0x69 , 0x6c , 0x6c , 0x4b , 0x69 , 0x63 , 0x6b ,
0x49 , 0x66 , 0x49 , 0x6e , 0x61 , 0x63 , 0x74 , 0x69 , 0x76 , 0x65 , 0x46 , 0x6f , 0x72 , 0x12 , 0x20 , 0x0a ,
0x0b , 0x62 , 0x6f , 0x75 , 0x6e , 0x64 , 0x52 , 0x6f , 0x6f , 0x6d , 0x49 , 0x64 , 0x18 , 0x08 , 0x20 , 0x01 ,
0x28 , 0x05 , 0x52 , 0x0b , 0x62 , 0x6f , 0x75 , 0x6e , 0x64 , 0x52 , 0x6f , 0x6f , 0x6d , 0x49 , 0x64 , 0x12 ,
0x32 , 0x0a , 0x14 , 0x62 , 0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x44 , 0x75 , 0x72 , 0x61 , 0x74 , 0x69 , 0x6f ,
0x6e , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x18 , 0x09 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x14 , 0x62 ,
0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x44 , 0x75 , 0x72 , 0x61 , 0x74 , 0x69 , 0x6f , 0x6e , 0x46 , 0x72 , 0x61 ,
0x6d , 0x65 , 0x73 , 0x12 , 0x30 , 0x0a , 0x13 , 0x62 , 0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x44 , 0x75 , 0x72 ,
0x61 , 0x74 , 0x69 , 0x6f , 0x6e , 0x4e , 0x61 , 0x6e , 0x6f , 0x73 , 0x18 , 0x0a , 0x20 , 0x01 , 0x28 , 0x03 ,
0x52 , 0x13 , 0x62 , 0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x44 , 0x75 , 0x72 , 0x61 , 0x74 , 0x69 , 0x6f , 0x6e ,
0x4e , 0x61 , 0x6e , 0x6f , 0x73 , 0x12 , 0x1c , 0x0a , 0x09 , 0x73 , 0x65 , 0x72 , 0x76 , 0x65 , 0x72 , 0x46 ,
0x70 , 0x73 , 0x18 , 0x0b , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x09 , 0x73 , 0x65 , 0x72 , 0x76 , 0x65 , 0x72 ,
0x46 , 0x70 , 0x73 , 0x12 , 0x2a , 0x0a , 0x10 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x44 , 0x65 , 0x6c , 0x61 ,
0x79 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x18 , 0x0c , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x10 , 0x69 ,
0x6e , 0x70 , 0x75 , 0x74 , 0x44 , 0x65 , 0x6c , 0x61 , 0x79 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x12 ,
0x2a , 0x0a , 0x10 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x53 , 0x63 , 0x61 , 0x6c , 0x65 , 0x46 , 0x72 , 0x61 ,
0x6d , 0x65 , 0x73 , 0x18 , 0x0d , 0x20 , 0x01 , 0x28 , 0x0d , 0x52 , 0x10 , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 ,
0x53 , 0x63 , 0x61 , 0x6c , 0x65 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x12 , 0x26 , 0x0a , 0x0e , 0x6e ,
0x73 , 0x74 , 0x44 , 0x65 , 0x6c , 0x61 , 0x79 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x18 , 0x0e , 0x20 ,
0x01 , 0x28 , 0x05 , 0x52 , 0x0e , 0x6e , 0x73 , 0x74 , 0x44 , 0x65 , 0x6c , 0x61 , 0x79 , 0x46 , 0x72 , 0x61 ,
0x6d , 0x65 , 0x73 , 0x12 , 0x46 , 0x0a , 0x1e , 0x69 , 0x6e , 0x70 , 0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d ,
0x65 , 0x55 , 0x70 , 0x73 , 0x79 , 0x6e , 0x63 , 0x44 , 0x65 , 0x6c , 0x61 , 0x79 , 0x54 , 0x6f , 0x6c , 0x65 ,
0x72 , 0x61 , 0x6e , 0x63 , 0x65 , 0x18 , 0x0f , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x1e , 0x69 , 0x6e , 0x70 ,
0x75 , 0x74 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x55 , 0x70 , 0x73 , 0x79 , 0x6e , 0x63 , 0x44 , 0x65 , 0x6c ,
0x61 , 0x79 , 0x54 , 0x6f , 0x6c , 0x65 , 0x72 , 0x61 , 0x6e , 0x63 , 0x65 , 0x12 , 0x48 , 0x0a , 0x1f , 0x6d ,
0x61 , 0x78 , 0x43 , 0x68 , 0x61 , 0x73 , 0x69 , 0x6e , 0x67 , 0x52 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x46 ,
0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x50 , 0x65 , 0x72 , 0x55 , 0x70 , 0x64 , 0x61 , 0x74 , 0x65 , 0x18 , 0x10 ,
0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x1f , 0x6d , 0x61 , 0x78 , 0x43 , 0x68 , 0x61 , 0x73 , 0x69 , 0x6e , 0x67 ,
0x52 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x50 , 0x65 , 0x72 , 0x55 ,
0x70 , 0x64 , 0x61 , 0x74 , 0x65 , 0x12 , 0x2c , 0x0a , 0x11 , 0x70 , 0x6c , 0x61 , 0x79 , 0x65 , 0x72 , 0x42 ,
0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x53 , 0x74 , 0x61 , 0x74 , 0x65 , 0x18 , 0x11 , 0x20 , 0x01 , 0x28 , 0x05 ,
0x52 , 0x11 , 0x70 , 0x6c , 0x61 , 0x79 , 0x65 , 0x72 , 0x42 , 0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x53 , 0x74 ,
0x61 , 0x74 , 0x65 , 0x12 , 0x3c , 0x0a , 0x19 , 0x72 , 0x6f , 0x6c , 0x6c , 0x62 , 0x61 , 0x63 , 0x6b , 0x45 ,
0x73 , 0x74 , 0x69 , 0x6d , 0x61 , 0x74 , 0x65 , 0x64 , 0x44 , 0x74 , 0x4d , 0x69 , 0x6c , 0x6c , 0x69 , 0x73 ,
0x18 , 0x12 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x19 , 0x72 , 0x6f , 0x6c , 0x6c , 0x62 , 0x61 , 0x63 , 0x6b ,
0x45 , 0x73 , 0x74 , 0x69 , 0x6d , 0x61 , 0x74 , 0x65 , 0x64 , 0x44 , 0x74 , 0x4d , 0x69 , 0x6c , 0x6c , 0x69 ,
0x73 , 0x12 , 0x3a , 0x0a , 0x18 , 0x72 , 0x6f , 0x6c , 0x6c , 0x62 , 0x61 , 0x63 , 0x6b , 0x45 , 0x73 , 0x74 ,
0x69 , 0x6d , 0x61 , 0x74 , 0x65 , 0x64 , 0x44 , 0x74 , 0x4e , 0x61 , 0x6e , 0x6f , 0x73 , 0x18 , 0x13 , 0x20 ,
0x01 , 0x28 , 0x03 , 0x52 , 0x18 , 0x72 , 0x6f , 0x6c , 0x6c , 0x62 , 0x61 , 0x63 , 0x6b , 0x45 , 0x73 , 0x74 ,
0x69 , 0x6d , 0x61 , 0x74 , 0x65 , 0x64 , 0x44 , 0x74 , 0x4e , 0x61 , 0x6e , 0x6f , 0x73 , 0x12 , 0x38 , 0x0a ,
0x17 , 0x77 , 0x6f , 0x72 , 0x6c , 0x64 , 0x54 , 0x6f , 0x56 , 0x69 , 0x72 , 0x74 , 0x75 , 0x61 , 0x6c , 0x47 ,
0x72 , 0x69 , 0x64 , 0x52 , 0x61 , 0x74 , 0x69 , 0x6f , 0x18 , 0x14 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x17 ,
0x77 , 0x6f , 0x72 , 0x6c , 0x64 , 0x54 , 0x6f , 0x56 , 0x69 , 0x72 , 0x74 , 0x75 , 0x61 , 0x6c , 0x47 , 0x72 ,
0x69 , 0x64 , 0x52 , 0x61 , 0x74 , 0x69 , 0x6f , 0x12 , 0x38 , 0x0a , 0x17 , 0x76 , 0x69 , 0x72 , 0x74 , 0x75 ,
0x61 , 0x6c , 0x47 , 0x72 , 0x69 , 0x64 , 0x54 , 0x6f , 0x57 , 0x6f , 0x72 , 0x6c , 0x64 , 0x52 , 0x61 , 0x74 ,
0x69 , 0x6f , 0x18 , 0x15 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x17 , 0x76 , 0x69 , 0x72 , 0x74 , 0x75 , 0x61 ,
0x6c , 0x47 , 0x72 , 0x69 , 0x64 , 0x54 , 0x6f , 0x57 , 0x6f , 0x72 , 0x6c , 0x64 , 0x52 , 0x61 , 0x74 , 0x69 ,
0x6f , 0x12 , 0x2c , 0x0a , 0x11 , 0x73 , 0x70 , 0x41 , 0x74 , 0x6b , 0x4c , 0x6f , 0x6f , 0x6b , 0x75 , 0x70 ,
0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x18 , 0x16 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x11 , 0x73 , 0x70 ,
0x41 , 0x74 , 0x6b , 0x4c , 0x6f , 0x6f , 0x6b , 0x75 , 0x70 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x73 , 0x12 ,
0x28 , 0x0a , 0x0f , 0x72 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 , 0x43 , 0x61 , 0x63 , 0x68 , 0x65 , 0x53 , 0x69 ,
0x7a , 0x65 , 0x18 , 0x17 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0f , 0x72 , 0x65 , 0x6e , 0x64 , 0x65 , 0x72 ,
0x43 , 0x61 , 0x63 , 0x68 , 0x65 , 0x53 , 0x69 , 0x7a , 0x65 , 0x12 , 0x5c , 0x0a , 0x10 , 0x6d , 0x65 , 0x6c ,
0x65 , 0x65 , 0x53 , 0x6b , 0x69 , 0x6c , 0x6c , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x18 , 0x18 , 0x20 ,
0x03 , 0x28 , 0x0b , 0x32 , 0x30 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x42 , 0x61 , 0x74 ,
0x74 , 0x6c , 0x65 , 0x43 , 0x6f , 0x6c , 0x6c , 0x69 , 0x64 , 0x65 , 0x72 , 0x49 , 0x6e , 0x66 , 0x6f , 0x2e ,
0x4d , 0x65 , 0x6c , 0x65 , 0x65 , 0x53 , 0x6b , 0x69 , 0x6c , 0x6c , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 ,
0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x52 , 0x10 , 0x6d , 0x65 , 0x6c , 0x65 , 0x65 , 0x53 , 0x6b , 0x69 , 0x6c ,
0x6c , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 , 0x67 , 0x12 , 0x38 , 0x0a , 0x17 , 0x73 , 0x6e , 0x61 , 0x70 , 0x49 ,
0x6e , 0x74 , 0x6f , 0x50 , 0x6c , 0x61 , 0x74 , 0x66 , 0x6f , 0x72 , 0x6d , 0x4f , 0x76 , 0x65 , 0x72 , 0x6c ,
0x61 , 0x70 , 0x18 , 0x19 , 0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x17 , 0x73 , 0x6e , 0x61 , 0x70 , 0x49 , 0x6e ,
0x74 , 0x6f , 0x50 , 0x6c , 0x61 , 0x74 , 0x66 , 0x6f , 0x72 , 0x6d , 0x4f , 0x76 , 0x65 , 0x72 , 0x6c , 0x61 ,
0x70 , 0x12 , 0x3c , 0x0a , 0x19 , 0x73 , 0x6e , 0x61 , 0x70 , 0x49 , 0x6e , 0x74 , 0x6f , 0x50 , 0x6c , 0x61 ,
0x74 , 0x66 , 0x6f , 0x72 , 0x6d , 0x54 , 0x68 , 0x72 , 0x65 , 0x73 , 0x68 , 0x6f , 0x6c , 0x64 , 0x18 , 0x1a ,
0x20 , 0x01 , 0x28 , 0x01 , 0x52 , 0x19 , 0x73 , 0x6e , 0x61 , 0x70 , 0x49 , 0x6e , 0x74 , 0x6f , 0x50 , 0x6c ,
0x61 , 0x74 , 0x66 , 0x6f , 0x72 , 0x6d , 0x54 , 0x68 , 0x72 , 0x65 , 0x73 , 0x68 , 0x6f , 0x6c , 0x64 , 0x12 ,
0x28 , 0x0a , 0x0f , 0x6a , 0x75 , 0x6d , 0x70 , 0x69 , 0x6e , 0x67 , 0x49 , 0x6e , 0x69 , 0x74 , 0x56 , 0x65 ,
0x6c , 0x59 , 0x18 , 0x1b , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x0f , 0x6a , 0x75 , 0x6d , 0x70 , 0x69 , 0x6e ,
0x67 , 0x49 , 0x6e , 0x69 , 0x74 , 0x56 , 0x65 , 0x6c , 0x59 , 0x12 , 0x1a , 0x0a , 0x08 , 0x67 , 0x72 , 0x61 ,
0x76 , 0x69 , 0x74 , 0x79 , 0x58 , 0x18 , 0x1c , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x08 , 0x67 , 0x72 , 0x61 ,
0x76 , 0x69 , 0x74 , 0x79 , 0x58 , 0x12 , 0x1a , 0x0a , 0x08 , 0x67 , 0x72 , 0x61 , 0x76 , 0x69 , 0x74 , 0x79 ,
0x59 , 0x18 , 0x1d , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x08 , 0x67 , 0x72 , 0x61 , 0x76 , 0x69 , 0x74 , 0x79 ,
2022-12-25 12:17:22 +00:00
0x59 , 0x12 , 0x2a , 0x0a , 0x10 , 0x63 , 0x6f , 0x6c , 0x6c , 0x69 , 0x73 , 0x69 , 0x6f , 0x6e , 0x4d , 0x69 ,
0x6e , 0x53 , 0x74 , 0x65 , 0x70 , 0x18 , 0x1e , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x10 , 0x63 , 0x6f , 0x6c ,
0x6c , 0x69 , 0x73 , 0x69 , 0x6f , 0x6e , 0x4d , 0x69 , 0x6e , 0x53 , 0x74 , 0x65 , 0x70 , 0x1a , 0x58 , 0x0a ,
0x15 , 0x4d , 0x65 , 0x6c , 0x65 , 0x65 , 0x53 , 0x6b , 0x69 , 0x6c , 0x6c , 0x43 , 0x6f , 0x6e , 0x66 , 0x69 ,
0x67 , 0x45 , 0x6e , 0x74 , 0x72 , 0x79 , 0x12 , 0x10 , 0x0a , 0x03 , 0x6b , 0x65 , 0x79 , 0x18 , 0x01 , 0x20 ,
0x01 , 0x28 , 0x05 , 0x52 , 0x03 , 0x6b , 0x65 , 0x79 , 0x12 , 0x29 , 0x0a , 0x05 , 0x76 , 0x61 , 0x6c , 0x75 ,
0x65 , 0x18 , 0x02 , 0x20 , 0x01 , 0x28 , 0x0b , 0x32 , 0x13 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 ,
0x2e , 0x4d , 0x65 , 0x6c , 0x65 , 0x65 , 0x42 , 0x75 , 0x6c , 0x6c , 0x65 , 0x74 , 0x52 , 0x05 , 0x76 , 0x61 ,
0x6c , 0x75 , 0x65 , 0x3a , 0x02 , 0x38 , 0x01 , 0x22 , 0xa2 , 0x02 , 0x0a , 0x11 , 0x52 , 0x6f , 0x6f , 0x6d ,
0x44 , 0x6f , 0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x46 , 0x72 , 0x61 , 0x6d , 0x65 , 0x12 , 0x0e , 0x0a ,
0x02 , 0x69 , 0x64 , 0x18 , 0x01 , 0x20 , 0x01 , 0x28 , 0x05 , 0x52 , 0x02 , 0x69 , 0x64 , 0x12 , 0x36 , 0x0a ,
0x0a , 0x70 , 0x6c , 0x61 , 0x79 , 0x65 , 0x72 , 0x73 , 0x41 , 0x72 , 0x72 , 0x18 , 0x02 , 0x20 , 0x03 , 0x28 ,
0x0b , 0x32 , 0x16 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x50 , 0x6c , 0x61 , 0x79 , 0x65 ,
0x72 , 0x44 , 0x6f , 0x77 , 0x6e , 0x73 , 0x79 , 0x6e , 0x63 , 0x52 , 0x0a , 0x70 , 0x6c , 0x61 , 0x79 , 0x65 ,
0x72 , 0x73 , 0x41 , 0x72 , 0x72 , 0x12 , 0x26 , 0x0a , 0x0e , 0x63 , 0x6f , 0x75 , 0x6e , 0x74 , 0x64 , 0x6f ,
0x77 , 0x6e , 0x4e , 0x61 , 0x6e , 0x6f , 0x73 , 0x18 , 0x03 , 0x20 , 0x01 , 0x28 , 0x03 , 0x52 , 0x0e , 0x63 ,
0x6f , 0x75 , 0x6e , 0x74 , 0x64 , 0x6f , 0x77 , 0x6e , 0x4e , 0x61 , 0x6e , 0x6f , 0x73 , 0x12 , 0x37 , 0x0a ,
0x0c , 0x6d , 0x65 , 0x6c , 0x65 , 0x65 , 0x42 , 0x75 , 0x6c , 0x6c , 0x65 , 0x74 , 0x73 , 0x18 , 0x04 , 0x20 ,
0x03 , 0x28 , 0x0b , 0x32 , 0x13 , 0x2e , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x73 , 0x2e , 0x4d , 0x65 , 0x6c ,
0x65 , 0x65 , 0x42 , 0x75 , 0x6c , 0x6c , 0x65 , 0x74 , 0x52 , 0x0c , 0x6d , 0x65 , 0x6c , 0x65 , 0x65 , 0x42 ,
0x75 , 0x6c , 0x6c , 0x65 , 0x74 , 0x73 , 0x12 , 0x36 , 0x0a , 0x16 , 0x62 , 0x61 , 0x63 , 0x6b , 0x65 , 0x6e ,
0x64 , 0x55 , 0x6e , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x72 , 0x6d , 0x65 , 0x64 , 0x4d , 0x61 , 0x73 , 0x6b ,
0x18 , 0x05 , 0x20 , 0x01 , 0x28 , 0x04 , 0x52 , 0x16 , 0x62 , 0x61 , 0x63 , 0x6b , 0x65 , 0x6e , 0x64 , 0x55 ,
0x6e , 0x63 , 0x6f , 0x6e , 0x66 , 0x69 , 0x72 , 0x6d , 0x65 , 0x64 , 0x4d , 0x61 , 0x73 , 0x6b , 0x12 , 0x2c ,
0x0a , 0x11 , 0x73 , 0x68 , 0x6f , 0x75 , 0x6c , 0x64 , 0x46 , 0x6f , 0x72 , 0x63 , 0x65 , 0x52 , 0x65 , 0x73 ,
0x79 , 0x6e , 0x63 , 0x18 , 0x06 , 0x20 , 0x01 , 0x28 , 0x08 , 0x52 , 0x11 , 0x73 , 0x68 , 0x6f , 0x75 , 0x6c ,
0x64 , 0x46 , 0x6f , 0x72 , 0x63 , 0x65 , 0x52 , 0x65 , 0x73 , 0x79 , 0x6e , 0x63 , 0x42 , 0x13 , 0x5a , 0x11 ,
0x62 , 0x61 , 0x74 , 0x74 , 0x6c , 0x65 , 0x5f , 0x73 , 0x72 , 0x76 , 0x2f , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f ,
0x73 , 0x62 , 0x06 , 0x70 , 0x72 , 0x6f , 0x74 , 0x6f , 0x33 ,
2022-12-25 07:39:30 +00:00
}
var (
file_room_downsync_frame_proto_rawDescOnce sync . Once
file_room_downsync_frame_proto_rawDescData = file_room_downsync_frame_proto_rawDesc
)
func file_room_downsync_frame_proto_rawDescGZIP ( ) [ ] byte {
file_room_downsync_frame_proto_rawDescOnce . Do ( func ( ) {
file_room_downsync_frame_proto_rawDescData = protoimpl . X . CompressGZIP ( file_room_downsync_frame_proto_rawDescData )
} )
return file_room_downsync_frame_proto_rawDescData
}
2022-12-25 12:17:22 +00:00
var file_room_downsync_frame_proto_msgTypes = make ( [ ] protoimpl . MessageInfo , 12 )
2022-12-25 07:39:30 +00:00
var file_room_downsync_frame_proto_goTypes = [ ] interface { } {
( * PlayerDownsync ) ( nil ) , // 0: protos.PlayerDownsync
( * InputFrameDecoded ) ( nil ) , // 1: protos.InputFrameDecoded
( * InputFrameUpsync ) ( nil ) , // 2: protos.InputFrameUpsync
( * InputFrameDownsync ) ( nil ) , // 3: protos.InputFrameDownsync
( * HeartbeatUpsync ) ( nil ) , // 4: protos.HeartbeatUpsync
( * WsReq ) ( nil ) , // 5: protos.WsReq
( * WsResp ) ( nil ) , // 6: protos.WsResp
( * InputsBufferSnapshot ) ( nil ) , // 7: protos.InputsBufferSnapshot
( * MeleeBullet ) ( nil ) , // 8: protos.MeleeBullet
( * BattleColliderInfo ) ( nil ) , // 9: protos.BattleColliderInfo
( * RoomDownsyncFrame ) ( nil ) , // 10: protos.RoomDownsyncFrame
nil , // 11: protos.BattleColliderInfo.MeleeSkillConfigEntry
}
var file_room_downsync_frame_proto_depIdxs = [ ] int32 {
2 , // 0: protos.WsReq.inputFrameUpsyncBatch:type_name -> protos.InputFrameUpsync
4 , // 1: protos.WsReq.hb:type_name -> protos.HeartbeatUpsync
10 , // 2: protos.WsResp.rdf:type_name -> protos.RoomDownsyncFrame
3 , // 3: protos.WsResp.inputFrameDownsyncBatch:type_name -> protos.InputFrameDownsync
9 , // 4: protos.WsResp.bciFrame:type_name -> protos.BattleColliderInfo
3 , // 5: protos.InputsBufferSnapshot.toSendInputFrameDownsyncs:type_name -> protos.InputFrameDownsync
11 , // 6: protos.BattleColliderInfo.meleeSkillConfig:type_name -> protos.BattleColliderInfo.MeleeSkillConfigEntry
0 , // 7: protos.RoomDownsyncFrame.playersArr:type_name -> protos.PlayerDownsync
8 , // 8: protos.RoomDownsyncFrame.meleeBullets:type_name -> protos.MeleeBullet
2022-12-25 12:17:22 +00:00
8 , // 9: protos.BattleColliderInfo.MeleeSkillConfigEntry.value:type_name -> protos.MeleeBullet
10 , // [10:10] is the sub-list for method output_type
10 , // [10:10] is the sub-list for method input_type
10 , // [10:10] is the sub-list for extension type_name
10 , // [10:10] is the sub-list for extension extendee
0 , // [0:10] is the sub-list for field type_name
2022-12-25 07:39:30 +00:00
}
func init ( ) { file_room_downsync_frame_proto_init ( ) }
func file_room_downsync_frame_proto_init ( ) {
if File_room_downsync_frame_proto != nil {
return
}
if ! protoimpl . UnsafeEnabled {
file_room_downsync_frame_proto_msgTypes [ 0 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * PlayerDownsync ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 1 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * InputFrameDecoded ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 2 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * InputFrameUpsync ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 3 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * InputFrameDownsync ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 4 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * HeartbeatUpsync ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 5 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * WsReq ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 6 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * WsResp ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 7 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * InputsBufferSnapshot ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 8 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * MeleeBullet ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 9 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * BattleColliderInfo ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
file_room_downsync_frame_proto_msgTypes [ 10 ] . Exporter = func ( v interface { } , i int ) interface { } {
switch v := v . ( * RoomDownsyncFrame ) ; i {
case 0 :
return & v . state
case 1 :
return & v . sizeCache
case 2 :
return & v . unknownFields
default :
return nil
}
}
}
type x struct { }
out := protoimpl . TypeBuilder {
File : protoimpl . DescBuilder {
GoPackagePath : reflect . TypeOf ( x { } ) . PkgPath ( ) ,
RawDescriptor : file_room_downsync_frame_proto_rawDesc ,
NumEnums : 0 ,
2022-12-25 12:17:22 +00:00
NumMessages : 12 ,
2022-12-25 07:39:30 +00:00
NumExtensions : 0 ,
NumServices : 0 ,
} ,
GoTypes : file_room_downsync_frame_proto_goTypes ,
DependencyIndexes : file_room_downsync_frame_proto_depIdxs ,
MessageInfos : file_room_downsync_frame_proto_msgTypes ,
} . Build ( )
File_room_downsync_frame_proto = out . File
file_room_downsync_frame_proto_rawDesc = nil
file_room_downsync_frame_proto_goTypes = nil
file_room_downsync_frame_proto_depIdxs = nil
}