unsafe

package
v0.0.0-...-5dc18d7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2023 License: BSD-3-Clause Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_unsafe_unsafe_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type UnsafeTest

type UnsafeTest struct {

	// Types that are assignable to Sub:
	//
	//	*UnsafeTest_Sub1_
	//	*UnsafeTest_Sub2_
	//	*UnsafeTest_Sub3_
	//	*UnsafeTest_Sub4_
	Sub isUnsafeTest_Sub `protobuf_oneof:"sub"`
	// contains filtered or unexported fields
}

func (*UnsafeTest) CloneMessageVT

func (m *UnsafeTest) CloneMessageVT() proto.Message

func (*UnsafeTest) CloneVT

func (m *UnsafeTest) CloneVT() *UnsafeTest

func (*UnsafeTest) Descriptor deprecated

func (*UnsafeTest) Descriptor() ([]byte, []int)

Deprecated: Use UnsafeTest.ProtoReflect.Descriptor instead.

func (*UnsafeTest) EqualMessageVT

func (this *UnsafeTest) EqualMessageVT(thatMsg proto.Message) bool

func (*UnsafeTest) EqualVT

func (this *UnsafeTest) EqualVT(that *UnsafeTest) bool

func (*UnsafeTest) GetSub

func (m *UnsafeTest) GetSub() isUnsafeTest_Sub

func (*UnsafeTest) GetSub1

func (x *UnsafeTest) GetSub1() *UnsafeTest_Sub1

func (*UnsafeTest) GetSub2

func (x *UnsafeTest) GetSub2() *UnsafeTest_Sub2

func (*UnsafeTest) GetSub3

func (x *UnsafeTest) GetSub3() *UnsafeTest_Sub3

func (*UnsafeTest) GetSub4

func (x *UnsafeTest) GetSub4() *UnsafeTest_Sub4

func (*UnsafeTest) MarshalToSizedBufferVT

func (m *UnsafeTest) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest) MarshalToSizedBufferVTStrict

func (m *UnsafeTest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest) MarshalToVT

func (m *UnsafeTest) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest) MarshalToVTStrict

func (m *UnsafeTest) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest) MarshalVT

func (m *UnsafeTest) MarshalVT() (dAtA []byte, err error)

func (*UnsafeTest) MarshalVTStrict

func (m *UnsafeTest) MarshalVTStrict() (dAtA []byte, err error)

func (*UnsafeTest) ProtoMessage

func (*UnsafeTest) ProtoMessage()

func (*UnsafeTest) ProtoReflect

func (x *UnsafeTest) ProtoReflect() protoreflect.Message

func (*UnsafeTest) Reset

func (x *UnsafeTest) Reset()

func (*UnsafeTest) SizeVT

func (m *UnsafeTest) SizeVT() (n int)

func (*UnsafeTest) String

func (x *UnsafeTest) String() string

func (*UnsafeTest) UnmarshalVT

func (m *UnsafeTest) UnmarshalVT(dAtA []byte) error

func (*UnsafeTest) UnmarshalVTUnsafe

func (m *UnsafeTest) UnmarshalVTUnsafe(dAtA []byte) error

type UnsafeTest_Sub1

type UnsafeTest_Sub1 struct {
	S string `protobuf:"bytes,1,opt,name=s,proto3" json:"s,omitempty"`
	B []byte `protobuf:"bytes,2,opt,name=b,proto3" json:"b,omitempty"`
	// contains filtered or unexported fields
}

func (*UnsafeTest_Sub1) CloneMessageVT

func (m *UnsafeTest_Sub1) CloneMessageVT() proto.Message

func (*UnsafeTest_Sub1) CloneVT

func (m *UnsafeTest_Sub1) CloneVT() *UnsafeTest_Sub1

func (*UnsafeTest_Sub1) Descriptor deprecated

func (*UnsafeTest_Sub1) Descriptor() ([]byte, []int)

Deprecated: Use UnsafeTest_Sub1.ProtoReflect.Descriptor instead.

func (*UnsafeTest_Sub1) EqualMessageVT

func (this *UnsafeTest_Sub1) EqualMessageVT(thatMsg proto.Message) bool

func (*UnsafeTest_Sub1) EqualVT

func (this *UnsafeTest_Sub1) EqualVT(that *UnsafeTest_Sub1) bool

func (*UnsafeTest_Sub1) GetB

func (x *UnsafeTest_Sub1) GetB() []byte

func (*UnsafeTest_Sub1) GetS

func (x *UnsafeTest_Sub1) GetS() string

func (*UnsafeTest_Sub1) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub1) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub1) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub1) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub1) MarshalToVT

func (m *UnsafeTest_Sub1) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub1) MarshalToVTStrict

func (m *UnsafeTest_Sub1) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub1) MarshalVT

func (m *UnsafeTest_Sub1) MarshalVT() (dAtA []byte, err error)

func (*UnsafeTest_Sub1) MarshalVTStrict

func (m *UnsafeTest_Sub1) MarshalVTStrict() (dAtA []byte, err error)

func (*UnsafeTest_Sub1) ProtoMessage

func (*UnsafeTest_Sub1) ProtoMessage()

func (*UnsafeTest_Sub1) ProtoReflect

func (x *UnsafeTest_Sub1) ProtoReflect() protoreflect.Message

func (*UnsafeTest_Sub1) Reset

func (x *UnsafeTest_Sub1) Reset()

func (*UnsafeTest_Sub1) SizeVT

func (m *UnsafeTest_Sub1) SizeVT() (n int)

func (*UnsafeTest_Sub1) String

func (x *UnsafeTest_Sub1) String() string

func (*UnsafeTest_Sub1) UnmarshalVT

func (m *UnsafeTest_Sub1) UnmarshalVT(dAtA []byte) error

func (*UnsafeTest_Sub1) UnmarshalVTUnsafe

func (m *UnsafeTest_Sub1) UnmarshalVTUnsafe(dAtA []byte) error

type UnsafeTest_Sub1_

type UnsafeTest_Sub1_ struct {
	Sub1 *UnsafeTest_Sub1 `protobuf:"bytes,1,opt,name=sub1,proto3,oneof"`
}

func (*UnsafeTest_Sub1_) CloneVT

func (m *UnsafeTest_Sub1_) CloneVT() isUnsafeTest_Sub

func (*UnsafeTest_Sub1_) EqualVT

func (this *UnsafeTest_Sub1_) EqualVT(thatIface isUnsafeTest_Sub) bool

func (*UnsafeTest_Sub1_) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub1_) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub1_) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub1_) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub1_) MarshalToVT

func (m *UnsafeTest_Sub1_) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub1_) MarshalToVTStrict

func (m *UnsafeTest_Sub1_) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub1_) SizeVT

func (m *UnsafeTest_Sub1_) SizeVT() (n int)

type UnsafeTest_Sub2

type UnsafeTest_Sub2 struct {
	S []string `protobuf:"bytes,1,rep,name=s,proto3" json:"s,omitempty"`
	B [][]byte `protobuf:"bytes,2,rep,name=b,proto3" json:"b,omitempty"`
	// contains filtered or unexported fields
}

func (*UnsafeTest_Sub2) CloneMessageVT

func (m *UnsafeTest_Sub2) CloneMessageVT() proto.Message

func (*UnsafeTest_Sub2) CloneVT

func (m *UnsafeTest_Sub2) CloneVT() *UnsafeTest_Sub2

func (*UnsafeTest_Sub2) Descriptor deprecated

func (*UnsafeTest_Sub2) Descriptor() ([]byte, []int)

Deprecated: Use UnsafeTest_Sub2.ProtoReflect.Descriptor instead.

func (*UnsafeTest_Sub2) EqualMessageVT

func (this *UnsafeTest_Sub2) EqualMessageVT(thatMsg proto.Message) bool

func (*UnsafeTest_Sub2) EqualVT

func (this *UnsafeTest_Sub2) EqualVT(that *UnsafeTest_Sub2) bool

func (*UnsafeTest_Sub2) GetB

func (x *UnsafeTest_Sub2) GetB() [][]byte

func (*UnsafeTest_Sub2) GetS

func (x *UnsafeTest_Sub2) GetS() []string

func (*UnsafeTest_Sub2) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub2) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub2) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub2) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub2) MarshalToVT

func (m *UnsafeTest_Sub2) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub2) MarshalToVTStrict

func (m *UnsafeTest_Sub2) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub2) MarshalVT

func (m *UnsafeTest_Sub2) MarshalVT() (dAtA []byte, err error)

func (*UnsafeTest_Sub2) MarshalVTStrict

func (m *UnsafeTest_Sub2) MarshalVTStrict() (dAtA []byte, err error)

func (*UnsafeTest_Sub2) ProtoMessage

func (*UnsafeTest_Sub2) ProtoMessage()

func (*UnsafeTest_Sub2) ProtoReflect

func (x *UnsafeTest_Sub2) ProtoReflect() protoreflect.Message

func (*UnsafeTest_Sub2) Reset

func (x *UnsafeTest_Sub2) Reset()

func (*UnsafeTest_Sub2) SizeVT

func (m *UnsafeTest_Sub2) SizeVT() (n int)

func (*UnsafeTest_Sub2) String

func (x *UnsafeTest_Sub2) String() string

func (*UnsafeTest_Sub2) UnmarshalVT

func (m *UnsafeTest_Sub2) UnmarshalVT(dAtA []byte) error

func (*UnsafeTest_Sub2) UnmarshalVTUnsafe

func (m *UnsafeTest_Sub2) UnmarshalVTUnsafe(dAtA []byte) error

type UnsafeTest_Sub2_

type UnsafeTest_Sub2_ struct {
	Sub2 *UnsafeTest_Sub2 `protobuf:"bytes,2,opt,name=sub2,proto3,oneof"`
}

func (*UnsafeTest_Sub2_) CloneVT

func (m *UnsafeTest_Sub2_) CloneVT() isUnsafeTest_Sub

func (*UnsafeTest_Sub2_) EqualVT

func (this *UnsafeTest_Sub2_) EqualVT(thatIface isUnsafeTest_Sub) bool

func (*UnsafeTest_Sub2_) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub2_) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub2_) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub2_) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub2_) MarshalToVT

func (m *UnsafeTest_Sub2_) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub2_) MarshalToVTStrict

func (m *UnsafeTest_Sub2_) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub2_) SizeVT

func (m *UnsafeTest_Sub2_) SizeVT() (n int)

type UnsafeTest_Sub3

type UnsafeTest_Sub3 struct {
	Foo map[string][]byte `` /* 147-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*UnsafeTest_Sub3) CloneMessageVT

func (m *UnsafeTest_Sub3) CloneMessageVT() proto.Message

func (*UnsafeTest_Sub3) CloneVT

func (m *UnsafeTest_Sub3) CloneVT() *UnsafeTest_Sub3

func (*UnsafeTest_Sub3) Descriptor deprecated

func (*UnsafeTest_Sub3) Descriptor() ([]byte, []int)

Deprecated: Use UnsafeTest_Sub3.ProtoReflect.Descriptor instead.

func (*UnsafeTest_Sub3) EqualMessageVT

func (this *UnsafeTest_Sub3) EqualMessageVT(thatMsg proto.Message) bool

func (*UnsafeTest_Sub3) EqualVT

func (this *UnsafeTest_Sub3) EqualVT(that *UnsafeTest_Sub3) bool

func (*UnsafeTest_Sub3) GetFoo

func (x *UnsafeTest_Sub3) GetFoo() map[string][]byte

func (*UnsafeTest_Sub3) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub3) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub3) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub3) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub3) MarshalToVT

func (m *UnsafeTest_Sub3) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub3) MarshalToVTStrict

func (m *UnsafeTest_Sub3) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub3) MarshalVT

func (m *UnsafeTest_Sub3) MarshalVT() (dAtA []byte, err error)

func (*UnsafeTest_Sub3) MarshalVTStrict

func (m *UnsafeTest_Sub3) MarshalVTStrict() (dAtA []byte, err error)

func (*UnsafeTest_Sub3) ProtoMessage

func (*UnsafeTest_Sub3) ProtoMessage()

func (*UnsafeTest_Sub3) ProtoReflect

func (x *UnsafeTest_Sub3) ProtoReflect() protoreflect.Message

func (*UnsafeTest_Sub3) Reset

func (x *UnsafeTest_Sub3) Reset()

func (*UnsafeTest_Sub3) SizeVT

func (m *UnsafeTest_Sub3) SizeVT() (n int)

func (*UnsafeTest_Sub3) String

func (x *UnsafeTest_Sub3) String() string

func (*UnsafeTest_Sub3) UnmarshalVT

func (m *UnsafeTest_Sub3) UnmarshalVT(dAtA []byte) error

func (*UnsafeTest_Sub3) UnmarshalVTUnsafe

func (m *UnsafeTest_Sub3) UnmarshalVTUnsafe(dAtA []byte) error

type UnsafeTest_Sub3_

type UnsafeTest_Sub3_ struct {
	Sub3 *UnsafeTest_Sub3 `protobuf:"bytes,3,opt,name=sub3,proto3,oneof"`
}

func (*UnsafeTest_Sub3_) CloneVT

func (m *UnsafeTest_Sub3_) CloneVT() isUnsafeTest_Sub

func (*UnsafeTest_Sub3_) EqualVT

func (this *UnsafeTest_Sub3_) EqualVT(thatIface isUnsafeTest_Sub) bool

func (*UnsafeTest_Sub3_) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub3_) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub3_) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub3_) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub3_) MarshalToVT

func (m *UnsafeTest_Sub3_) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub3_) MarshalToVTStrict

func (m *UnsafeTest_Sub3_) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub3_) SizeVT

func (m *UnsafeTest_Sub3_) SizeVT() (n int)

type UnsafeTest_Sub4

type UnsafeTest_Sub4 struct {

	// Types that are assignable to Foo:
	//
	//	*UnsafeTest_Sub4_S
	//	*UnsafeTest_Sub4_B
	Foo isUnsafeTest_Sub4_Foo `protobuf_oneof:"foo"`
	// contains filtered or unexported fields
}

func (*UnsafeTest_Sub4) CloneMessageVT

func (m *UnsafeTest_Sub4) CloneMessageVT() proto.Message

func (*UnsafeTest_Sub4) CloneVT

func (m *UnsafeTest_Sub4) CloneVT() *UnsafeTest_Sub4

func (*UnsafeTest_Sub4) Descriptor deprecated

func (*UnsafeTest_Sub4) Descriptor() ([]byte, []int)

Deprecated: Use UnsafeTest_Sub4.ProtoReflect.Descriptor instead.

func (*UnsafeTest_Sub4) EqualMessageVT

func (this *UnsafeTest_Sub4) EqualMessageVT(thatMsg proto.Message) bool

func (*UnsafeTest_Sub4) EqualVT

func (this *UnsafeTest_Sub4) EqualVT(that *UnsafeTest_Sub4) bool

func (*UnsafeTest_Sub4) GetB

func (x *UnsafeTest_Sub4) GetB() []byte

func (*UnsafeTest_Sub4) GetFoo

func (m *UnsafeTest_Sub4) GetFoo() isUnsafeTest_Sub4_Foo

func (*UnsafeTest_Sub4) GetS

func (x *UnsafeTest_Sub4) GetS() string

func (*UnsafeTest_Sub4) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub4) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub4) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4) MarshalToVT

func (m *UnsafeTest_Sub4) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4) MarshalToVTStrict

func (m *UnsafeTest_Sub4) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4) MarshalVT

func (m *UnsafeTest_Sub4) MarshalVT() (dAtA []byte, err error)

func (*UnsafeTest_Sub4) MarshalVTStrict

func (m *UnsafeTest_Sub4) MarshalVTStrict() (dAtA []byte, err error)

func (*UnsafeTest_Sub4) ProtoMessage

func (*UnsafeTest_Sub4) ProtoMessage()

func (*UnsafeTest_Sub4) ProtoReflect

func (x *UnsafeTest_Sub4) ProtoReflect() protoreflect.Message

func (*UnsafeTest_Sub4) Reset

func (x *UnsafeTest_Sub4) Reset()

func (*UnsafeTest_Sub4) SizeVT

func (m *UnsafeTest_Sub4) SizeVT() (n int)

func (*UnsafeTest_Sub4) String

func (x *UnsafeTest_Sub4) String() string

func (*UnsafeTest_Sub4) UnmarshalVT

func (m *UnsafeTest_Sub4) UnmarshalVT(dAtA []byte) error

func (*UnsafeTest_Sub4) UnmarshalVTUnsafe

func (m *UnsafeTest_Sub4) UnmarshalVTUnsafe(dAtA []byte) error

type UnsafeTest_Sub4_

type UnsafeTest_Sub4_ struct {
	Sub4 *UnsafeTest_Sub4 `protobuf:"bytes,4,opt,name=sub4,proto3,oneof"`
}

func (*UnsafeTest_Sub4_) CloneVT

func (m *UnsafeTest_Sub4_) CloneVT() isUnsafeTest_Sub

func (*UnsafeTest_Sub4_) EqualVT

func (this *UnsafeTest_Sub4_) EqualVT(thatIface isUnsafeTest_Sub) bool

func (*UnsafeTest_Sub4_) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub4_) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub4_) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_) MarshalToVT

func (m *UnsafeTest_Sub4_) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_) MarshalToVTStrict

func (m *UnsafeTest_Sub4_) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_) SizeVT

func (m *UnsafeTest_Sub4_) SizeVT() (n int)

type UnsafeTest_Sub4_B

type UnsafeTest_Sub4_B struct {
	B []byte `protobuf:"bytes,2,opt,name=b,proto3,oneof"`
}

func (*UnsafeTest_Sub4_B) CloneVT

func (m *UnsafeTest_Sub4_B) CloneVT() isUnsafeTest_Sub4_Foo

func (*UnsafeTest_Sub4_B) EqualVT

func (this *UnsafeTest_Sub4_B) EqualVT(thatIface isUnsafeTest_Sub4_Foo) bool

func (*UnsafeTest_Sub4_B) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub4_B) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_B) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub4_B) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_B) MarshalToVT

func (m *UnsafeTest_Sub4_B) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_B) MarshalToVTStrict

func (m *UnsafeTest_Sub4_B) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_B) SizeVT

func (m *UnsafeTest_Sub4_B) SizeVT() (n int)

type UnsafeTest_Sub4_S

type UnsafeTest_Sub4_S struct {
	S string `protobuf:"bytes,1,opt,name=s,proto3,oneof"`
}

func (*UnsafeTest_Sub4_S) CloneVT

func (m *UnsafeTest_Sub4_S) CloneVT() isUnsafeTest_Sub4_Foo

func (*UnsafeTest_Sub4_S) EqualVT

func (this *UnsafeTest_Sub4_S) EqualVT(thatIface isUnsafeTest_Sub4_Foo) bool

func (*UnsafeTest_Sub4_S) MarshalToSizedBufferVT

func (m *UnsafeTest_Sub4_S) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_S) MarshalToSizedBufferVTStrict

func (m *UnsafeTest_Sub4_S) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_S) MarshalToVT

func (m *UnsafeTest_Sub4_S) MarshalToVT(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_S) MarshalToVTStrict

func (m *UnsafeTest_Sub4_S) MarshalToVTStrict(dAtA []byte) (int, error)

func (*UnsafeTest_Sub4_S) SizeVT

func (m *UnsafeTest_Sub4_S) SizeVT() (n int)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL