// Code generated by protoc-gen-go. DO NOT EDIT.
// source: def.proto

package proto

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type AdReplyInfo_AD_REPLY_INFO_MEDIATYPE int32

const (
	AdReplyInfo_NONE  AdReplyInfo_AD_REPLY_INFO_MEDIATYPE = 0
	AdReplyInfo_IMAGE AdReplyInfo_AD_REPLY_INFO_MEDIATYPE = 1
	AdReplyInfo_VIDEO AdReplyInfo_AD_REPLY_INFO_MEDIATYPE = 2
)

var AdReplyInfo_AD_REPLY_INFO_MEDIATYPE_name = map[int32]string{
	0: "NONE",
	1: "IMAGE",
	2: "VIDEO",
}

var AdReplyInfo_AD_REPLY_INFO_MEDIATYPE_value = map[string]int32{
	"NONE":  0,
	"IMAGE": 1,
	"VIDEO": 2,
}

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

func (x AdReplyInfo_AD_REPLY_INFO_MEDIATYPE) String() string {
	return proto.EnumName(AdReplyInfo_AD_REPLY_INFO_MEDIATYPE_name, int32(x))
}

func (x *AdReplyInfo_AD_REPLY_INFO_MEDIATYPE) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(AdReplyInfo_AD_REPLY_INFO_MEDIATYPE_value, data, "AdReplyInfo_AD_REPLY_INFO_MEDIATYPE")
	if err != nil {
		return err
	}
	*x = AdReplyInfo_AD_REPLY_INFO_MEDIATYPE(value)
	return nil
}

func (AdReplyInfo_AD_REPLY_INFO_MEDIATYPE) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{11, 0}
}

type ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE int32

const (
	ExtendedTextMessage_SANS_SERIF        ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE = 0
	ExtendedTextMessage_SERIF             ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE = 1
	ExtendedTextMessage_NORICAN_REGULAR   ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE = 2
	ExtendedTextMessage_BRYNDAN_WRITE     ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE = 3
	ExtendedTextMessage_BEBASNEUE_REGULAR ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE = 4
	ExtendedTextMessage_OSWALD_HEAVY      ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE = 5
)

var ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE_name = map[int32]string{
	0: "SANS_SERIF",
	1: "SERIF",
	2: "NORICAN_REGULAR",
	3: "BRYNDAN_WRITE",
	4: "BEBASNEUE_REGULAR",
	5: "OSWALD_HEAVY",
}

var ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE_value = map[string]int32{
	"SANS_SERIF":        0,
	"SERIF":             1,
	"NORICAN_REGULAR":   2,
	"BRYNDAN_WRITE":     3,
	"BEBASNEUE_REGULAR": 4,
	"OSWALD_HEAVY":      5,
}

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

func (x ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE) String() string {
	return proto.EnumName(ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE_name, int32(x))
}

func (x *ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE_value, data, "ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE")
	if err != nil {
		return err
	}
	*x = ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE(value)
	return nil
}

func (ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{17, 0}
}

type ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE int32

const (
	ExtendedTextMessage_NONE  ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE = 0
	ExtendedTextMessage_VIDEO ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE = 1
)

var ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE_name = map[int32]string{
	0: "NONE",
	1: "VIDEO",
}

var ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE_value = map[string]int32{
	"NONE":  0,
	"VIDEO": 1,
}

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

func (x ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE) String() string {
	return proto.EnumName(ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE_name, int32(x))
}

func (x *ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE_value, data, "ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE")
	if err != nil {
		return err
	}
	*x = ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE(value)
	return nil
}

func (ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{17, 1}
}

type VideoMessage_VIDEO_MESSAGE_ATTRIBUTION int32

const (
	VideoMessage_NONE  VideoMessage_VIDEO_MESSAGE_ATTRIBUTION = 0
	VideoMessage_GIPHY VideoMessage_VIDEO_MESSAGE_ATTRIBUTION = 1
	VideoMessage_TENOR VideoMessage_VIDEO_MESSAGE_ATTRIBUTION = 2
)

var VideoMessage_VIDEO_MESSAGE_ATTRIBUTION_name = map[int32]string{
	0: "NONE",
	1: "GIPHY",
	2: "TENOR",
}

var VideoMessage_VIDEO_MESSAGE_ATTRIBUTION_value = map[string]int32{
	"NONE":  0,
	"GIPHY": 1,
	"TENOR": 2,
}

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

func (x VideoMessage_VIDEO_MESSAGE_ATTRIBUTION) String() string {
	return proto.EnumName(VideoMessage_VIDEO_MESSAGE_ATTRIBUTION_name, int32(x))
}

func (x *VideoMessage_VIDEO_MESSAGE_ATTRIBUTION) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(VideoMessage_VIDEO_MESSAGE_ATTRIBUTION_value, data, "VideoMessage_VIDEO_MESSAGE_ATTRIBUTION")
	if err != nil {
		return err
	}
	*x = VideoMessage_VIDEO_MESSAGE_ATTRIBUTION(value)
	return nil
}

func (VideoMessage_VIDEO_MESSAGE_ATTRIBUTION) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{20, 0}
}

type ProtocolMessage_PROTOCOL_MESSAGE_TYPE int32

const (
	ProtocolMessage_REVOKE                    ProtocolMessage_PROTOCOL_MESSAGE_TYPE = 0
	ProtocolMessage_EPHEMERAL_SETTING         ProtocolMessage_PROTOCOL_MESSAGE_TYPE = 3
	ProtocolMessage_EPHEMERAL_SYNC_RESPONSE   ProtocolMessage_PROTOCOL_MESSAGE_TYPE = 4
	ProtocolMessage_HISTORY_SYNC_NOTIFICATION ProtocolMessage_PROTOCOL_MESSAGE_TYPE = 5
)

var ProtocolMessage_PROTOCOL_MESSAGE_TYPE_name = map[int32]string{
	0: "REVOKE",
	3: "EPHEMERAL_SETTING",
	4: "EPHEMERAL_SYNC_RESPONSE",
	5: "HISTORY_SYNC_NOTIFICATION",
}

var ProtocolMessage_PROTOCOL_MESSAGE_TYPE_value = map[string]int32{
	"REVOKE":                    0,
	"EPHEMERAL_SETTING":         3,
	"EPHEMERAL_SYNC_RESPONSE":   4,
	"HISTORY_SYNC_NOTIFICATION": 5,
}

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

func (x ProtocolMessage_PROTOCOL_MESSAGE_TYPE) String() string {
	return proto.EnumName(ProtocolMessage_PROTOCOL_MESSAGE_TYPE_name, int32(x))
}

func (x *ProtocolMessage_PROTOCOL_MESSAGE_TYPE) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(ProtocolMessage_PROTOCOL_MESSAGE_TYPE_value, data, "ProtocolMessage_PROTOCOL_MESSAGE_TYPE")
	if err != nil {
		return err
	}
	*x = ProtocolMessage_PROTOCOL_MESSAGE_TYPE(value)
	return nil
}

func (ProtocolMessage_PROTOCOL_MESSAGE_TYPE) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{23, 0}
}

type HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE int32

const (
	HistorySyncNotification_INITIAL_BOOTSTRAP HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE = 0
	HistorySyncNotification_INITIAL_STATUS_V3 HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE = 1
	HistorySyncNotification_FULL              HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE = 2
	HistorySyncNotification_RECENT            HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE = 3
)

var HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE_name = map[int32]string{
	0: "INITIAL_BOOTSTRAP",
	1: "INITIAL_STATUS_V3",
	2: "FULL",
	3: "RECENT",
}

var HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE_value = map[string]int32{
	"INITIAL_BOOTSTRAP": 0,
	"INITIAL_STATUS_V3": 1,
	"FULL":              2,
	"RECENT":            3,
}

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

func (x HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE) String() string {
	return proto.EnumName(HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE_name, int32(x))
}

func (x *HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE_value, data, "HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE")
	if err != nil {
		return err
	}
	*x = HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE(value)
	return nil
}

func (HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{24, 0}
}

type HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE int32

const (
	HSMDateTimeComponent_MONDAY    HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE = 1
	HSMDateTimeComponent_TUESDAY   HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE = 2
	HSMDateTimeComponent_WEDNESDAY HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE = 3
	HSMDateTimeComponent_THURSDAY  HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE = 4
	HSMDateTimeComponent_FRIDAY    HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE = 5
	HSMDateTimeComponent_SATURDAY  HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE = 6
	HSMDateTimeComponent_SUNDAY    HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE = 7
)

var HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE_name = map[int32]string{
	1: "MONDAY",
	2: "TUESDAY",
	3: "WEDNESDAY",
	4: "THURSDAY",
	5: "FRIDAY",
	6: "SATURDAY",
	7: "SUNDAY",
}

var HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE_value = map[string]int32{
	"MONDAY":    1,
	"TUESDAY":   2,
	"WEDNESDAY": 3,
	"THURSDAY":  4,
	"FRIDAY":    5,
	"SATURDAY":  6,
	"SUNDAY":    7,
}

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

func (x HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE) String() string {
	return proto.EnumName(HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE_name, int32(x))
}

func (x *HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE_value, data, "HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE")
	if err != nil {
		return err
	}
	*x = HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE(value)
	return nil
}

func (HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{27, 0}
}

type HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE int32

const (
	HSMDateTimeComponent_GREGORIAN   HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE = 1
	HSMDateTimeComponent_SOLAR_HIJRI HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE = 2
)

var HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE_name = map[int32]string{
	1: "GREGORIAN",
	2: "SOLAR_HIJRI",
}

var HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE_value = map[string]int32{
	"GREGORIAN":   1,
	"SOLAR_HIJRI": 2,
}

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

func (x HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE) String() string {
	return proto.EnumName(HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE_name, int32(x))
}

func (x *HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE_value, data, "HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE")
	if err != nil {
		return err
	}
	*x = HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE(value)
	return nil
}

func (HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{27, 1}
}

type WebFeatures_WEB_FEATURES_FLAG int32

const (
	WebFeatures_NOT_STARTED   WebFeatures_WEB_FEATURES_FLAG = 0
	WebFeatures_FORCE_UPGRADE WebFeatures_WEB_FEATURES_FLAG = 1
	WebFeatures_DEVELOPMENT   WebFeatures_WEB_FEATURES_FLAG = 2
	WebFeatures_PRODUCTION    WebFeatures_WEB_FEATURES_FLAG = 3
)

var WebFeatures_WEB_FEATURES_FLAG_name = map[int32]string{
	0: "NOT_STARTED",
	1: "FORCE_UPGRADE",
	2: "DEVELOPMENT",
	3: "PRODUCTION",
}

var WebFeatures_WEB_FEATURES_FLAG_value = map[string]int32{
	"NOT_STARTED":   0,
	"FORCE_UPGRADE": 1,
	"DEVELOPMENT":   2,
	"PRODUCTION":    3,
}

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

func (x WebFeatures_WEB_FEATURES_FLAG) String() string {
	return proto.EnumName(WebFeatures_WEB_FEATURES_FLAG_name, int32(x))
}

func (x *WebFeatures_WEB_FEATURES_FLAG) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(WebFeatures_WEB_FEATURES_FLAG_value, data, "WebFeatures_WEB_FEATURES_FLAG")
	if err != nil {
		return err
	}
	*x = WebFeatures_WEB_FEATURES_FLAG(value)
	return nil
}

func (WebFeatures_WEB_FEATURES_FLAG) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{50, 0}
}

type PaymentInfo_PAYMENT_INFO_CURRENCY int32

const (
	PaymentInfo_UNKNOWN_CURRENCY PaymentInfo_PAYMENT_INFO_CURRENCY = 0
	PaymentInfo_INR              PaymentInfo_PAYMENT_INFO_CURRENCY = 1
)

var PaymentInfo_PAYMENT_INFO_CURRENCY_name = map[int32]string{
	0: "UNKNOWN_CURRENCY",
	1: "INR",
}

var PaymentInfo_PAYMENT_INFO_CURRENCY_value = map[string]int32{
	"UNKNOWN_CURRENCY": 0,
	"INR":              1,
}

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

func (x PaymentInfo_PAYMENT_INFO_CURRENCY) String() string {
	return proto.EnumName(PaymentInfo_PAYMENT_INFO_CURRENCY_name, int32(x))
}

func (x *PaymentInfo_PAYMENT_INFO_CURRENCY) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(PaymentInfo_PAYMENT_INFO_CURRENCY_value, data, "PaymentInfo_PAYMENT_INFO_CURRENCY")
	if err != nil {
		return err
	}
	*x = PaymentInfo_PAYMENT_INFO_CURRENCY(value)
	return nil
}

func (PaymentInfo_PAYMENT_INFO_CURRENCY) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{54, 0}
}

type PaymentInfo_PAYMENT_INFO_STATUS int32

const (
	PaymentInfo_UNKNOWN_STATUS     PaymentInfo_PAYMENT_INFO_STATUS = 0
	PaymentInfo_PROCESSING         PaymentInfo_PAYMENT_INFO_STATUS = 1
	PaymentInfo_SENT               PaymentInfo_PAYMENT_INFO_STATUS = 2
	PaymentInfo_NEED_TO_ACCEPT     PaymentInfo_PAYMENT_INFO_STATUS = 3
	PaymentInfo_COMPLETE           PaymentInfo_PAYMENT_INFO_STATUS = 4
	PaymentInfo_COULD_NOT_COMPLETE PaymentInfo_PAYMENT_INFO_STATUS = 5
	PaymentInfo_REFUNDED           PaymentInfo_PAYMENT_INFO_STATUS = 6
	PaymentInfo_EXPIRED            PaymentInfo_PAYMENT_INFO_STATUS = 7
	PaymentInfo_REJECTED           PaymentInfo_PAYMENT_INFO_STATUS = 8
	PaymentInfo_CANCELLED          PaymentInfo_PAYMENT_INFO_STATUS = 9
	PaymentInfo_WAITING_FOR_PAYER  PaymentInfo_PAYMENT_INFO_STATUS = 10
	PaymentInfo_WAITING            PaymentInfo_PAYMENT_INFO_STATUS = 11
)

var PaymentInfo_PAYMENT_INFO_STATUS_name = map[int32]string{
	0:  "UNKNOWN_STATUS",
	1:  "PROCESSING",
	2:  "SENT",
	3:  "NEED_TO_ACCEPT",
	4:  "COMPLETE",
	5:  "COULD_NOT_COMPLETE",
	6:  "REFUNDED",
	7:  "EXPIRED",
	8:  "REJECTED",
	9:  "CANCELLED",
	10: "WAITING_FOR_PAYER",
	11: "WAITING",
}

var PaymentInfo_PAYMENT_INFO_STATUS_value = map[string]int32{
	"UNKNOWN_STATUS":     0,
	"PROCESSING":         1,
	"SENT":               2,
	"NEED_TO_ACCEPT":     3,
	"COMPLETE":           4,
	"COULD_NOT_COMPLETE": 5,
	"REFUNDED":           6,
	"EXPIRED":            7,
	"REJECTED":           8,
	"CANCELLED":          9,
	"WAITING_FOR_PAYER":  10,
	"WAITING":            11,
}

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

func (x PaymentInfo_PAYMENT_INFO_STATUS) String() string {
	return proto.EnumName(PaymentInfo_PAYMENT_INFO_STATUS_name, int32(x))
}

func (x *PaymentInfo_PAYMENT_INFO_STATUS) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(PaymentInfo_PAYMENT_INFO_STATUS_value, data, "PaymentInfo_PAYMENT_INFO_STATUS")
	if err != nil {
		return err
	}
	*x = PaymentInfo_PAYMENT_INFO_STATUS(value)
	return nil
}

func (PaymentInfo_PAYMENT_INFO_STATUS) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{54, 1}
}

type PaymentInfo_PAYMENT_INFO_TXNSTATUS int32

const (
	PaymentInfo_UNKNOWN                       PaymentInfo_PAYMENT_INFO_TXNSTATUS = 0
	PaymentInfo_PENDING_SETUP                 PaymentInfo_PAYMENT_INFO_TXNSTATUS = 1
	PaymentInfo_PENDING_RECEIVER_SETUP        PaymentInfo_PAYMENT_INFO_TXNSTATUS = 2
	PaymentInfo_INIT                          PaymentInfo_PAYMENT_INFO_TXNSTATUS = 3
	PaymentInfo_SUCCESS                       PaymentInfo_PAYMENT_INFO_TXNSTATUS = 4
	PaymentInfo_COMPLETED                     PaymentInfo_PAYMENT_INFO_TXNSTATUS = 5
	PaymentInfo_FAILED                        PaymentInfo_PAYMENT_INFO_TXNSTATUS = 6
	PaymentInfo_FAILED_RISK                   PaymentInfo_PAYMENT_INFO_TXNSTATUS = 7
	PaymentInfo_FAILED_PROCESSING             PaymentInfo_PAYMENT_INFO_TXNSTATUS = 8
	PaymentInfo_FAILED_RECEIVER_PROCESSING    PaymentInfo_PAYMENT_INFO_TXNSTATUS = 9
	PaymentInfo_FAILED_DA                     PaymentInfo_PAYMENT_INFO_TXNSTATUS = 10
	PaymentInfo_FAILED_DA_FINAL               PaymentInfo_PAYMENT_INFO_TXNSTATUS = 11
	PaymentInfo_REFUNDED_TXN                  PaymentInfo_PAYMENT_INFO_TXNSTATUS = 12
	PaymentInfo_REFUND_FAILED                 PaymentInfo_PAYMENT_INFO_TXNSTATUS = 13
	PaymentInfo_REFUND_FAILED_PROCESSING      PaymentInfo_PAYMENT_INFO_TXNSTATUS = 14
	PaymentInfo_REFUND_FAILED_DA              PaymentInfo_PAYMENT_INFO_TXNSTATUS = 15
	PaymentInfo_EXPIRED_TXN                   PaymentInfo_PAYMENT_INFO_TXNSTATUS = 16
	PaymentInfo_AUTH_CANCELED                 PaymentInfo_PAYMENT_INFO_TXNSTATUS = 17
	PaymentInfo_AUTH_CANCEL_FAILED_PROCESSING PaymentInfo_PAYMENT_INFO_TXNSTATUS = 18
	PaymentInfo_AUTH_CANCEL_FAILED            PaymentInfo_PAYMENT_INFO_TXNSTATUS = 19
	PaymentInfo_COLLECT_INIT                  PaymentInfo_PAYMENT_INFO_TXNSTATUS = 20
	PaymentInfo_COLLECT_SUCCESS               PaymentInfo_PAYMENT_INFO_TXNSTATUS = 21
	PaymentInfo_COLLECT_FAILED                PaymentInfo_PAYMENT_INFO_TXNSTATUS = 22
	PaymentInfo_COLLECT_FAILED_RISK           PaymentInfo_PAYMENT_INFO_TXNSTATUS = 23
	PaymentInfo_COLLECT_REJECTED              PaymentInfo_PAYMENT_INFO_TXNSTATUS = 24
	PaymentInfo_COLLECT_EXPIRED               PaymentInfo_PAYMENT_INFO_TXNSTATUS = 25
	PaymentInfo_COLLECT_CANCELED              PaymentInfo_PAYMENT_INFO_TXNSTATUS = 26
	PaymentInfo_COLLECT_CANCELLING            PaymentInfo_PAYMENT_INFO_TXNSTATUS = 27
)

var PaymentInfo_PAYMENT_INFO_TXNSTATUS_name = map[int32]string{
	0:  "UNKNOWN",
	1:  "PENDING_SETUP",
	2:  "PENDING_RECEIVER_SETUP",
	3:  "INIT",
	4:  "SUCCESS",
	5:  "COMPLETED",
	6:  "FAILED",
	7:  "FAILED_RISK",
	8:  "FAILED_PROCESSING",
	9:  "FAILED_RECEIVER_PROCESSING",
	10: "FAILED_DA",
	11: "FAILED_DA_FINAL",
	12: "REFUNDED_TXN",
	13: "REFUND_FAILED",
	14: "REFUND_FAILED_PROCESSING",
	15: "REFUND_FAILED_DA",
	16: "EXPIRED_TXN",
	17: "AUTH_CANCELED",
	18: "AUTH_CANCEL_FAILED_PROCESSING",
	19: "AUTH_CANCEL_FAILED",
	20: "COLLECT_INIT",
	21: "COLLECT_SUCCESS",
	22: "COLLECT_FAILED",
	23: "COLLECT_FAILED_RISK",
	24: "COLLECT_REJECTED",
	25: "COLLECT_EXPIRED",
	26: "COLLECT_CANCELED",
	27: "COLLECT_CANCELLING",
}

var PaymentInfo_PAYMENT_INFO_TXNSTATUS_value = map[string]int32{
	"UNKNOWN":                       0,
	"PENDING_SETUP":                 1,
	"PENDING_RECEIVER_SETUP":        2,
	"INIT":                          3,
	"SUCCESS":                       4,
	"COMPLETED":                     5,
	"FAILED":                        6,
	"FAILED_RISK":                   7,
	"FAILED_PROCESSING":             8,
	"FAILED_RECEIVER_PROCESSING":    9,
	"FAILED_DA":                     10,
	"FAILED_DA_FINAL":               11,
	"REFUNDED_TXN":                  12,
	"REFUND_FAILED":                 13,
	"REFUND_FAILED_PROCESSING":      14,
	"REFUND_FAILED_DA":              15,
	"EXPIRED_TXN":                   16,
	"AUTH_CANCELED":                 17,
	"AUTH_CANCEL_FAILED_PROCESSING": 18,
	"AUTH_CANCEL_FAILED":            19,
	"COLLECT_INIT":                  20,
	"COLLECT_SUCCESS":               21,
	"COLLECT_FAILED":                22,
	"COLLECT_FAILED_RISK":           23,
	"COLLECT_REJECTED":              24,
	"COLLECT_EXPIRED":               25,
	"COLLECT_CANCELED":              26,
	"COLLECT_CANCELLING":            27,
}

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

func (x PaymentInfo_PAYMENT_INFO_TXNSTATUS) String() string {
	return proto.EnumName(PaymentInfo_PAYMENT_INFO_TXNSTATUS_name, int32(x))
}

func (x *PaymentInfo_PAYMENT_INFO_TXNSTATUS) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(PaymentInfo_PAYMENT_INFO_TXNSTATUS_value, data, "PaymentInfo_PAYMENT_INFO_TXNSTATUS")
	if err != nil {
		return err
	}
	*x = PaymentInfo_PAYMENT_INFO_TXNSTATUS(value)
	return nil
}

func (PaymentInfo_PAYMENT_INFO_TXNSTATUS) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{54, 2}
}

type WebMessageInfo_WEB_MESSAGE_INFO_STATUS int32

const (
	WebMessageInfo_ERROR        WebMessageInfo_WEB_MESSAGE_INFO_STATUS = 0
	WebMessageInfo_PENDING      WebMessageInfo_WEB_MESSAGE_INFO_STATUS = 1
	WebMessageInfo_SERVER_ACK   WebMessageInfo_WEB_MESSAGE_INFO_STATUS = 2
	WebMessageInfo_DELIVERY_ACK WebMessageInfo_WEB_MESSAGE_INFO_STATUS = 3
	WebMessageInfo_READ         WebMessageInfo_WEB_MESSAGE_INFO_STATUS = 4
	WebMessageInfo_PLAYED       WebMessageInfo_WEB_MESSAGE_INFO_STATUS = 5
)

var WebMessageInfo_WEB_MESSAGE_INFO_STATUS_name = map[int32]string{
	0: "ERROR",
	1: "PENDING",
	2: "SERVER_ACK",
	3: "DELIVERY_ACK",
	4: "READ",
	5: "PLAYED",
}

var WebMessageInfo_WEB_MESSAGE_INFO_STATUS_value = map[string]int32{
	"ERROR":        0,
	"PENDING":      1,
	"SERVER_ACK":   2,
	"DELIVERY_ACK": 3,
	"READ":         4,
	"PLAYED":       5,
}

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

func (x WebMessageInfo_WEB_MESSAGE_INFO_STATUS) String() string {
	return proto.EnumName(WebMessageInfo_WEB_MESSAGE_INFO_STATUS_name, int32(x))
}

func (x *WebMessageInfo_WEB_MESSAGE_INFO_STATUS) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(WebMessageInfo_WEB_MESSAGE_INFO_STATUS_value, data, "WebMessageInfo_WEB_MESSAGE_INFO_STATUS")
	if err != nil {
		return err
	}
	*x = WebMessageInfo_WEB_MESSAGE_INFO_STATUS(value)
	return nil
}

func (WebMessageInfo_WEB_MESSAGE_INFO_STATUS) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{55, 0}
}

type WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE int32

const (
	WebMessageInfo_UNKNOWN                                                  WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 0
	WebMessageInfo_REVOKE                                                   WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 1
	WebMessageInfo_CIPHERTEXT                                               WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 2
	WebMessageInfo_FUTUREPROOF                                              WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 3
	WebMessageInfo_NON_VERIFIED_TRANSITION                                  WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 4
	WebMessageInfo_UNVERIFIED_TRANSITION                                    WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 5
	WebMessageInfo_VERIFIED_TRANSITION                                      WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 6
	WebMessageInfo_VERIFIED_LOW_UNKNOWN                                     WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 7
	WebMessageInfo_VERIFIED_HIGH                                            WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 8
	WebMessageInfo_VERIFIED_INITIAL_UNKNOWN                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 9
	WebMessageInfo_VERIFIED_INITIAL_LOW                                     WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 10
	WebMessageInfo_VERIFIED_INITIAL_HIGH                                    WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 11
	WebMessageInfo_VERIFIED_TRANSITION_ANY_TO_NONE                          WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 12
	WebMessageInfo_VERIFIED_TRANSITION_ANY_TO_HIGH                          WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 13
	WebMessageInfo_VERIFIED_TRANSITION_HIGH_TO_LOW                          WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 14
	WebMessageInfo_VERIFIED_TRANSITION_HIGH_TO_UNKNOWN                      WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 15
	WebMessageInfo_VERIFIED_TRANSITION_UNKNOWN_TO_LOW                       WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 16
	WebMessageInfo_VERIFIED_TRANSITION_LOW_TO_UNKNOWN                       WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 17
	WebMessageInfo_VERIFIED_TRANSITION_NONE_TO_LOW                          WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 18
	WebMessageInfo_VERIFIED_TRANSITION_NONE_TO_UNKNOWN                      WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 19
	WebMessageInfo_GROUP_CREATE                                             WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 20
	WebMessageInfo_GROUP_CHANGE_SUBJECT                                     WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 21
	WebMessageInfo_GROUP_CHANGE_ICON                                        WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 22
	WebMessageInfo_GROUP_CHANGE_INVITE_LINK                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 23
	WebMessageInfo_GROUP_CHANGE_DESCRIPTION                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 24
	WebMessageInfo_GROUP_CHANGE_RESTRICT                                    WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 25
	WebMessageInfo_GROUP_CHANGE_ANNOUNCE                                    WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 26
	WebMessageInfo_GROUP_PARTICIPANT_ADD                                    WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 27
	WebMessageInfo_GROUP_PARTICIPANT_REMOVE                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 28
	WebMessageInfo_GROUP_PARTICIPANT_PROMOTE                                WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 29
	WebMessageInfo_GROUP_PARTICIPANT_DEMOTE                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 30
	WebMessageInfo_GROUP_PARTICIPANT_INVITE                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 31
	WebMessageInfo_GROUP_PARTICIPANT_LEAVE                                  WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 32
	WebMessageInfo_GROUP_PARTICIPANT_CHANGE_NUMBER                          WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 33
	WebMessageInfo_BROADCAST_CREATE                                         WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 34
	WebMessageInfo_BROADCAST_ADD                                            WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 35
	WebMessageInfo_BROADCAST_REMOVE                                         WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 36
	WebMessageInfo_GENERIC_NOTIFICATION                                     WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 37
	WebMessageInfo_E2E_IDENTITY_CHANGED                                     WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 38
	WebMessageInfo_E2E_ENCRYPTED                                            WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 39
	WebMessageInfo_CALL_MISSED_VOICE                                        WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 40
	WebMessageInfo_CALL_MISSED_VIDEO                                        WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 41
	WebMessageInfo_INDIVIDUAL_CHANGE_NUMBER                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 42
	WebMessageInfo_GROUP_DELETE                                             WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 43
	WebMessageInfo_GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE                       WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 44
	WebMessageInfo_CALL_MISSED_GROUP_VOICE                                  WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 45
	WebMessageInfo_CALL_MISSED_GROUP_VIDEO                                  WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 46
	WebMessageInfo_PAYMENT_CIPHERTEXT                                       WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 47
	WebMessageInfo_PAYMENT_FUTUREPROOF                                      WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 48
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 49
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED               WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 50
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED          WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 51
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP        WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 52
	WebMessageInfo_PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 53
	WebMessageInfo_PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER                    WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 54
	WebMessageInfo_PAYMENT_ACTION_SEND_PAYMENT_REMINDER                     WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 55
	WebMessageInfo_PAYMENT_ACTION_SEND_PAYMENT_INVITATION                   WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 56
	WebMessageInfo_PAYMENT_ACTION_REQUEST_DECLINED                          WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 57
	WebMessageInfo_PAYMENT_ACTION_REQUEST_EXPIRED                           WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 58
	WebMessageInfo_PAYMENT_ACTION_REQUEST_CANCELLED                         WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 59
	WebMessageInfo_BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM                    WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 60
	WebMessageInfo_BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP                    WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 61
	WebMessageInfo_BIZ_INTRO_TOP                                            WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 62
	WebMessageInfo_BIZ_INTRO_BOTTOM                                         WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 63
	WebMessageInfo_BIZ_NAME_CHANGE                                          WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 64
	WebMessageInfo_BIZ_MOVE_TO_CONSUMER_APP                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 65
	WebMessageInfo_BIZ_TWO_TIER_MIGRATION_TOP                               WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 66
	WebMessageInfo_BIZ_TWO_TIER_MIGRATION_BOTTOM                            WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 67
	WebMessageInfo_OVERSIZED                                                WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 68
	WebMessageInfo_GROUP_CHANGE_NO_FREQUENTLY_FORWARDED                     WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 69
	WebMessageInfo_GROUP_V4_ADD_INVITE_SENT                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 70
	WebMessageInfo_GROUP_PARTICIPANT_ADD_REQUEST_JOIN                       WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 71
	WebMessageInfo_CHANGE_EPHEMERAL_SETTING                                 WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE = 72
)

var WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE_name = map[int32]string{
	0:  "UNKNOWN",
	1:  "REVOKE",
	2:  "CIPHERTEXT",
	3:  "FUTUREPROOF",
	4:  "NON_VERIFIED_TRANSITION",
	5:  "UNVERIFIED_TRANSITION",
	6:  "VERIFIED_TRANSITION",
	7:  "VERIFIED_LOW_UNKNOWN",
	8:  "VERIFIED_HIGH",
	9:  "VERIFIED_INITIAL_UNKNOWN",
	10: "VERIFIED_INITIAL_LOW",
	11: "VERIFIED_INITIAL_HIGH",
	12: "VERIFIED_TRANSITION_ANY_TO_NONE",
	13: "VERIFIED_TRANSITION_ANY_TO_HIGH",
	14: "VERIFIED_TRANSITION_HIGH_TO_LOW",
	15: "VERIFIED_TRANSITION_HIGH_TO_UNKNOWN",
	16: "VERIFIED_TRANSITION_UNKNOWN_TO_LOW",
	17: "VERIFIED_TRANSITION_LOW_TO_UNKNOWN",
	18: "VERIFIED_TRANSITION_NONE_TO_LOW",
	19: "VERIFIED_TRANSITION_NONE_TO_UNKNOWN",
	20: "GROUP_CREATE",
	21: "GROUP_CHANGE_SUBJECT",
	22: "GROUP_CHANGE_ICON",
	23: "GROUP_CHANGE_INVITE_LINK",
	24: "GROUP_CHANGE_DESCRIPTION",
	25: "GROUP_CHANGE_RESTRICT",
	26: "GROUP_CHANGE_ANNOUNCE",
	27: "GROUP_PARTICIPANT_ADD",
	28: "GROUP_PARTICIPANT_REMOVE",
	29: "GROUP_PARTICIPANT_PROMOTE",
	30: "GROUP_PARTICIPANT_DEMOTE",
	31: "GROUP_PARTICIPANT_INVITE",
	32: "GROUP_PARTICIPANT_LEAVE",
	33: "GROUP_PARTICIPANT_CHANGE_NUMBER",
	34: "BROADCAST_CREATE",
	35: "BROADCAST_ADD",
	36: "BROADCAST_REMOVE",
	37: "GENERIC_NOTIFICATION",
	38: "E2E_IDENTITY_CHANGED",
	39: "E2E_ENCRYPTED",
	40: "CALL_MISSED_VOICE",
	41: "CALL_MISSED_VIDEO",
	42: "INDIVIDUAL_CHANGE_NUMBER",
	43: "GROUP_DELETE",
	44: "GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE",
	45: "CALL_MISSED_GROUP_VOICE",
	46: "CALL_MISSED_GROUP_VIDEO",
	47: "PAYMENT_CIPHERTEXT",
	48: "PAYMENT_FUTUREPROOF",
	49: "PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED",
	50: "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED",
	51: "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED",
	52: "PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP",
	53: "PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP",
	54: "PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER",
	55: "PAYMENT_ACTION_SEND_PAYMENT_REMINDER",
	56: "PAYMENT_ACTION_SEND_PAYMENT_INVITATION",
	57: "PAYMENT_ACTION_REQUEST_DECLINED",
	58: "PAYMENT_ACTION_REQUEST_EXPIRED",
	59: "PAYMENT_ACTION_REQUEST_CANCELLED",
	60: "BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM",
	61: "BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP",
	62: "BIZ_INTRO_TOP",
	63: "BIZ_INTRO_BOTTOM",
	64: "BIZ_NAME_CHANGE",
	65: "BIZ_MOVE_TO_CONSUMER_APP",
	66: "BIZ_TWO_TIER_MIGRATION_TOP",
	67: "BIZ_TWO_TIER_MIGRATION_BOTTOM",
	68: "OVERSIZED",
	69: "GROUP_CHANGE_NO_FREQUENTLY_FORWARDED",
	70: "GROUP_V4_ADD_INVITE_SENT",
	71: "GROUP_PARTICIPANT_ADD_REQUEST_JOIN",
	72: "CHANGE_EPHEMERAL_SETTING",
}

var WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE_value = map[string]int32{
	"UNKNOWN":                                                  0,
	"REVOKE":                                                   1,
	"CIPHERTEXT":                                               2,
	"FUTUREPROOF":                                              3,
	"NON_VERIFIED_TRANSITION":                                  4,
	"UNVERIFIED_TRANSITION":                                    5,
	"VERIFIED_TRANSITION":                                      6,
	"VERIFIED_LOW_UNKNOWN":                                     7,
	"VERIFIED_HIGH":                                            8,
	"VERIFIED_INITIAL_UNKNOWN":                                 9,
	"VERIFIED_INITIAL_LOW":                                     10,
	"VERIFIED_INITIAL_HIGH":                                    11,
	"VERIFIED_TRANSITION_ANY_TO_NONE":                          12,
	"VERIFIED_TRANSITION_ANY_TO_HIGH":                          13,
	"VERIFIED_TRANSITION_HIGH_TO_LOW":                          14,
	"VERIFIED_TRANSITION_HIGH_TO_UNKNOWN":                      15,
	"VERIFIED_TRANSITION_UNKNOWN_TO_LOW":                       16,
	"VERIFIED_TRANSITION_LOW_TO_UNKNOWN":                       17,
	"VERIFIED_TRANSITION_NONE_TO_LOW":                          18,
	"VERIFIED_TRANSITION_NONE_TO_UNKNOWN":                      19,
	"GROUP_CREATE":                                             20,
	"GROUP_CHANGE_SUBJECT":                                     21,
	"GROUP_CHANGE_ICON":                                        22,
	"GROUP_CHANGE_INVITE_LINK":                                 23,
	"GROUP_CHANGE_DESCRIPTION":                                 24,
	"GROUP_CHANGE_RESTRICT":                                    25,
	"GROUP_CHANGE_ANNOUNCE":                                    26,
	"GROUP_PARTICIPANT_ADD":                                    27,
	"GROUP_PARTICIPANT_REMOVE":                                 28,
	"GROUP_PARTICIPANT_PROMOTE":                                29,
	"GROUP_PARTICIPANT_DEMOTE":                                 30,
	"GROUP_PARTICIPANT_INVITE":                                 31,
	"GROUP_PARTICIPANT_LEAVE":                                  32,
	"GROUP_PARTICIPANT_CHANGE_NUMBER":                          33,
	"BROADCAST_CREATE":                                         34,
	"BROADCAST_ADD":                                            35,
	"BROADCAST_REMOVE":                                         36,
	"GENERIC_NOTIFICATION":                                     37,
	"E2E_IDENTITY_CHANGED":                                     38,
	"E2E_ENCRYPTED":                                            39,
	"CALL_MISSED_VOICE":                                        40,
	"CALL_MISSED_VIDEO":                                        41,
	"INDIVIDUAL_CHANGE_NUMBER":                                 42,
	"GROUP_DELETE":                                             43,
	"GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE":                       44,
	"CALL_MISSED_GROUP_VOICE":                                  45,
	"CALL_MISSED_GROUP_VIDEO":                                  46,
	"PAYMENT_CIPHERTEXT":                                       47,
	"PAYMENT_FUTUREPROOF":                                      48,
	"PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED":                 49,
	"PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED":               50,
	"PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED":          51,
	"PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP":        52,
	"PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP": 53,
	"PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER":                    54,
	"PAYMENT_ACTION_SEND_PAYMENT_REMINDER":                     55,
	"PAYMENT_ACTION_SEND_PAYMENT_INVITATION":                   56,
	"PAYMENT_ACTION_REQUEST_DECLINED":                          57,
	"PAYMENT_ACTION_REQUEST_EXPIRED":                           58,
	"PAYMENT_ACTION_REQUEST_CANCELLED":                         59,
	"BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM":                    60,
	"BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP":                    61,
	"BIZ_INTRO_TOP":                                            62,
	"BIZ_INTRO_BOTTOM":                                         63,
	"BIZ_NAME_CHANGE":                                          64,
	"BIZ_MOVE_TO_CONSUMER_APP":                                 65,
	"BIZ_TWO_TIER_MIGRATION_TOP":                               66,
	"BIZ_TWO_TIER_MIGRATION_BOTTOM":                            67,
	"OVERSIZED":                                                68,
	"GROUP_CHANGE_NO_FREQUENTLY_FORWARDED":                     69,
	"GROUP_V4_ADD_INVITE_SENT":                                 70,
	"GROUP_PARTICIPANT_ADD_REQUEST_JOIN":                       71,
	"CHANGE_EPHEMERAL_SETTING":                                 72,
}

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

func (x WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE) String() string {
	return proto.EnumName(WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE_name, int32(x))
}

func (x *WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE_value, data, "WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE")
	if err != nil {
		return err
	}
	*x = WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE(value)
	return nil
}

func (WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{55, 1}
}

type HydratedQuickReplyButton struct {
	DisplayText          *string  `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	Id                   *string  `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HydratedQuickReplyButton) Reset()         { *m = HydratedQuickReplyButton{} }
func (m *HydratedQuickReplyButton) String() string { return proto.CompactTextString(m) }
func (*HydratedQuickReplyButton) ProtoMessage()    {}
func (*HydratedQuickReplyButton) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{0}
}

func (m *HydratedQuickReplyButton) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HydratedQuickReplyButton.Unmarshal(m, b)
}
func (m *HydratedQuickReplyButton) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HydratedQuickReplyButton.Marshal(b, m, deterministic)
}
func (m *HydratedQuickReplyButton) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HydratedQuickReplyButton.Merge(m, src)
}
func (m *HydratedQuickReplyButton) XXX_Size() int {
	return xxx_messageInfo_HydratedQuickReplyButton.Size(m)
}
func (m *HydratedQuickReplyButton) XXX_DiscardUnknown() {
	xxx_messageInfo_HydratedQuickReplyButton.DiscardUnknown(m)
}

var xxx_messageInfo_HydratedQuickReplyButton proto.InternalMessageInfo

func (m *HydratedQuickReplyButton) GetDisplayText() string {
	if m != nil && m.DisplayText != nil {
		return *m.DisplayText
	}
	return ""
}

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

type HydratedURLButton struct {
	DisplayText          *string  `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	Url                  *string  `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HydratedURLButton) Reset()         { *m = HydratedURLButton{} }
func (m *HydratedURLButton) String() string { return proto.CompactTextString(m) }
func (*HydratedURLButton) ProtoMessage()    {}
func (*HydratedURLButton) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{1}
}

func (m *HydratedURLButton) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HydratedURLButton.Unmarshal(m, b)
}
func (m *HydratedURLButton) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HydratedURLButton.Marshal(b, m, deterministic)
}
func (m *HydratedURLButton) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HydratedURLButton.Merge(m, src)
}
func (m *HydratedURLButton) XXX_Size() int {
	return xxx_messageInfo_HydratedURLButton.Size(m)
}
func (m *HydratedURLButton) XXX_DiscardUnknown() {
	xxx_messageInfo_HydratedURLButton.DiscardUnknown(m)
}

var xxx_messageInfo_HydratedURLButton proto.InternalMessageInfo

func (m *HydratedURLButton) GetDisplayText() string {
	if m != nil && m.DisplayText != nil {
		return *m.DisplayText
	}
	return ""
}

func (m *HydratedURLButton) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

type HydratedCallButton struct {
	DisplayText          *string  `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	PhoneNumber          *string  `protobuf:"bytes,2,opt,name=phoneNumber" json:"phoneNumber,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HydratedCallButton) Reset()         { *m = HydratedCallButton{} }
func (m *HydratedCallButton) String() string { return proto.CompactTextString(m) }
func (*HydratedCallButton) ProtoMessage()    {}
func (*HydratedCallButton) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{2}
}

func (m *HydratedCallButton) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HydratedCallButton.Unmarshal(m, b)
}
func (m *HydratedCallButton) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HydratedCallButton.Marshal(b, m, deterministic)
}
func (m *HydratedCallButton) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HydratedCallButton.Merge(m, src)
}
func (m *HydratedCallButton) XXX_Size() int {
	return xxx_messageInfo_HydratedCallButton.Size(m)
}
func (m *HydratedCallButton) XXX_DiscardUnknown() {
	xxx_messageInfo_HydratedCallButton.DiscardUnknown(m)
}

var xxx_messageInfo_HydratedCallButton proto.InternalMessageInfo

func (m *HydratedCallButton) GetDisplayText() string {
	if m != nil && m.DisplayText != nil {
		return *m.DisplayText
	}
	return ""
}

func (m *HydratedCallButton) GetPhoneNumber() string {
	if m != nil && m.PhoneNumber != nil {
		return *m.PhoneNumber
	}
	return ""
}

type HydratedTemplateButton struct {
	Index *uint32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
	// Types that are valid to be assigned to HydratedButton:
	//	*HydratedTemplateButton_QuickReplyButton
	//	*HydratedTemplateButton_UrlButton
	//	*HydratedTemplateButton_CallButton
	HydratedButton       isHydratedTemplateButton_HydratedButton `protobuf_oneof:"hydratedButton"`
	XXX_NoUnkeyedLiteral struct{}                                `json:"-"`
	XXX_unrecognized     []byte                                  `json:"-"`
	XXX_sizecache        int32                                   `json:"-"`
}

func (m *HydratedTemplateButton) Reset()         { *m = HydratedTemplateButton{} }
func (m *HydratedTemplateButton) String() string { return proto.CompactTextString(m) }
func (*HydratedTemplateButton) ProtoMessage()    {}
func (*HydratedTemplateButton) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{3}
}

func (m *HydratedTemplateButton) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HydratedTemplateButton.Unmarshal(m, b)
}
func (m *HydratedTemplateButton) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HydratedTemplateButton.Marshal(b, m, deterministic)
}
func (m *HydratedTemplateButton) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HydratedTemplateButton.Merge(m, src)
}
func (m *HydratedTemplateButton) XXX_Size() int {
	return xxx_messageInfo_HydratedTemplateButton.Size(m)
}
func (m *HydratedTemplateButton) XXX_DiscardUnknown() {
	xxx_messageInfo_HydratedTemplateButton.DiscardUnknown(m)
}

var xxx_messageInfo_HydratedTemplateButton proto.InternalMessageInfo

func (m *HydratedTemplateButton) GetIndex() uint32 {
	if m != nil && m.Index != nil {
		return *m.Index
	}
	return 0
}

type isHydratedTemplateButton_HydratedButton interface {
	isHydratedTemplateButton_HydratedButton()
}

type HydratedTemplateButton_QuickReplyButton struct {
	QuickReplyButton *HydratedQuickReplyButton `protobuf:"bytes,1,opt,name=quickReplyButton,oneof"`
}

type HydratedTemplateButton_UrlButton struct {
	UrlButton *HydratedURLButton `protobuf:"bytes,2,opt,name=urlButton,oneof"`
}

type HydratedTemplateButton_CallButton struct {
	CallButton *HydratedCallButton `protobuf:"bytes,3,opt,name=callButton,oneof"`
}

func (*HydratedTemplateButton_QuickReplyButton) isHydratedTemplateButton_HydratedButton() {}

func (*HydratedTemplateButton_UrlButton) isHydratedTemplateButton_HydratedButton() {}

func (*HydratedTemplateButton_CallButton) isHydratedTemplateButton_HydratedButton() {}

func (m *HydratedTemplateButton) GetHydratedButton() isHydratedTemplateButton_HydratedButton {
	if m != nil {
		return m.HydratedButton
	}
	return nil
}

func (m *HydratedTemplateButton) GetQuickReplyButton() *HydratedQuickReplyButton {
	if x, ok := m.GetHydratedButton().(*HydratedTemplateButton_QuickReplyButton); ok {
		return x.QuickReplyButton
	}
	return nil
}

func (m *HydratedTemplateButton) GetUrlButton() *HydratedURLButton {
	if x, ok := m.GetHydratedButton().(*HydratedTemplateButton_UrlButton); ok {
		return x.UrlButton
	}
	return nil
}

func (m *HydratedTemplateButton) GetCallButton() *HydratedCallButton {
	if x, ok := m.GetHydratedButton().(*HydratedTemplateButton_CallButton); ok {
		return x.CallButton
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*HydratedTemplateButton) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*HydratedTemplateButton_QuickReplyButton)(nil),
		(*HydratedTemplateButton_UrlButton)(nil),
		(*HydratedTemplateButton_CallButton)(nil),
	}
}

type QuickReplyButton struct {
	DisplayText          *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	Id                   *string                  `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *QuickReplyButton) Reset()         { *m = QuickReplyButton{} }
func (m *QuickReplyButton) String() string { return proto.CompactTextString(m) }
func (*QuickReplyButton) ProtoMessage()    {}
func (*QuickReplyButton) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{4}
}

func (m *QuickReplyButton) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_QuickReplyButton.Unmarshal(m, b)
}
func (m *QuickReplyButton) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_QuickReplyButton.Marshal(b, m, deterministic)
}
func (m *QuickReplyButton) XXX_Merge(src proto.Message) {
	xxx_messageInfo_QuickReplyButton.Merge(m, src)
}
func (m *QuickReplyButton) XXX_Size() int {
	return xxx_messageInfo_QuickReplyButton.Size(m)
}
func (m *QuickReplyButton) XXX_DiscardUnknown() {
	xxx_messageInfo_QuickReplyButton.DiscardUnknown(m)
}

var xxx_messageInfo_QuickReplyButton proto.InternalMessageInfo

func (m *QuickReplyButton) GetDisplayText() *HighlyStructuredMessage {
	if m != nil {
		return m.DisplayText
	}
	return nil
}

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

type URLButton struct {
	DisplayText          *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	Url                  *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *URLButton) Reset()         { *m = URLButton{} }
func (m *URLButton) String() string { return proto.CompactTextString(m) }
func (*URLButton) ProtoMessage()    {}
func (*URLButton) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{5}
}

func (m *URLButton) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_URLButton.Unmarshal(m, b)
}
func (m *URLButton) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_URLButton.Marshal(b, m, deterministic)
}
func (m *URLButton) XXX_Merge(src proto.Message) {
	xxx_messageInfo_URLButton.Merge(m, src)
}
func (m *URLButton) XXX_Size() int {
	return xxx_messageInfo_URLButton.Size(m)
}
func (m *URLButton) XXX_DiscardUnknown() {
	xxx_messageInfo_URLButton.DiscardUnknown(m)
}

var xxx_messageInfo_URLButton proto.InternalMessageInfo

func (m *URLButton) GetDisplayText() *HighlyStructuredMessage {
	if m != nil {
		return m.DisplayText
	}
	return nil
}

func (m *URLButton) GetUrl() *HighlyStructuredMessage {
	if m != nil {
		return m.Url
	}
	return nil
}

type CallButton struct {
	DisplayText          *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"`
	PhoneNumber          *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=phoneNumber" json:"phoneNumber,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *CallButton) Reset()         { *m = CallButton{} }
func (m *CallButton) String() string { return proto.CompactTextString(m) }
func (*CallButton) ProtoMessage()    {}
func (*CallButton) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{6}
}

func (m *CallButton) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CallButton.Unmarshal(m, b)
}
func (m *CallButton) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CallButton.Marshal(b, m, deterministic)
}
func (m *CallButton) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CallButton.Merge(m, src)
}
func (m *CallButton) XXX_Size() int {
	return xxx_messageInfo_CallButton.Size(m)
}
func (m *CallButton) XXX_DiscardUnknown() {
	xxx_messageInfo_CallButton.DiscardUnknown(m)
}

var xxx_messageInfo_CallButton proto.InternalMessageInfo

func (m *CallButton) GetDisplayText() *HighlyStructuredMessage {
	if m != nil {
		return m.DisplayText
	}
	return nil
}

func (m *CallButton) GetPhoneNumber() *HighlyStructuredMessage {
	if m != nil {
		return m.PhoneNumber
	}
	return nil
}

type TemplateButton struct {
	Index *uint32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
	// Types that are valid to be assigned to Button:
	//	*TemplateButton_QuickReplyButton
	//	*TemplateButton_UrlButton
	//	*TemplateButton_CallButton
	Button               isTemplateButton_Button `protobuf_oneof:"button"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *TemplateButton) Reset()         { *m = TemplateButton{} }
func (m *TemplateButton) String() string { return proto.CompactTextString(m) }
func (*TemplateButton) ProtoMessage()    {}
func (*TemplateButton) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{7}
}

func (m *TemplateButton) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TemplateButton.Unmarshal(m, b)
}
func (m *TemplateButton) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TemplateButton.Marshal(b, m, deterministic)
}
func (m *TemplateButton) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TemplateButton.Merge(m, src)
}
func (m *TemplateButton) XXX_Size() int {
	return xxx_messageInfo_TemplateButton.Size(m)
}
func (m *TemplateButton) XXX_DiscardUnknown() {
	xxx_messageInfo_TemplateButton.DiscardUnknown(m)
}

var xxx_messageInfo_TemplateButton proto.InternalMessageInfo

func (m *TemplateButton) GetIndex() uint32 {
	if m != nil && m.Index != nil {
		return *m.Index
	}
	return 0
}

type isTemplateButton_Button interface {
	isTemplateButton_Button()
}

type TemplateButton_QuickReplyButton struct {
	QuickReplyButton *QuickReplyButton `protobuf:"bytes,1,opt,name=quickReplyButton,oneof"`
}

type TemplateButton_UrlButton struct {
	UrlButton *URLButton `protobuf:"bytes,2,opt,name=urlButton,oneof"`
}

type TemplateButton_CallButton struct {
	CallButton *CallButton `protobuf:"bytes,3,opt,name=callButton,oneof"`
}

func (*TemplateButton_QuickReplyButton) isTemplateButton_Button() {}

func (*TemplateButton_UrlButton) isTemplateButton_Button() {}

func (*TemplateButton_CallButton) isTemplateButton_Button() {}

func (m *TemplateButton) GetButton() isTemplateButton_Button {
	if m != nil {
		return m.Button
	}
	return nil
}

func (m *TemplateButton) GetQuickReplyButton() *QuickReplyButton {
	if x, ok := m.GetButton().(*TemplateButton_QuickReplyButton); ok {
		return x.QuickReplyButton
	}
	return nil
}

func (m *TemplateButton) GetUrlButton() *URLButton {
	if x, ok := m.GetButton().(*TemplateButton_UrlButton); ok {
		return x.UrlButton
	}
	return nil
}

func (m *TemplateButton) GetCallButton() *CallButton {
	if x, ok := m.GetButton().(*TemplateButton_CallButton); ok {
		return x.CallButton
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*TemplateButton) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*TemplateButton_QuickReplyButton)(nil),
		(*TemplateButton_UrlButton)(nil),
		(*TemplateButton_CallButton)(nil),
	}
}

type Location struct {
	DegreesLatitude      *float64 `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"`
	DegreesLongitude     *float64 `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"`
	Name                 *string  `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Location) Reset()         { *m = Location{} }
func (m *Location) String() string { return proto.CompactTextString(m) }
func (*Location) ProtoMessage()    {}
func (*Location) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{8}
}

func (m *Location) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Location.Unmarshal(m, b)
}
func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Location.Marshal(b, m, deterministic)
}
func (m *Location) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Location.Merge(m, src)
}
func (m *Location) XXX_Size() int {
	return xxx_messageInfo_Location.Size(m)
}
func (m *Location) XXX_DiscardUnknown() {
	xxx_messageInfo_Location.DiscardUnknown(m)
}

var xxx_messageInfo_Location proto.InternalMessageInfo

func (m *Location) GetDegreesLatitude() float64 {
	if m != nil && m.DegreesLatitude != nil {
		return *m.DegreesLatitude
	}
	return 0
}

func (m *Location) GetDegreesLongitude() float64 {
	if m != nil && m.DegreesLongitude != nil {
		return *m.DegreesLongitude
	}
	return 0
}

func (m *Location) GetName() string {
	if m != nil && m.Name != nil {
		return *m.Name
	}
	return ""
}

type Point struct {
	XDeprecated          *int32   `protobuf:"varint,1,opt,name=xDeprecated" json:"xDeprecated,omitempty"`
	YDeprecated          *int32   `protobuf:"varint,2,opt,name=yDeprecated" json:"yDeprecated,omitempty"`
	X                    *float64 `protobuf:"fixed64,3,opt,name=x" json:"x,omitempty"`
	Y                    *float64 `protobuf:"fixed64,4,opt,name=y" json:"y,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Point) Reset()         { *m = Point{} }
func (m *Point) String() string { return proto.CompactTextString(m) }
func (*Point) ProtoMessage()    {}
func (*Point) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{9}
}

func (m *Point) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Point.Unmarshal(m, b)
}
func (m *Point) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Point.Marshal(b, m, deterministic)
}
func (m *Point) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Point.Merge(m, src)
}
func (m *Point) XXX_Size() int {
	return xxx_messageInfo_Point.Size(m)
}
func (m *Point) XXX_DiscardUnknown() {
	xxx_messageInfo_Point.DiscardUnknown(m)
}

var xxx_messageInfo_Point proto.InternalMessageInfo

func (m *Point) GetXDeprecated() int32 {
	if m != nil && m.XDeprecated != nil {
		return *m.XDeprecated
	}
	return 0
}

func (m *Point) GetYDeprecated() int32 {
	if m != nil && m.YDeprecated != nil {
		return *m.YDeprecated
	}
	return 0
}

func (m *Point) GetX() float64 {
	if m != nil && m.X != nil {
		return *m.X
	}
	return 0
}

func (m *Point) GetY() float64 {
	if m != nil && m.Y != nil {
		return *m.Y
	}
	return 0
}

type InteractiveAnnotation struct {
	PolygonVertices []*Point `protobuf:"bytes,1,rep,name=polygonVertices" json:"polygonVertices,omitempty"`
	// Types that are valid to be assigned to Action:
	//	*InteractiveAnnotation_Location
	Action               isInteractiveAnnotation_Action `protobuf_oneof:"action"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

func (m *InteractiveAnnotation) Reset()         { *m = InteractiveAnnotation{} }
func (m *InteractiveAnnotation) String() string { return proto.CompactTextString(m) }
func (*InteractiveAnnotation) ProtoMessage()    {}
func (*InteractiveAnnotation) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{10}
}

func (m *InteractiveAnnotation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_InteractiveAnnotation.Unmarshal(m, b)
}
func (m *InteractiveAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_InteractiveAnnotation.Marshal(b, m, deterministic)
}
func (m *InteractiveAnnotation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_InteractiveAnnotation.Merge(m, src)
}
func (m *InteractiveAnnotation) XXX_Size() int {
	return xxx_messageInfo_InteractiveAnnotation.Size(m)
}
func (m *InteractiveAnnotation) XXX_DiscardUnknown() {
	xxx_messageInfo_InteractiveAnnotation.DiscardUnknown(m)
}

var xxx_messageInfo_InteractiveAnnotation proto.InternalMessageInfo

func (m *InteractiveAnnotation) GetPolygonVertices() []*Point {
	if m != nil {
		return m.PolygonVertices
	}
	return nil
}

type isInteractiveAnnotation_Action interface {
	isInteractiveAnnotation_Action()
}

type InteractiveAnnotation_Location struct {
	Location *Location `protobuf:"bytes,2,opt,name=location,oneof"`
}

func (*InteractiveAnnotation_Location) isInteractiveAnnotation_Action() {}

func (m *InteractiveAnnotation) GetAction() isInteractiveAnnotation_Action {
	if m != nil {
		return m.Action
	}
	return nil
}

func (m *InteractiveAnnotation) GetLocation() *Location {
	if x, ok := m.GetAction().(*InteractiveAnnotation_Location); ok {
		return x.Location
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*InteractiveAnnotation) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*InteractiveAnnotation_Location)(nil),
	}
}

type AdReplyInfo struct {
	AdvertiserName       *string                              `protobuf:"bytes,1,opt,name=advertiserName" json:"advertiserName,omitempty"`
	MediaType            *AdReplyInfo_AD_REPLY_INFO_MEDIATYPE `protobuf:"varint,2,opt,name=mediaType,enum=proto.AdReplyInfo_AD_REPLY_INFO_MEDIATYPE" json:"mediaType,omitempty"`
	JpegThumbnail        []byte                               `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	Caption              *string                              `protobuf:"bytes,17,opt,name=caption" json:"caption,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
	XXX_unrecognized     []byte                               `json:"-"`
	XXX_sizecache        int32                                `json:"-"`
}

func (m *AdReplyInfo) Reset()         { *m = AdReplyInfo{} }
func (m *AdReplyInfo) String() string { return proto.CompactTextString(m) }
func (*AdReplyInfo) ProtoMessage()    {}
func (*AdReplyInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{11}
}

func (m *AdReplyInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AdReplyInfo.Unmarshal(m, b)
}
func (m *AdReplyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AdReplyInfo.Marshal(b, m, deterministic)
}
func (m *AdReplyInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AdReplyInfo.Merge(m, src)
}
func (m *AdReplyInfo) XXX_Size() int {
	return xxx_messageInfo_AdReplyInfo.Size(m)
}
func (m *AdReplyInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_AdReplyInfo.DiscardUnknown(m)
}

var xxx_messageInfo_AdReplyInfo proto.InternalMessageInfo

func (m *AdReplyInfo) GetAdvertiserName() string {
	if m != nil && m.AdvertiserName != nil {
		return *m.AdvertiserName
	}
	return ""
}

func (m *AdReplyInfo) GetMediaType() AdReplyInfo_AD_REPLY_INFO_MEDIATYPE {
	if m != nil && m.MediaType != nil {
		return *m.MediaType
	}
	return AdReplyInfo_NONE
}

func (m *AdReplyInfo) GetJpegThumbnail() []byte {
	if m != nil {
		return m.JpegThumbnail
	}
	return nil
}

func (m *AdReplyInfo) GetCaption() string {
	if m != nil && m.Caption != nil {
		return *m.Caption
	}
	return ""
}

type ContextInfo struct {
	StanzaId                  *string      `protobuf:"bytes,1,opt,name=stanzaId" json:"stanzaId,omitempty"`
	Participant               *string      `protobuf:"bytes,2,opt,name=participant" json:"participant,omitempty"`
	QuotedMessage             *Message     `protobuf:"bytes,3,opt,name=quotedMessage" json:"quotedMessage,omitempty"`
	RemoteJid                 *string      `protobuf:"bytes,4,opt,name=remoteJid" json:"remoteJid,omitempty"`
	MentionedJid              []string     `protobuf:"bytes,15,rep,name=mentionedJid" json:"mentionedJid,omitempty"`
	ConversionSource          *string      `protobuf:"bytes,18,opt,name=conversionSource" json:"conversionSource,omitempty"`
	ConversionData            []byte       `protobuf:"bytes,19,opt,name=conversionData" json:"conversionData,omitempty"`
	ConversionDelaySeconds    *uint32      `protobuf:"varint,20,opt,name=conversionDelaySeconds" json:"conversionDelaySeconds,omitempty"`
	ForwardingScore           *uint32      `protobuf:"varint,21,opt,name=forwardingScore" json:"forwardingScore,omitempty"`
	IsForwarded               *bool        `protobuf:"varint,22,opt,name=isForwarded" json:"isForwarded,omitempty"`
	QuotedAd                  *AdReplyInfo `protobuf:"bytes,23,opt,name=quotedAd" json:"quotedAd,omitempty"`
	PlaceholderKey            *MessageKey  `protobuf:"bytes,24,opt,name=placeholderKey" json:"placeholderKey,omitempty"`
	Expiration                *uint32      `protobuf:"varint,25,opt,name=expiration" json:"expiration,omitempty"`
	EphemeralSettingTimestamp *int64       `protobuf:"varint,26,opt,name=ephemeralSettingTimestamp" json:"ephemeralSettingTimestamp,omitempty"`
	XXX_NoUnkeyedLiteral      struct{}     `json:"-"`
	XXX_unrecognized          []byte       `json:"-"`
	XXX_sizecache             int32        `json:"-"`
}

func (m *ContextInfo) Reset()         { *m = ContextInfo{} }
func (m *ContextInfo) String() string { return proto.CompactTextString(m) }
func (*ContextInfo) ProtoMessage()    {}
func (*ContextInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{12}
}

func (m *ContextInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContextInfo.Unmarshal(m, b)
}
func (m *ContextInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContextInfo.Marshal(b, m, deterministic)
}
func (m *ContextInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContextInfo.Merge(m, src)
}
func (m *ContextInfo) XXX_Size() int {
	return xxx_messageInfo_ContextInfo.Size(m)
}
func (m *ContextInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_ContextInfo.DiscardUnknown(m)
}

var xxx_messageInfo_ContextInfo proto.InternalMessageInfo

func (m *ContextInfo) GetStanzaId() string {
	if m != nil && m.StanzaId != nil {
		return *m.StanzaId
	}
	return ""
}

func (m *ContextInfo) GetParticipant() string {
	if m != nil && m.Participant != nil {
		return *m.Participant
	}
	return ""
}

func (m *ContextInfo) GetQuotedMessage() *Message {
	if m != nil {
		return m.QuotedMessage
	}
	return nil
}

func (m *ContextInfo) GetRemoteJid() string {
	if m != nil && m.RemoteJid != nil {
		return *m.RemoteJid
	}
	return ""
}

func (m *ContextInfo) GetMentionedJid() []string {
	if m != nil {
		return m.MentionedJid
	}
	return nil
}

func (m *ContextInfo) GetConversionSource() string {
	if m != nil && m.ConversionSource != nil {
		return *m.ConversionSource
	}
	return ""
}

func (m *ContextInfo) GetConversionData() []byte {
	if m != nil {
		return m.ConversionData
	}
	return nil
}

func (m *ContextInfo) GetConversionDelaySeconds() uint32 {
	if m != nil && m.ConversionDelaySeconds != nil {
		return *m.ConversionDelaySeconds
	}
	return 0
}

func (m *ContextInfo) GetForwardingScore() uint32 {
	if m != nil && m.ForwardingScore != nil {
		return *m.ForwardingScore
	}
	return 0
}

func (m *ContextInfo) GetIsForwarded() bool {
	if m != nil && m.IsForwarded != nil {
		return *m.IsForwarded
	}
	return false
}

func (m *ContextInfo) GetQuotedAd() *AdReplyInfo {
	if m != nil {
		return m.QuotedAd
	}
	return nil
}

func (m *ContextInfo) GetPlaceholderKey() *MessageKey {
	if m != nil {
		return m.PlaceholderKey
	}
	return nil
}

func (m *ContextInfo) GetExpiration() uint32 {
	if m != nil && m.Expiration != nil {
		return *m.Expiration
	}
	return 0
}

func (m *ContextInfo) GetEphemeralSettingTimestamp() int64 {
	if m != nil && m.EphemeralSettingTimestamp != nil {
		return *m.EphemeralSettingTimestamp
	}
	return 0
}

type SenderKeyDistributionMessage struct {
	GroupId                             *string  `protobuf:"bytes,1,opt,name=groupId" json:"groupId,omitempty"`
	AxolotlSenderKeyDistributionMessage []byte   `protobuf:"bytes,2,opt,name=axolotlSenderKeyDistributionMessage" json:"axolotlSenderKeyDistributionMessage,omitempty"`
	XXX_NoUnkeyedLiteral                struct{} `json:"-"`
	XXX_unrecognized                    []byte   `json:"-"`
	XXX_sizecache                       int32    `json:"-"`
}

func (m *SenderKeyDistributionMessage) Reset()         { *m = SenderKeyDistributionMessage{} }
func (m *SenderKeyDistributionMessage) String() string { return proto.CompactTextString(m) }
func (*SenderKeyDistributionMessage) ProtoMessage()    {}
func (*SenderKeyDistributionMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{13}
}

func (m *SenderKeyDistributionMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SenderKeyDistributionMessage.Unmarshal(m, b)
}
func (m *SenderKeyDistributionMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SenderKeyDistributionMessage.Marshal(b, m, deterministic)
}
func (m *SenderKeyDistributionMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SenderKeyDistributionMessage.Merge(m, src)
}
func (m *SenderKeyDistributionMessage) XXX_Size() int {
	return xxx_messageInfo_SenderKeyDistributionMessage.Size(m)
}
func (m *SenderKeyDistributionMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_SenderKeyDistributionMessage.DiscardUnknown(m)
}

var xxx_messageInfo_SenderKeyDistributionMessage proto.InternalMessageInfo

func (m *SenderKeyDistributionMessage) GetGroupId() string {
	if m != nil && m.GroupId != nil {
		return *m.GroupId
	}
	return ""
}

func (m *SenderKeyDistributionMessage) GetAxolotlSenderKeyDistributionMessage() []byte {
	if m != nil {
		return m.AxolotlSenderKeyDistributionMessage
	}
	return nil
}

type ImageMessage struct {
	Url                     *string                  `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	Mimetype                *string                  `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"`
	Caption                 *string                  `protobuf:"bytes,3,opt,name=caption" json:"caption,omitempty"`
	FileSha256              []byte                   `protobuf:"bytes,4,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength              *uint64                  `protobuf:"varint,5,opt,name=fileLength" json:"fileLength,omitempty"`
	Height                  *uint32                  `protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
	Width                   *uint32                  `protobuf:"varint,7,opt,name=width" json:"width,omitempty"`
	MediaKey                []byte                   `protobuf:"bytes,8,opt,name=mediaKey" json:"mediaKey,omitempty"`
	FileEncSha256           []byte                   `protobuf:"bytes,9,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	InteractiveAnnotations  []*InteractiveAnnotation `protobuf:"bytes,10,rep,name=interactiveAnnotations" json:"interactiveAnnotations,omitempty"`
	DirectPath              *string                  `protobuf:"bytes,11,opt,name=directPath" json:"directPath,omitempty"`
	MediaKeyTimestamp       *int64                   `protobuf:"varint,12,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	JpegThumbnail           []byte                   `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo             *ContextInfo             `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	FirstScanSidecar        []byte                   `protobuf:"bytes,18,opt,name=firstScanSidecar" json:"firstScanSidecar,omitempty"`
	FirstScanLength         *uint32                  `protobuf:"varint,19,opt,name=firstScanLength" json:"firstScanLength,omitempty"`
	ExperimentGroupId       *uint32                  `protobuf:"varint,20,opt,name=experimentGroupId" json:"experimentGroupId,omitempty"`
	ScansSidecar            []byte                   `protobuf:"bytes,21,opt,name=scansSidecar" json:"scansSidecar,omitempty"`
	ScanLengths             []uint32                 `protobuf:"varint,22,rep,name=scanLengths" json:"scanLengths,omitempty"`
	MidQualityFileSha256    []byte                   `protobuf:"bytes,23,opt,name=midQualityFileSha256" json:"midQualityFileSha256,omitempty"`
	MidQualityFileEncSha256 []byte                   `protobuf:"bytes,24,opt,name=midQualityFileEncSha256" json:"midQualityFileEncSha256,omitempty"`
	XXX_NoUnkeyedLiteral    struct{}                 `json:"-"`
	XXX_unrecognized        []byte                   `json:"-"`
	XXX_sizecache           int32                    `json:"-"`
}

func (m *ImageMessage) Reset()         { *m = ImageMessage{} }
func (m *ImageMessage) String() string { return proto.CompactTextString(m) }
func (*ImageMessage) ProtoMessage()    {}
func (*ImageMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{14}
}

func (m *ImageMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ImageMessage.Unmarshal(m, b)
}
func (m *ImageMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ImageMessage.Marshal(b, m, deterministic)
}
func (m *ImageMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ImageMessage.Merge(m, src)
}
func (m *ImageMessage) XXX_Size() int {
	return xxx_messageInfo_ImageMessage.Size(m)
}
func (m *ImageMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_ImageMessage.DiscardUnknown(m)
}

var xxx_messageInfo_ImageMessage proto.InternalMessageInfo

func (m *ImageMessage) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

func (m *ImageMessage) GetMimetype() string {
	if m != nil && m.Mimetype != nil {
		return *m.Mimetype
	}
	return ""
}

func (m *ImageMessage) GetCaption() string {
	if m != nil && m.Caption != nil {
		return *m.Caption
	}
	return ""
}

func (m *ImageMessage) GetFileSha256() []byte {
	if m != nil {
		return m.FileSha256
	}
	return nil
}

func (m *ImageMessage) GetFileLength() uint64 {
	if m != nil && m.FileLength != nil {
		return *m.FileLength
	}
	return 0
}

func (m *ImageMessage) GetHeight() uint32 {
	if m != nil && m.Height != nil {
		return *m.Height
	}
	return 0
}

func (m *ImageMessage) GetWidth() uint32 {
	if m != nil && m.Width != nil {
		return *m.Width
	}
	return 0
}

func (m *ImageMessage) GetMediaKey() []byte {
	if m != nil {
		return m.MediaKey
	}
	return nil
}

func (m *ImageMessage) GetFileEncSha256() []byte {
	if m != nil {
		return m.FileEncSha256
	}
	return nil
}

func (m *ImageMessage) GetInteractiveAnnotations() []*InteractiveAnnotation {
	if m != nil {
		return m.InteractiveAnnotations
	}
	return nil
}

func (m *ImageMessage) GetDirectPath() string {
	if m != nil && m.DirectPath != nil {
		return *m.DirectPath
	}
	return ""
}

func (m *ImageMessage) GetMediaKeyTimestamp() int64 {
	if m != nil && m.MediaKeyTimestamp != nil {
		return *m.MediaKeyTimestamp
	}
	return 0
}

func (m *ImageMessage) GetJpegThumbnail() []byte {
	if m != nil {
		return m.JpegThumbnail
	}
	return nil
}

func (m *ImageMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

func (m *ImageMessage) GetFirstScanSidecar() []byte {
	if m != nil {
		return m.FirstScanSidecar
	}
	return nil
}

func (m *ImageMessage) GetFirstScanLength() uint32 {
	if m != nil && m.FirstScanLength != nil {
		return *m.FirstScanLength
	}
	return 0
}

func (m *ImageMessage) GetExperimentGroupId() uint32 {
	if m != nil && m.ExperimentGroupId != nil {
		return *m.ExperimentGroupId
	}
	return 0
}

func (m *ImageMessage) GetScansSidecar() []byte {
	if m != nil {
		return m.ScansSidecar
	}
	return nil
}

func (m *ImageMessage) GetScanLengths() []uint32 {
	if m != nil {
		return m.ScanLengths
	}
	return nil
}

func (m *ImageMessage) GetMidQualityFileSha256() []byte {
	if m != nil {
		return m.MidQualityFileSha256
	}
	return nil
}

func (m *ImageMessage) GetMidQualityFileEncSha256() []byte {
	if m != nil {
		return m.MidQualityFileEncSha256
	}
	return nil
}

type ContactMessage struct {
	DisplayName          *string      `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"`
	Vcard                *string      `protobuf:"bytes,16,opt,name=vcard" json:"vcard,omitempty"`
	ContextInfo          *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *ContactMessage) Reset()         { *m = ContactMessage{} }
func (m *ContactMessage) String() string { return proto.CompactTextString(m) }
func (*ContactMessage) ProtoMessage()    {}
func (*ContactMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{15}
}

func (m *ContactMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContactMessage.Unmarshal(m, b)
}
func (m *ContactMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContactMessage.Marshal(b, m, deterministic)
}
func (m *ContactMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContactMessage.Merge(m, src)
}
func (m *ContactMessage) XXX_Size() int {
	return xxx_messageInfo_ContactMessage.Size(m)
}
func (m *ContactMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_ContactMessage.DiscardUnknown(m)
}

var xxx_messageInfo_ContactMessage proto.InternalMessageInfo

func (m *ContactMessage) GetDisplayName() string {
	if m != nil && m.DisplayName != nil {
		return *m.DisplayName
	}
	return ""
}

func (m *ContactMessage) GetVcard() string {
	if m != nil && m.Vcard != nil {
		return *m.Vcard
	}
	return ""
}

func (m *ContactMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

type LocationMessage struct {
	DegreesLatitude                   *float64     `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"`
	DegreesLongitude                  *float64     `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"`
	Name                              *string      `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
	Address                           *string      `protobuf:"bytes,4,opt,name=address" json:"address,omitempty"`
	Url                               *string      `protobuf:"bytes,5,opt,name=url" json:"url,omitempty"`
	IsLive                            *bool        `protobuf:"varint,6,opt,name=isLive" json:"isLive,omitempty"`
	AccuracyInMeters                  *uint32      `protobuf:"varint,7,opt,name=accuracyInMeters" json:"accuracyInMeters,omitempty"`
	SpeedInMps                        *float32     `protobuf:"fixed32,8,opt,name=speedInMps" json:"speedInMps,omitempty"`
	DegreesClockwiseFromMagneticNorth *uint32      `protobuf:"varint,9,opt,name=degreesClockwiseFromMagneticNorth" json:"degreesClockwiseFromMagneticNorth,omitempty"`
	Comment                           *string      `protobuf:"bytes,11,opt,name=comment" json:"comment,omitempty"`
	JpegThumbnail                     []byte       `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo                       *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	XXX_NoUnkeyedLiteral              struct{}     `json:"-"`
	XXX_unrecognized                  []byte       `json:"-"`
	XXX_sizecache                     int32        `json:"-"`
}

func (m *LocationMessage) Reset()         { *m = LocationMessage{} }
func (m *LocationMessage) String() string { return proto.CompactTextString(m) }
func (*LocationMessage) ProtoMessage()    {}
func (*LocationMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{16}
}

func (m *LocationMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LocationMessage.Unmarshal(m, b)
}
func (m *LocationMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LocationMessage.Marshal(b, m, deterministic)
}
func (m *LocationMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LocationMessage.Merge(m, src)
}
func (m *LocationMessage) XXX_Size() int {
	return xxx_messageInfo_LocationMessage.Size(m)
}
func (m *LocationMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_LocationMessage.DiscardUnknown(m)
}

var xxx_messageInfo_LocationMessage proto.InternalMessageInfo

func (m *LocationMessage) GetDegreesLatitude() float64 {
	if m != nil && m.DegreesLatitude != nil {
		return *m.DegreesLatitude
	}
	return 0
}

func (m *LocationMessage) GetDegreesLongitude() float64 {
	if m != nil && m.DegreesLongitude != nil {
		return *m.DegreesLongitude
	}
	return 0
}

func (m *LocationMessage) GetName() string {
	if m != nil && m.Name != nil {
		return *m.Name
	}
	return ""
}

func (m *LocationMessage) GetAddress() string {
	if m != nil && m.Address != nil {
		return *m.Address
	}
	return ""
}

func (m *LocationMessage) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

func (m *LocationMessage) GetIsLive() bool {
	if m != nil && m.IsLive != nil {
		return *m.IsLive
	}
	return false
}

func (m *LocationMessage) GetAccuracyInMeters() uint32 {
	if m != nil && m.AccuracyInMeters != nil {
		return *m.AccuracyInMeters
	}
	return 0
}

func (m *LocationMessage) GetSpeedInMps() float32 {
	if m != nil && m.SpeedInMps != nil {
		return *m.SpeedInMps
	}
	return 0
}

func (m *LocationMessage) GetDegreesClockwiseFromMagneticNorth() uint32 {
	if m != nil && m.DegreesClockwiseFromMagneticNorth != nil {
		return *m.DegreesClockwiseFromMagneticNorth
	}
	return 0
}

func (m *LocationMessage) GetComment() string {
	if m != nil && m.Comment != nil {
		return *m.Comment
	}
	return ""
}

func (m *LocationMessage) GetJpegThumbnail() []byte {
	if m != nil {
		return m.JpegThumbnail
	}
	return nil
}

func (m *LocationMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

type ExtendedTextMessage struct {
	Text                 *string                                                `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"`
	MatchedText          *string                                                `protobuf:"bytes,2,opt,name=matchedText" json:"matchedText,omitempty"`
	CanonicalUrl         *string                                                `protobuf:"bytes,4,opt,name=canonicalUrl" json:"canonicalUrl,omitempty"`
	Description          *string                                                `protobuf:"bytes,5,opt,name=description" json:"description,omitempty"`
	Title                *string                                                `protobuf:"bytes,6,opt,name=title" json:"title,omitempty"`
	TextArgb             *uint32                                                `protobuf:"fixed32,7,opt,name=textArgb" json:"textArgb,omitempty"`
	BackgroundArgb       *uint32                                                `protobuf:"fixed32,8,opt,name=backgroundArgb" json:"backgroundArgb,omitempty"`
	Font                 *ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE    `protobuf:"varint,9,opt,name=font,enum=proto.ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE" json:"font,omitempty"`
	PreviewType          *ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE `protobuf:"varint,10,opt,name=previewType,enum=proto.ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE" json:"previewType,omitempty"`
	JpegThumbnail        []byte                                                 `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo          *ContextInfo                                           `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	DoNotPlayInline      *bool                                                  `protobuf:"varint,18,opt,name=doNotPlayInline" json:"doNotPlayInline,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                               `json:"-"`
	XXX_unrecognized     []byte                                                 `json:"-"`
	XXX_sizecache        int32                                                  `json:"-"`
}

func (m *ExtendedTextMessage) Reset()         { *m = ExtendedTextMessage{} }
func (m *ExtendedTextMessage) String() string { return proto.CompactTextString(m) }
func (*ExtendedTextMessage) ProtoMessage()    {}
func (*ExtendedTextMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{17}
}

func (m *ExtendedTextMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ExtendedTextMessage.Unmarshal(m, b)
}
func (m *ExtendedTextMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ExtendedTextMessage.Marshal(b, m, deterministic)
}
func (m *ExtendedTextMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ExtendedTextMessage.Merge(m, src)
}
func (m *ExtendedTextMessage) XXX_Size() int {
	return xxx_messageInfo_ExtendedTextMessage.Size(m)
}
func (m *ExtendedTextMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_ExtendedTextMessage.DiscardUnknown(m)
}

var xxx_messageInfo_ExtendedTextMessage proto.InternalMessageInfo

func (m *ExtendedTextMessage) GetText() string {
	if m != nil && m.Text != nil {
		return *m.Text
	}
	return ""
}

func (m *ExtendedTextMessage) GetMatchedText() string {
	if m != nil && m.MatchedText != nil {
		return *m.MatchedText
	}
	return ""
}

func (m *ExtendedTextMessage) GetCanonicalUrl() string {
	if m != nil && m.CanonicalUrl != nil {
		return *m.CanonicalUrl
	}
	return ""
}

func (m *ExtendedTextMessage) GetDescription() string {
	if m != nil && m.Description != nil {
		return *m.Description
	}
	return ""
}

func (m *ExtendedTextMessage) GetTitle() string {
	if m != nil && m.Title != nil {
		return *m.Title
	}
	return ""
}

func (m *ExtendedTextMessage) GetTextArgb() uint32 {
	if m != nil && m.TextArgb != nil {
		return *m.TextArgb
	}
	return 0
}

func (m *ExtendedTextMessage) GetBackgroundArgb() uint32 {
	if m != nil && m.BackgroundArgb != nil {
		return *m.BackgroundArgb
	}
	return 0
}

func (m *ExtendedTextMessage) GetFont() ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE {
	if m != nil && m.Font != nil {
		return *m.Font
	}
	return ExtendedTextMessage_SANS_SERIF
}

func (m *ExtendedTextMessage) GetPreviewType() ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE {
	if m != nil && m.PreviewType != nil {
		return *m.PreviewType
	}
	return ExtendedTextMessage_NONE
}

func (m *ExtendedTextMessage) GetJpegThumbnail() []byte {
	if m != nil {
		return m.JpegThumbnail
	}
	return nil
}

func (m *ExtendedTextMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

func (m *ExtendedTextMessage) GetDoNotPlayInline() bool {
	if m != nil && m.DoNotPlayInline != nil {
		return *m.DoNotPlayInline
	}
	return false
}

type DocumentMessage struct {
	Url                  *string      `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	Mimetype             *string      `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"`
	Title                *string      `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"`
	FileSha256           []byte       `protobuf:"bytes,4,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength           *uint64      `protobuf:"varint,5,opt,name=fileLength" json:"fileLength,omitempty"`
	PageCount            *uint32      `protobuf:"varint,6,opt,name=pageCount" json:"pageCount,omitempty"`
	MediaKey             []byte       `protobuf:"bytes,7,opt,name=mediaKey" json:"mediaKey,omitempty"`
	FileName             *string      `protobuf:"bytes,8,opt,name=fileName" json:"fileName,omitempty"`
	FileEncSha256        []byte       `protobuf:"bytes,9,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	DirectPath           *string      `protobuf:"bytes,10,opt,name=directPath" json:"directPath,omitempty"`
	MediaKeyTimestamp    *int64       `protobuf:"varint,11,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	JpegThumbnail        []byte       `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo          *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *DocumentMessage) Reset()         { *m = DocumentMessage{} }
func (m *DocumentMessage) String() string { return proto.CompactTextString(m) }
func (*DocumentMessage) ProtoMessage()    {}
func (*DocumentMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{18}
}

func (m *DocumentMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DocumentMessage.Unmarshal(m, b)
}
func (m *DocumentMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DocumentMessage.Marshal(b, m, deterministic)
}
func (m *DocumentMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DocumentMessage.Merge(m, src)
}
func (m *DocumentMessage) XXX_Size() int {
	return xxx_messageInfo_DocumentMessage.Size(m)
}
func (m *DocumentMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_DocumentMessage.DiscardUnknown(m)
}

var xxx_messageInfo_DocumentMessage proto.InternalMessageInfo

func (m *DocumentMessage) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

func (m *DocumentMessage) GetMimetype() string {
	if m != nil && m.Mimetype != nil {
		return *m.Mimetype
	}
	return ""
}

func (m *DocumentMessage) GetTitle() string {
	if m != nil && m.Title != nil {
		return *m.Title
	}
	return ""
}

func (m *DocumentMessage) GetFileSha256() []byte {
	if m != nil {
		return m.FileSha256
	}
	return nil
}

func (m *DocumentMessage) GetFileLength() uint64 {
	if m != nil && m.FileLength != nil {
		return *m.FileLength
	}
	return 0
}

func (m *DocumentMessage) GetPageCount() uint32 {
	if m != nil && m.PageCount != nil {
		return *m.PageCount
	}
	return 0
}

func (m *DocumentMessage) GetMediaKey() []byte {
	if m != nil {
		return m.MediaKey
	}
	return nil
}

func (m *DocumentMessage) GetFileName() string {
	if m != nil && m.FileName != nil {
		return *m.FileName
	}
	return ""
}

func (m *DocumentMessage) GetFileEncSha256() []byte {
	if m != nil {
		return m.FileEncSha256
	}
	return nil
}

func (m *DocumentMessage) GetDirectPath() string {
	if m != nil && m.DirectPath != nil {
		return *m.DirectPath
	}
	return ""
}

func (m *DocumentMessage) GetMediaKeyTimestamp() int64 {
	if m != nil && m.MediaKeyTimestamp != nil {
		return *m.MediaKeyTimestamp
	}
	return 0
}

func (m *DocumentMessage) GetJpegThumbnail() []byte {
	if m != nil {
		return m.JpegThumbnail
	}
	return nil
}

func (m *DocumentMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

type AudioMessage struct {
	Url                  *string      `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	Mimetype             *string      `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"`
	FileSha256           []byte       `protobuf:"bytes,3,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength           *uint64      `protobuf:"varint,4,opt,name=fileLength" json:"fileLength,omitempty"`
	Seconds              *uint32      `protobuf:"varint,5,opt,name=seconds" json:"seconds,omitempty"`
	Ptt                  *bool        `protobuf:"varint,6,opt,name=ptt" json:"ptt,omitempty"`
	MediaKey             []byte       `protobuf:"bytes,7,opt,name=mediaKey" json:"mediaKey,omitempty"`
	FileEncSha256        []byte       `protobuf:"bytes,8,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	DirectPath           *string      `protobuf:"bytes,9,opt,name=directPath" json:"directPath,omitempty"`
	MediaKeyTimestamp    *int64       `protobuf:"varint,10,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	ContextInfo          *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	StreamingSidecar     []byte       `protobuf:"bytes,18,opt,name=streamingSidecar" json:"streamingSidecar,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *AudioMessage) Reset()         { *m = AudioMessage{} }
func (m *AudioMessage) String() string { return proto.CompactTextString(m) }
func (*AudioMessage) ProtoMessage()    {}
func (*AudioMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{19}
}

func (m *AudioMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AudioMessage.Unmarshal(m, b)
}
func (m *AudioMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AudioMessage.Marshal(b, m, deterministic)
}
func (m *AudioMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AudioMessage.Merge(m, src)
}
func (m *AudioMessage) XXX_Size() int {
	return xxx_messageInfo_AudioMessage.Size(m)
}
func (m *AudioMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_AudioMessage.DiscardUnknown(m)
}

var xxx_messageInfo_AudioMessage proto.InternalMessageInfo

func (m *AudioMessage) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

func (m *AudioMessage) GetMimetype() string {
	if m != nil && m.Mimetype != nil {
		return *m.Mimetype
	}
	return ""
}

func (m *AudioMessage) GetFileSha256() []byte {
	if m != nil {
		return m.FileSha256
	}
	return nil
}

func (m *AudioMessage) GetFileLength() uint64 {
	if m != nil && m.FileLength != nil {
		return *m.FileLength
	}
	return 0
}

func (m *AudioMessage) GetSeconds() uint32 {
	if m != nil && m.Seconds != nil {
		return *m.Seconds
	}
	return 0
}

func (m *AudioMessage) GetPtt() bool {
	if m != nil && m.Ptt != nil {
		return *m.Ptt
	}
	return false
}

func (m *AudioMessage) GetMediaKey() []byte {
	if m != nil {
		return m.MediaKey
	}
	return nil
}

func (m *AudioMessage) GetFileEncSha256() []byte {
	if m != nil {
		return m.FileEncSha256
	}
	return nil
}

func (m *AudioMessage) GetDirectPath() string {
	if m != nil && m.DirectPath != nil {
		return *m.DirectPath
	}
	return ""
}

func (m *AudioMessage) GetMediaKeyTimestamp() int64 {
	if m != nil && m.MediaKeyTimestamp != nil {
		return *m.MediaKeyTimestamp
	}
	return 0
}

func (m *AudioMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

func (m *AudioMessage) GetStreamingSidecar() []byte {
	if m != nil {
		return m.StreamingSidecar
	}
	return nil
}

type VideoMessage struct {
	Url                    *string                                 `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	Mimetype               *string                                 `protobuf:"bytes,2,opt,name=mimetype" json:"mimetype,omitempty"`
	FileSha256             []byte                                  `protobuf:"bytes,3,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength             *uint64                                 `protobuf:"varint,4,opt,name=fileLength" json:"fileLength,omitempty"`
	Seconds                *uint32                                 `protobuf:"varint,5,opt,name=seconds" json:"seconds,omitempty"`
	MediaKey               []byte                                  `protobuf:"bytes,6,opt,name=mediaKey" json:"mediaKey,omitempty"`
	Caption                *string                                 `protobuf:"bytes,7,opt,name=caption" json:"caption,omitempty"`
	GifPlayback            *bool                                   `protobuf:"varint,8,opt,name=gifPlayback" json:"gifPlayback,omitempty"`
	Height                 *uint32                                 `protobuf:"varint,9,opt,name=height" json:"height,omitempty"`
	Width                  *uint32                                 `protobuf:"varint,10,opt,name=width" json:"width,omitempty"`
	FileEncSha256          []byte                                  `protobuf:"bytes,11,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	InteractiveAnnotations []*InteractiveAnnotation                `protobuf:"bytes,12,rep,name=interactiveAnnotations" json:"interactiveAnnotations,omitempty"`
	DirectPath             *string                                 `protobuf:"bytes,13,opt,name=directPath" json:"directPath,omitempty"`
	MediaKeyTimestamp      *int64                                  `protobuf:"varint,14,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	JpegThumbnail          []byte                                  `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo            *ContextInfo                            `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	StreamingSidecar       []byte                                  `protobuf:"bytes,18,opt,name=streamingSidecar" json:"streamingSidecar,omitempty"`
	GifAttribution         *VideoMessage_VIDEO_MESSAGE_ATTRIBUTION `protobuf:"varint,19,opt,name=gifAttribution,enum=proto.VideoMessage_VIDEO_MESSAGE_ATTRIBUTION" json:"gifAttribution,omitempty"`
	XXX_NoUnkeyedLiteral   struct{}                                `json:"-"`
	XXX_unrecognized       []byte                                  `json:"-"`
	XXX_sizecache          int32                                   `json:"-"`
}

func (m *VideoMessage) Reset()         { *m = VideoMessage{} }
func (m *VideoMessage) String() string { return proto.CompactTextString(m) }
func (*VideoMessage) ProtoMessage()    {}
func (*VideoMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{20}
}

func (m *VideoMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VideoMessage.Unmarshal(m, b)
}
func (m *VideoMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VideoMessage.Marshal(b, m, deterministic)
}
func (m *VideoMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VideoMessage.Merge(m, src)
}
func (m *VideoMessage) XXX_Size() int {
	return xxx_messageInfo_VideoMessage.Size(m)
}
func (m *VideoMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_VideoMessage.DiscardUnknown(m)
}

var xxx_messageInfo_VideoMessage proto.InternalMessageInfo

func (m *VideoMessage) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

func (m *VideoMessage) GetMimetype() string {
	if m != nil && m.Mimetype != nil {
		return *m.Mimetype
	}
	return ""
}

func (m *VideoMessage) GetFileSha256() []byte {
	if m != nil {
		return m.FileSha256
	}
	return nil
}

func (m *VideoMessage) GetFileLength() uint64 {
	if m != nil && m.FileLength != nil {
		return *m.FileLength
	}
	return 0
}

func (m *VideoMessage) GetSeconds() uint32 {
	if m != nil && m.Seconds != nil {
		return *m.Seconds
	}
	return 0
}

func (m *VideoMessage) GetMediaKey() []byte {
	if m != nil {
		return m.MediaKey
	}
	return nil
}

func (m *VideoMessage) GetCaption() string {
	if m != nil && m.Caption != nil {
		return *m.Caption
	}
	return ""
}

func (m *VideoMessage) GetGifPlayback() bool {
	if m != nil && m.GifPlayback != nil {
		return *m.GifPlayback
	}
	return false
}

func (m *VideoMessage) GetHeight() uint32 {
	if m != nil && m.Height != nil {
		return *m.Height
	}
	return 0
}

func (m *VideoMessage) GetWidth() uint32 {
	if m != nil && m.Width != nil {
		return *m.Width
	}
	return 0
}

func (m *VideoMessage) GetFileEncSha256() []byte {
	if m != nil {
		return m.FileEncSha256
	}
	return nil
}

func (m *VideoMessage) GetInteractiveAnnotations() []*InteractiveAnnotation {
	if m != nil {
		return m.InteractiveAnnotations
	}
	return nil
}

func (m *VideoMessage) GetDirectPath() string {
	if m != nil && m.DirectPath != nil {
		return *m.DirectPath
	}
	return ""
}

func (m *VideoMessage) GetMediaKeyTimestamp() int64 {
	if m != nil && m.MediaKeyTimestamp != nil {
		return *m.MediaKeyTimestamp
	}
	return 0
}

func (m *VideoMessage) GetJpegThumbnail() []byte {
	if m != nil {
		return m.JpegThumbnail
	}
	return nil
}

func (m *VideoMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

func (m *VideoMessage) GetStreamingSidecar() []byte {
	if m != nil {
		return m.StreamingSidecar
	}
	return nil
}

func (m *VideoMessage) GetGifAttribution() VideoMessage_VIDEO_MESSAGE_ATTRIBUTION {
	if m != nil && m.GifAttribution != nil {
		return *m.GifAttribution
	}
	return VideoMessage_NONE
}

type Call struct {
	CallKey              []byte   `protobuf:"bytes,1,opt,name=callKey" json:"callKey,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Call) Reset()         { *m = Call{} }
func (m *Call) String() string { return proto.CompactTextString(m) }
func (*Call) ProtoMessage()    {}
func (*Call) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{21}
}

func (m *Call) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Call.Unmarshal(m, b)
}
func (m *Call) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Call.Marshal(b, m, deterministic)
}
func (m *Call) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Call.Merge(m, src)
}
func (m *Call) XXX_Size() int {
	return xxx_messageInfo_Call.Size(m)
}
func (m *Call) XXX_DiscardUnknown() {
	xxx_messageInfo_Call.DiscardUnknown(m)
}

var xxx_messageInfo_Call proto.InternalMessageInfo

func (m *Call) GetCallKey() []byte {
	if m != nil {
		return m.CallKey
	}
	return nil
}

type Chat struct {
	DisplayName          *string  `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"`
	Id                   *string  `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Chat) Reset()         { *m = Chat{} }
func (m *Chat) String() string { return proto.CompactTextString(m) }
func (*Chat) ProtoMessage()    {}
func (*Chat) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{22}
}

func (m *Chat) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Chat.Unmarshal(m, b)
}
func (m *Chat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Chat.Marshal(b, m, deterministic)
}
func (m *Chat) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Chat.Merge(m, src)
}
func (m *Chat) XXX_Size() int {
	return xxx_messageInfo_Chat.Size(m)
}
func (m *Chat) XXX_DiscardUnknown() {
	xxx_messageInfo_Chat.DiscardUnknown(m)
}

var xxx_messageInfo_Chat proto.InternalMessageInfo

func (m *Chat) GetDisplayName() string {
	if m != nil && m.DisplayName != nil {
		return *m.DisplayName
	}
	return ""
}

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

type ProtocolMessage struct {
	Key                       *MessageKey                            `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Type                      *ProtocolMessage_PROTOCOL_MESSAGE_TYPE `protobuf:"varint,2,opt,name=type,enum=proto.ProtocolMessage_PROTOCOL_MESSAGE_TYPE" json:"type,omitempty"`
	EphemeralExpiration       *uint32                                `protobuf:"varint,4,opt,name=ephemeralExpiration" json:"ephemeralExpiration,omitempty"`
	EphemeralSettingTimestamp *int64                                 `protobuf:"varint,5,opt,name=ephemeralSettingTimestamp" json:"ephemeralSettingTimestamp,omitempty"`
	HistorySyncNotification   *HistorySyncNotification               `protobuf:"bytes,6,opt,name=historySyncNotification" json:"historySyncNotification,omitempty"`
	XXX_NoUnkeyedLiteral      struct{}                               `json:"-"`
	XXX_unrecognized          []byte                                 `json:"-"`
	XXX_sizecache             int32                                  `json:"-"`
}

func (m *ProtocolMessage) Reset()         { *m = ProtocolMessage{} }
func (m *ProtocolMessage) String() string { return proto.CompactTextString(m) }
func (*ProtocolMessage) ProtoMessage()    {}
func (*ProtocolMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{23}
}

func (m *ProtocolMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProtocolMessage.Unmarshal(m, b)
}
func (m *ProtocolMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProtocolMessage.Marshal(b, m, deterministic)
}
func (m *ProtocolMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProtocolMessage.Merge(m, src)
}
func (m *ProtocolMessage) XXX_Size() int {
	return xxx_messageInfo_ProtocolMessage.Size(m)
}
func (m *ProtocolMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_ProtocolMessage.DiscardUnknown(m)
}

var xxx_messageInfo_ProtocolMessage proto.InternalMessageInfo

func (m *ProtocolMessage) GetKey() *MessageKey {
	if m != nil {
		return m.Key
	}
	return nil
}

func (m *ProtocolMessage) GetType() ProtocolMessage_PROTOCOL_MESSAGE_TYPE {
	if m != nil && m.Type != nil {
		return *m.Type
	}
	return ProtocolMessage_REVOKE
}

func (m *ProtocolMessage) GetEphemeralExpiration() uint32 {
	if m != nil && m.EphemeralExpiration != nil {
		return *m.EphemeralExpiration
	}
	return 0
}

func (m *ProtocolMessage) GetEphemeralSettingTimestamp() int64 {
	if m != nil && m.EphemeralSettingTimestamp != nil {
		return *m.EphemeralSettingTimestamp
	}
	return 0
}

func (m *ProtocolMessage) GetHistorySyncNotification() *HistorySyncNotification {
	if m != nil {
		return m.HistorySyncNotification
	}
	return nil
}

type HistorySyncNotification struct {
	FileSha256           []byte                                                             `protobuf:"bytes,1,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileLength           *uint64                                                            `protobuf:"varint,2,opt,name=fileLength" json:"fileLength,omitempty"`
	MediaKey             []byte                                                             `protobuf:"bytes,3,opt,name=mediaKey" json:"mediaKey,omitempty"`
	FileEncSha256        []byte                                                             `protobuf:"bytes,4,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	DirectPath           *string                                                            `protobuf:"bytes,5,opt,name=directPath" json:"directPath,omitempty"`
	SyncType             *HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE `protobuf:"varint,6,opt,name=syncType,enum=proto.HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE" json:"syncType,omitempty"`
	ChunkOrder           *uint32                                                            `protobuf:"varint,7,opt,name=chunkOrder" json:"chunkOrder,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                                           `json:"-"`
	XXX_unrecognized     []byte                                                             `json:"-"`
	XXX_sizecache        int32                                                              `json:"-"`
}

func (m *HistorySyncNotification) Reset()         { *m = HistorySyncNotification{} }
func (m *HistorySyncNotification) String() string { return proto.CompactTextString(m) }
func (*HistorySyncNotification) ProtoMessage()    {}
func (*HistorySyncNotification) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{24}
}

func (m *HistorySyncNotification) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HistorySyncNotification.Unmarshal(m, b)
}
func (m *HistorySyncNotification) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HistorySyncNotification.Marshal(b, m, deterministic)
}
func (m *HistorySyncNotification) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HistorySyncNotification.Merge(m, src)
}
func (m *HistorySyncNotification) XXX_Size() int {
	return xxx_messageInfo_HistorySyncNotification.Size(m)
}
func (m *HistorySyncNotification) XXX_DiscardUnknown() {
	xxx_messageInfo_HistorySyncNotification.DiscardUnknown(m)
}

var xxx_messageInfo_HistorySyncNotification proto.InternalMessageInfo

func (m *HistorySyncNotification) GetFileSha256() []byte {
	if m != nil {
		return m.FileSha256
	}
	return nil
}

func (m *HistorySyncNotification) GetFileLength() uint64 {
	if m != nil && m.FileLength != nil {
		return *m.FileLength
	}
	return 0
}

func (m *HistorySyncNotification) GetMediaKey() []byte {
	if m != nil {
		return m.MediaKey
	}
	return nil
}

func (m *HistorySyncNotification) GetFileEncSha256() []byte {
	if m != nil {
		return m.FileEncSha256
	}
	return nil
}

func (m *HistorySyncNotification) GetDirectPath() string {
	if m != nil && m.DirectPath != nil {
		return *m.DirectPath
	}
	return ""
}

func (m *HistorySyncNotification) GetSyncType() HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE {
	if m != nil && m.SyncType != nil {
		return *m.SyncType
	}
	return HistorySyncNotification_INITIAL_BOOTSTRAP
}

func (m *HistorySyncNotification) GetChunkOrder() uint32 {
	if m != nil && m.ChunkOrder != nil {
		return *m.ChunkOrder
	}
	return 0
}

type ContactsArrayMessage struct {
	DisplayName          *string           `protobuf:"bytes,1,opt,name=displayName" json:"displayName,omitempty"`
	Contacts             []*ContactMessage `protobuf:"bytes,2,rep,name=contacts" json:"contacts,omitempty"`
	ContextInfo          *ContextInfo      `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ContactsArrayMessage) Reset()         { *m = ContactsArrayMessage{} }
func (m *ContactsArrayMessage) String() string { return proto.CompactTextString(m) }
func (*ContactsArrayMessage) ProtoMessage()    {}
func (*ContactsArrayMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{25}
}

func (m *ContactsArrayMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContactsArrayMessage.Unmarshal(m, b)
}
func (m *ContactsArrayMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContactsArrayMessage.Marshal(b, m, deterministic)
}
func (m *ContactsArrayMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContactsArrayMessage.Merge(m, src)
}
func (m *ContactsArrayMessage) XXX_Size() int {
	return xxx_messageInfo_ContactsArrayMessage.Size(m)
}
func (m *ContactsArrayMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_ContactsArrayMessage.DiscardUnknown(m)
}

var xxx_messageInfo_ContactsArrayMessage proto.InternalMessageInfo

func (m *ContactsArrayMessage) GetDisplayName() string {
	if m != nil && m.DisplayName != nil {
		return *m.DisplayName
	}
	return ""
}

func (m *ContactsArrayMessage) GetContacts() []*ContactMessage {
	if m != nil {
		return m.Contacts
	}
	return nil
}

func (m *ContactsArrayMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

type HSMCurrency struct {
	CurrencyCode         *string  `protobuf:"bytes,1,opt,name=currencyCode" json:"currencyCode,omitempty"`
	Amount1000           *int64   `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HSMCurrency) Reset()         { *m = HSMCurrency{} }
func (m *HSMCurrency) String() string { return proto.CompactTextString(m) }
func (*HSMCurrency) ProtoMessage()    {}
func (*HSMCurrency) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{26}
}

func (m *HSMCurrency) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HSMCurrency.Unmarshal(m, b)
}
func (m *HSMCurrency) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HSMCurrency.Marshal(b, m, deterministic)
}
func (m *HSMCurrency) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HSMCurrency.Merge(m, src)
}
func (m *HSMCurrency) XXX_Size() int {
	return xxx_messageInfo_HSMCurrency.Size(m)
}
func (m *HSMCurrency) XXX_DiscardUnknown() {
	xxx_messageInfo_HSMCurrency.DiscardUnknown(m)
}

var xxx_messageInfo_HSMCurrency proto.InternalMessageInfo

func (m *HSMCurrency) GetCurrencyCode() string {
	if m != nil && m.CurrencyCode != nil {
		return *m.CurrencyCode
	}
	return ""
}

func (m *HSMCurrency) GetAmount1000() int64 {
	if m != nil && m.Amount1000 != nil {
		return *m.Amount1000
	}
	return 0
}

type HSMDateTimeComponent struct {
	DayOfWeek            *HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE `protobuf:"varint,1,opt,name=dayOfWeek,enum=proto.HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE" json:"dayOfWeek,omitempty"`
	Year                 *uint32                                                     `protobuf:"varint,2,opt,name=year" json:"year,omitempty"`
	Month                *uint32                                                     `protobuf:"varint,3,opt,name=month" json:"month,omitempty"`
	DayOfMonth           *uint32                                                     `protobuf:"varint,4,opt,name=dayOfMonth" json:"dayOfMonth,omitempty"`
	Hour                 *uint32                                                     `protobuf:"varint,5,opt,name=hour" json:"hour,omitempty"`
	Minute               *uint32                                                     `protobuf:"varint,6,opt,name=minute" json:"minute,omitempty"`
	Calendar             *HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE  `protobuf:"varint,7,opt,name=calendar,enum=proto.HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE" json:"calendar,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                                    `json:"-"`
	XXX_unrecognized     []byte                                                      `json:"-"`
	XXX_sizecache        int32                                                       `json:"-"`
}

func (m *HSMDateTimeComponent) Reset()         { *m = HSMDateTimeComponent{} }
func (m *HSMDateTimeComponent) String() string { return proto.CompactTextString(m) }
func (*HSMDateTimeComponent) ProtoMessage()    {}
func (*HSMDateTimeComponent) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{27}
}

func (m *HSMDateTimeComponent) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HSMDateTimeComponent.Unmarshal(m, b)
}
func (m *HSMDateTimeComponent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HSMDateTimeComponent.Marshal(b, m, deterministic)
}
func (m *HSMDateTimeComponent) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HSMDateTimeComponent.Merge(m, src)
}
func (m *HSMDateTimeComponent) XXX_Size() int {
	return xxx_messageInfo_HSMDateTimeComponent.Size(m)
}
func (m *HSMDateTimeComponent) XXX_DiscardUnknown() {
	xxx_messageInfo_HSMDateTimeComponent.DiscardUnknown(m)
}

var xxx_messageInfo_HSMDateTimeComponent proto.InternalMessageInfo

func (m *HSMDateTimeComponent) GetDayOfWeek() HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE {
	if m != nil && m.DayOfWeek != nil {
		return *m.DayOfWeek
	}
	return HSMDateTimeComponent_MONDAY
}

func (m *HSMDateTimeComponent) GetYear() uint32 {
	if m != nil && m.Year != nil {
		return *m.Year
	}
	return 0
}

func (m *HSMDateTimeComponent) GetMonth() uint32 {
	if m != nil && m.Month != nil {
		return *m.Month
	}
	return 0
}

func (m *HSMDateTimeComponent) GetDayOfMonth() uint32 {
	if m != nil && m.DayOfMonth != nil {
		return *m.DayOfMonth
	}
	return 0
}

func (m *HSMDateTimeComponent) GetHour() uint32 {
	if m != nil && m.Hour != nil {
		return *m.Hour
	}
	return 0
}

func (m *HSMDateTimeComponent) GetMinute() uint32 {
	if m != nil && m.Minute != nil {
		return *m.Minute
	}
	return 0
}

func (m *HSMDateTimeComponent) GetCalendar() HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE {
	if m != nil && m.Calendar != nil {
		return *m.Calendar
	}
	return HSMDateTimeComponent_GREGORIAN
}

type HSMDateTimeUnixEpoch struct {
	Timestamp            *int64   `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *HSMDateTimeUnixEpoch) Reset()         { *m = HSMDateTimeUnixEpoch{} }
func (m *HSMDateTimeUnixEpoch) String() string { return proto.CompactTextString(m) }
func (*HSMDateTimeUnixEpoch) ProtoMessage()    {}
func (*HSMDateTimeUnixEpoch) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{28}
}

func (m *HSMDateTimeUnixEpoch) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HSMDateTimeUnixEpoch.Unmarshal(m, b)
}
func (m *HSMDateTimeUnixEpoch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HSMDateTimeUnixEpoch.Marshal(b, m, deterministic)
}
func (m *HSMDateTimeUnixEpoch) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HSMDateTimeUnixEpoch.Merge(m, src)
}
func (m *HSMDateTimeUnixEpoch) XXX_Size() int {
	return xxx_messageInfo_HSMDateTimeUnixEpoch.Size(m)
}
func (m *HSMDateTimeUnixEpoch) XXX_DiscardUnknown() {
	xxx_messageInfo_HSMDateTimeUnixEpoch.DiscardUnknown(m)
}

var xxx_messageInfo_HSMDateTimeUnixEpoch proto.InternalMessageInfo

func (m *HSMDateTimeUnixEpoch) GetTimestamp() int64 {
	if m != nil && m.Timestamp != nil {
		return *m.Timestamp
	}
	return 0
}

type HSMDateTime struct {
	// Types that are valid to be assigned to DatetimeOneof:
	//	*HSMDateTime_Component
	//	*HSMDateTime_UnixEpoch
	DatetimeOneof        isHSMDateTime_DatetimeOneof `protobuf_oneof:"datetimeOneof"`
	XXX_NoUnkeyedLiteral struct{}                    `json:"-"`
	XXX_unrecognized     []byte                      `json:"-"`
	XXX_sizecache        int32                       `json:"-"`
}

func (m *HSMDateTime) Reset()         { *m = HSMDateTime{} }
func (m *HSMDateTime) String() string { return proto.CompactTextString(m) }
func (*HSMDateTime) ProtoMessage()    {}
func (*HSMDateTime) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{29}
}

func (m *HSMDateTime) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HSMDateTime.Unmarshal(m, b)
}
func (m *HSMDateTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HSMDateTime.Marshal(b, m, deterministic)
}
func (m *HSMDateTime) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HSMDateTime.Merge(m, src)
}
func (m *HSMDateTime) XXX_Size() int {
	return xxx_messageInfo_HSMDateTime.Size(m)
}
func (m *HSMDateTime) XXX_DiscardUnknown() {
	xxx_messageInfo_HSMDateTime.DiscardUnknown(m)
}

var xxx_messageInfo_HSMDateTime proto.InternalMessageInfo

type isHSMDateTime_DatetimeOneof interface {
	isHSMDateTime_DatetimeOneof()
}

type HSMDateTime_Component struct {
	Component *HSMDateTimeComponent `protobuf:"bytes,1,opt,name=component,oneof"`
}

type HSMDateTime_UnixEpoch struct {
	UnixEpoch *HSMDateTimeUnixEpoch `protobuf:"bytes,2,opt,name=unixEpoch,oneof"`
}

func (*HSMDateTime_Component) isHSMDateTime_DatetimeOneof() {}

func (*HSMDateTime_UnixEpoch) isHSMDateTime_DatetimeOneof() {}

func (m *HSMDateTime) GetDatetimeOneof() isHSMDateTime_DatetimeOneof {
	if m != nil {
		return m.DatetimeOneof
	}
	return nil
}

func (m *HSMDateTime) GetComponent() *HSMDateTimeComponent {
	if x, ok := m.GetDatetimeOneof().(*HSMDateTime_Component); ok {
		return x.Component
	}
	return nil
}

func (m *HSMDateTime) GetUnixEpoch() *HSMDateTimeUnixEpoch {
	if x, ok := m.GetDatetimeOneof().(*HSMDateTime_UnixEpoch); ok {
		return x.UnixEpoch
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*HSMDateTime) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*HSMDateTime_Component)(nil),
		(*HSMDateTime_UnixEpoch)(nil),
	}
}

type HSMLocalizableParameter struct {
	Default *string `protobuf:"bytes,1,opt,name=default" json:"default,omitempty"`
	// Types that are valid to be assigned to ParamOneof:
	//	*HSMLocalizableParameter_Currency
	//	*HSMLocalizableParameter_DateTime
	ParamOneof           isHSMLocalizableParameter_ParamOneof `protobuf_oneof:"paramOneof"`
	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
	XXX_unrecognized     []byte                               `json:"-"`
	XXX_sizecache        int32                                `json:"-"`
}

func (m *HSMLocalizableParameter) Reset()         { *m = HSMLocalizableParameter{} }
func (m *HSMLocalizableParameter) String() string { return proto.CompactTextString(m) }
func (*HSMLocalizableParameter) ProtoMessage()    {}
func (*HSMLocalizableParameter) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{30}
}

func (m *HSMLocalizableParameter) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HSMLocalizableParameter.Unmarshal(m, b)
}
func (m *HSMLocalizableParameter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HSMLocalizableParameter.Marshal(b, m, deterministic)
}
func (m *HSMLocalizableParameter) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HSMLocalizableParameter.Merge(m, src)
}
func (m *HSMLocalizableParameter) XXX_Size() int {
	return xxx_messageInfo_HSMLocalizableParameter.Size(m)
}
func (m *HSMLocalizableParameter) XXX_DiscardUnknown() {
	xxx_messageInfo_HSMLocalizableParameter.DiscardUnknown(m)
}

var xxx_messageInfo_HSMLocalizableParameter proto.InternalMessageInfo

func (m *HSMLocalizableParameter) GetDefault() string {
	if m != nil && m.Default != nil {
		return *m.Default
	}
	return ""
}

type isHSMLocalizableParameter_ParamOneof interface {
	isHSMLocalizableParameter_ParamOneof()
}

type HSMLocalizableParameter_Currency struct {
	Currency *HSMCurrency `protobuf:"bytes,2,opt,name=currency,oneof"`
}

type HSMLocalizableParameter_DateTime struct {
	DateTime *HSMDateTime `protobuf:"bytes,3,opt,name=dateTime,oneof"`
}

func (*HSMLocalizableParameter_Currency) isHSMLocalizableParameter_ParamOneof() {}

func (*HSMLocalizableParameter_DateTime) isHSMLocalizableParameter_ParamOneof() {}

func (m *HSMLocalizableParameter) GetParamOneof() isHSMLocalizableParameter_ParamOneof {
	if m != nil {
		return m.ParamOneof
	}
	return nil
}

func (m *HSMLocalizableParameter) GetCurrency() *HSMCurrency {
	if x, ok := m.GetParamOneof().(*HSMLocalizableParameter_Currency); ok {
		return x.Currency
	}
	return nil
}

func (m *HSMLocalizableParameter) GetDateTime() *HSMDateTime {
	if x, ok := m.GetParamOneof().(*HSMLocalizableParameter_DateTime); ok {
		return x.DateTime
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*HSMLocalizableParameter) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*HSMLocalizableParameter_Currency)(nil),
		(*HSMLocalizableParameter_DateTime)(nil),
	}
}

type HighlyStructuredMessage struct {
	Namespace            *string                    `protobuf:"bytes,1,opt,name=namespace" json:"namespace,omitempty"`
	ElementName          *string                    `protobuf:"bytes,2,opt,name=elementName" json:"elementName,omitempty"`
	Params               []string                   `protobuf:"bytes,3,rep,name=params" json:"params,omitempty"`
	FallbackLg           *string                    `protobuf:"bytes,4,opt,name=fallbackLg" json:"fallbackLg,omitempty"`
	FallbackLc           *string                    `protobuf:"bytes,5,opt,name=fallbackLc" json:"fallbackLc,omitempty"`
	LocalizableParams    []*HSMLocalizableParameter `protobuf:"bytes,6,rep,name=localizableParams" json:"localizableParams,omitempty"`
	DeterministicLg      *string                    `protobuf:"bytes,7,opt,name=deterministicLg" json:"deterministicLg,omitempty"`
	DeterministicLc      *string                    `protobuf:"bytes,8,opt,name=deterministicLc" json:"deterministicLc,omitempty"`
	HydratedHsm          *TemplateMessage           `protobuf:"bytes,9,opt,name=hydratedHsm" json:"hydratedHsm,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *HighlyStructuredMessage) Reset()         { *m = HighlyStructuredMessage{} }
func (m *HighlyStructuredMessage) String() string { return proto.CompactTextString(m) }
func (*HighlyStructuredMessage) ProtoMessage()    {}
func (*HighlyStructuredMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{31}
}

func (m *HighlyStructuredMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HighlyStructuredMessage.Unmarshal(m, b)
}
func (m *HighlyStructuredMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HighlyStructuredMessage.Marshal(b, m, deterministic)
}
func (m *HighlyStructuredMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HighlyStructuredMessage.Merge(m, src)
}
func (m *HighlyStructuredMessage) XXX_Size() int {
	return xxx_messageInfo_HighlyStructuredMessage.Size(m)
}
func (m *HighlyStructuredMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_HighlyStructuredMessage.DiscardUnknown(m)
}

var xxx_messageInfo_HighlyStructuredMessage proto.InternalMessageInfo

func (m *HighlyStructuredMessage) GetNamespace() string {
	if m != nil && m.Namespace != nil {
		return *m.Namespace
	}
	return ""
}

func (m *HighlyStructuredMessage) GetElementName() string {
	if m != nil && m.ElementName != nil {
		return *m.ElementName
	}
	return ""
}

func (m *HighlyStructuredMessage) GetParams() []string {
	if m != nil {
		return m.Params
	}
	return nil
}

func (m *HighlyStructuredMessage) GetFallbackLg() string {
	if m != nil && m.FallbackLg != nil {
		return *m.FallbackLg
	}
	return ""
}

func (m *HighlyStructuredMessage) GetFallbackLc() string {
	if m != nil && m.FallbackLc != nil {
		return *m.FallbackLc
	}
	return ""
}

func (m *HighlyStructuredMessage) GetLocalizableParams() []*HSMLocalizableParameter {
	if m != nil {
		return m.LocalizableParams
	}
	return nil
}

func (m *HighlyStructuredMessage) GetDeterministicLg() string {
	if m != nil && m.DeterministicLg != nil {
		return *m.DeterministicLg
	}
	return ""
}

func (m *HighlyStructuredMessage) GetDeterministicLc() string {
	if m != nil && m.DeterministicLc != nil {
		return *m.DeterministicLc
	}
	return ""
}

func (m *HighlyStructuredMessage) GetHydratedHsm() *TemplateMessage {
	if m != nil {
		return m.HydratedHsm
	}
	return nil
}

type SendPaymentMessage struct {
	NoteMessage          *Message    `protobuf:"bytes,2,opt,name=noteMessage" json:"noteMessage,omitempty"`
	RequestMessageKey    *MessageKey `protobuf:"bytes,3,opt,name=requestMessageKey" json:"requestMessageKey,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *SendPaymentMessage) Reset()         { *m = SendPaymentMessage{} }
func (m *SendPaymentMessage) String() string { return proto.CompactTextString(m) }
func (*SendPaymentMessage) ProtoMessage()    {}
func (*SendPaymentMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{32}
}

func (m *SendPaymentMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SendPaymentMessage.Unmarshal(m, b)
}
func (m *SendPaymentMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SendPaymentMessage.Marshal(b, m, deterministic)
}
func (m *SendPaymentMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SendPaymentMessage.Merge(m, src)
}
func (m *SendPaymentMessage) XXX_Size() int {
	return xxx_messageInfo_SendPaymentMessage.Size(m)
}
func (m *SendPaymentMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_SendPaymentMessage.DiscardUnknown(m)
}

var xxx_messageInfo_SendPaymentMessage proto.InternalMessageInfo

func (m *SendPaymentMessage) GetNoteMessage() *Message {
	if m != nil {
		return m.NoteMessage
	}
	return nil
}

func (m *SendPaymentMessage) GetRequestMessageKey() *MessageKey {
	if m != nil {
		return m.RequestMessageKey
	}
	return nil
}

type RequestPaymentMessage struct {
	NoteMessage          *Message `protobuf:"bytes,4,opt,name=noteMessage" json:"noteMessage,omitempty"`
	CurrencyCodeIso4217  *string  `protobuf:"bytes,1,opt,name=currencyCodeIso4217" json:"currencyCodeIso4217,omitempty"`
	Amount1000           *uint64  `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"`
	RequestFrom          *string  `protobuf:"bytes,3,opt,name=requestFrom" json:"requestFrom,omitempty"`
	ExpiryTimestamp      *int64   `protobuf:"varint,5,opt,name=expiryTimestamp" json:"expiryTimestamp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RequestPaymentMessage) Reset()         { *m = RequestPaymentMessage{} }
func (m *RequestPaymentMessage) String() string { return proto.CompactTextString(m) }
func (*RequestPaymentMessage) ProtoMessage()    {}
func (*RequestPaymentMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{33}
}

func (m *RequestPaymentMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RequestPaymentMessage.Unmarshal(m, b)
}
func (m *RequestPaymentMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RequestPaymentMessage.Marshal(b, m, deterministic)
}
func (m *RequestPaymentMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RequestPaymentMessage.Merge(m, src)
}
func (m *RequestPaymentMessage) XXX_Size() int {
	return xxx_messageInfo_RequestPaymentMessage.Size(m)
}
func (m *RequestPaymentMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_RequestPaymentMessage.DiscardUnknown(m)
}

var xxx_messageInfo_RequestPaymentMessage proto.InternalMessageInfo

func (m *RequestPaymentMessage) GetNoteMessage() *Message {
	if m != nil {
		return m.NoteMessage
	}
	return nil
}

func (m *RequestPaymentMessage) GetCurrencyCodeIso4217() string {
	if m != nil && m.CurrencyCodeIso4217 != nil {
		return *m.CurrencyCodeIso4217
	}
	return ""
}

func (m *RequestPaymentMessage) GetAmount1000() uint64 {
	if m != nil && m.Amount1000 != nil {
		return *m.Amount1000
	}
	return 0
}

func (m *RequestPaymentMessage) GetRequestFrom() string {
	if m != nil && m.RequestFrom != nil {
		return *m.RequestFrom
	}
	return ""
}

func (m *RequestPaymentMessage) GetExpiryTimestamp() int64 {
	if m != nil && m.ExpiryTimestamp != nil {
		return *m.ExpiryTimestamp
	}
	return 0
}

type DeclinePaymentRequestMessage struct {
	Key                  *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *DeclinePaymentRequestMessage) Reset()         { *m = DeclinePaymentRequestMessage{} }
func (m *DeclinePaymentRequestMessage) String() string { return proto.CompactTextString(m) }
func (*DeclinePaymentRequestMessage) ProtoMessage()    {}
func (*DeclinePaymentRequestMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{34}
}

func (m *DeclinePaymentRequestMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeclinePaymentRequestMessage.Unmarshal(m, b)
}
func (m *DeclinePaymentRequestMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeclinePaymentRequestMessage.Marshal(b, m, deterministic)
}
func (m *DeclinePaymentRequestMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeclinePaymentRequestMessage.Merge(m, src)
}
func (m *DeclinePaymentRequestMessage) XXX_Size() int {
	return xxx_messageInfo_DeclinePaymentRequestMessage.Size(m)
}
func (m *DeclinePaymentRequestMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_DeclinePaymentRequestMessage.DiscardUnknown(m)
}

var xxx_messageInfo_DeclinePaymentRequestMessage proto.InternalMessageInfo

func (m *DeclinePaymentRequestMessage) GetKey() *MessageKey {
	if m != nil {
		return m.Key
	}
	return nil
}

type CancelPaymentRequestMessage struct {
	Key                  *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *CancelPaymentRequestMessage) Reset()         { *m = CancelPaymentRequestMessage{} }
func (m *CancelPaymentRequestMessage) String() string { return proto.CompactTextString(m) }
func (*CancelPaymentRequestMessage) ProtoMessage()    {}
func (*CancelPaymentRequestMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{35}
}

func (m *CancelPaymentRequestMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CancelPaymentRequestMessage.Unmarshal(m, b)
}
func (m *CancelPaymentRequestMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CancelPaymentRequestMessage.Marshal(b, m, deterministic)
}
func (m *CancelPaymentRequestMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CancelPaymentRequestMessage.Merge(m, src)
}
func (m *CancelPaymentRequestMessage) XXX_Size() int {
	return xxx_messageInfo_CancelPaymentRequestMessage.Size(m)
}
func (m *CancelPaymentRequestMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_CancelPaymentRequestMessage.DiscardUnknown(m)
}

var xxx_messageInfo_CancelPaymentRequestMessage proto.InternalMessageInfo

func (m *CancelPaymentRequestMessage) GetKey() *MessageKey {
	if m != nil {
		return m.Key
	}
	return nil
}

type LiveLocationMessage struct {
	DegreesLatitude                   *float64     `protobuf:"fixed64,1,opt,name=degreesLatitude" json:"degreesLatitude,omitempty"`
	DegreesLongitude                  *float64     `protobuf:"fixed64,2,opt,name=degreesLongitude" json:"degreesLongitude,omitempty"`
	AccuracyInMeters                  *uint32      `protobuf:"varint,3,opt,name=accuracyInMeters" json:"accuracyInMeters,omitempty"`
	SpeedInMps                        *float32     `protobuf:"fixed32,4,opt,name=speedInMps" json:"speedInMps,omitempty"`
	DegreesClockwiseFromMagneticNorth *uint32      `protobuf:"varint,5,opt,name=degreesClockwiseFromMagneticNorth" json:"degreesClockwiseFromMagneticNorth,omitempty"`
	Caption                           *string      `protobuf:"bytes,6,opt,name=caption" json:"caption,omitempty"`
	SequenceNumber                    *int64       `protobuf:"varint,7,opt,name=sequenceNumber" json:"sequenceNumber,omitempty"`
	TimeOffset                        *uint32      `protobuf:"varint,8,opt,name=timeOffset" json:"timeOffset,omitempty"`
	JpegThumbnail                     []byte       `protobuf:"bytes,16,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	ContextInfo                       *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	XXX_NoUnkeyedLiteral              struct{}     `json:"-"`
	XXX_unrecognized                  []byte       `json:"-"`
	XXX_sizecache                     int32        `json:"-"`
}

func (m *LiveLocationMessage) Reset()         { *m = LiveLocationMessage{} }
func (m *LiveLocationMessage) String() string { return proto.CompactTextString(m) }
func (*LiveLocationMessage) ProtoMessage()    {}
func (*LiveLocationMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{36}
}

func (m *LiveLocationMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LiveLocationMessage.Unmarshal(m, b)
}
func (m *LiveLocationMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LiveLocationMessage.Marshal(b, m, deterministic)
}
func (m *LiveLocationMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LiveLocationMessage.Merge(m, src)
}
func (m *LiveLocationMessage) XXX_Size() int {
	return xxx_messageInfo_LiveLocationMessage.Size(m)
}
func (m *LiveLocationMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_LiveLocationMessage.DiscardUnknown(m)
}

var xxx_messageInfo_LiveLocationMessage proto.InternalMessageInfo

func (m *LiveLocationMessage) GetDegreesLatitude() float64 {
	if m != nil && m.DegreesLatitude != nil {
		return *m.DegreesLatitude
	}
	return 0
}

func (m *LiveLocationMessage) GetDegreesLongitude() float64 {
	if m != nil && m.DegreesLongitude != nil {
		return *m.DegreesLongitude
	}
	return 0
}

func (m *LiveLocationMessage) GetAccuracyInMeters() uint32 {
	if m != nil && m.AccuracyInMeters != nil {
		return *m.AccuracyInMeters
	}
	return 0
}

func (m *LiveLocationMessage) GetSpeedInMps() float32 {
	if m != nil && m.SpeedInMps != nil {
		return *m.SpeedInMps
	}
	return 0
}

func (m *LiveLocationMessage) GetDegreesClockwiseFromMagneticNorth() uint32 {
	if m != nil && m.DegreesClockwiseFromMagneticNorth != nil {
		return *m.DegreesClockwiseFromMagneticNorth
	}
	return 0
}

func (m *LiveLocationMessage) GetCaption() string {
	if m != nil && m.Caption != nil {
		return *m.Caption
	}
	return ""
}

func (m *LiveLocationMessage) GetSequenceNumber() int64 {
	if m != nil && m.SequenceNumber != nil {
		return *m.SequenceNumber
	}
	return 0
}

func (m *LiveLocationMessage) GetTimeOffset() uint32 {
	if m != nil && m.TimeOffset != nil {
		return *m.TimeOffset
	}
	return 0
}

func (m *LiveLocationMessage) GetJpegThumbnail() []byte {
	if m != nil {
		return m.JpegThumbnail
	}
	return nil
}

func (m *LiveLocationMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

type StickerMessage struct {
	Url                  *string      `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
	FileSha256           []byte       `protobuf:"bytes,2,opt,name=fileSha256" json:"fileSha256,omitempty"`
	FileEncSha256        []byte       `protobuf:"bytes,3,opt,name=fileEncSha256" json:"fileEncSha256,omitempty"`
	MediaKey             []byte       `protobuf:"bytes,4,opt,name=mediaKey" json:"mediaKey,omitempty"`
	Mimetype             *string      `protobuf:"bytes,5,opt,name=mimetype" json:"mimetype,omitempty"`
	Height               *uint32      `protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
	Width                *uint32      `protobuf:"varint,7,opt,name=width" json:"width,omitempty"`
	DirectPath           *string      `protobuf:"bytes,8,opt,name=directPath" json:"directPath,omitempty"`
	FileLength           *uint64      `protobuf:"varint,9,opt,name=fileLength" json:"fileLength,omitempty"`
	MediaKeyTimestamp    *int64       `protobuf:"varint,10,opt,name=mediaKeyTimestamp" json:"mediaKeyTimestamp,omitempty"`
	FirstFrameLength     *uint32      `protobuf:"varint,11,opt,name=firstFrameLength" json:"firstFrameLength,omitempty"`
	FirstFrameSidecar    []byte       `protobuf:"bytes,12,opt,name=firstFrameSidecar" json:"firstFrameSidecar,omitempty"`
	IsAnimated           *bool        `protobuf:"varint,13,opt,name=isAnimated" json:"isAnimated,omitempty"`
	PngThumbnail         []byte       `protobuf:"bytes,16,opt,name=pngThumbnail" json:"pngThumbnail,omitempty"`
	ContextInfo          *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *StickerMessage) Reset()         { *m = StickerMessage{} }
func (m *StickerMessage) String() string { return proto.CompactTextString(m) }
func (*StickerMessage) ProtoMessage()    {}
func (*StickerMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{37}
}

func (m *StickerMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_StickerMessage.Unmarshal(m, b)
}
func (m *StickerMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_StickerMessage.Marshal(b, m, deterministic)
}
func (m *StickerMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_StickerMessage.Merge(m, src)
}
func (m *StickerMessage) XXX_Size() int {
	return xxx_messageInfo_StickerMessage.Size(m)
}
func (m *StickerMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_StickerMessage.DiscardUnknown(m)
}

var xxx_messageInfo_StickerMessage proto.InternalMessageInfo

func (m *StickerMessage) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

func (m *StickerMessage) GetFileSha256() []byte {
	if m != nil {
		return m.FileSha256
	}
	return nil
}

func (m *StickerMessage) GetFileEncSha256() []byte {
	if m != nil {
		return m.FileEncSha256
	}
	return nil
}

func (m *StickerMessage) GetMediaKey() []byte {
	if m != nil {
		return m.MediaKey
	}
	return nil
}

func (m *StickerMessage) GetMimetype() string {
	if m != nil && m.Mimetype != nil {
		return *m.Mimetype
	}
	return ""
}

func (m *StickerMessage) GetHeight() uint32 {
	if m != nil && m.Height != nil {
		return *m.Height
	}
	return 0
}

func (m *StickerMessage) GetWidth() uint32 {
	if m != nil && m.Width != nil {
		return *m.Width
	}
	return 0
}

func (m *StickerMessage) GetDirectPath() string {
	if m != nil && m.DirectPath != nil {
		return *m.DirectPath
	}
	return ""
}

func (m *StickerMessage) GetFileLength() uint64 {
	if m != nil && m.FileLength != nil {
		return *m.FileLength
	}
	return 0
}

func (m *StickerMessage) GetMediaKeyTimestamp() int64 {
	if m != nil && m.MediaKeyTimestamp != nil {
		return *m.MediaKeyTimestamp
	}
	return 0
}

func (m *StickerMessage) GetFirstFrameLength() uint32 {
	if m != nil && m.FirstFrameLength != nil {
		return *m.FirstFrameLength
	}
	return 0
}

func (m *StickerMessage) GetFirstFrameSidecar() []byte {
	if m != nil {
		return m.FirstFrameSidecar
	}
	return nil
}

func (m *StickerMessage) GetIsAnimated() bool {
	if m != nil && m.IsAnimated != nil {
		return *m.IsAnimated
	}
	return false
}

func (m *StickerMessage) GetPngThumbnail() []byte {
	if m != nil {
		return m.PngThumbnail
	}
	return nil
}

func (m *StickerMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

type FourRowTemplate struct {
	Content *HighlyStructuredMessage `protobuf:"bytes,6,opt,name=content" json:"content,omitempty"`
	Footer  *HighlyStructuredMessage `protobuf:"bytes,7,opt,name=footer" json:"footer,omitempty"`
	Buttons []*TemplateButton        `protobuf:"bytes,8,rep,name=buttons" json:"buttons,omitempty"`
	// Types that are valid to be assigned to Title:
	//	*FourRowTemplate_DocumentMessage
	//	*FourRowTemplate_HighlyStructuredMessage
	//	*FourRowTemplate_ImageMessage
	//	*FourRowTemplate_VideoMessage
	//	*FourRowTemplate_LocationMessage
	Title                isFourRowTemplate_Title `protobuf_oneof:"title"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *FourRowTemplate) Reset()         { *m = FourRowTemplate{} }
func (m *FourRowTemplate) String() string { return proto.CompactTextString(m) }
func (*FourRowTemplate) ProtoMessage()    {}
func (*FourRowTemplate) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{38}
}

func (m *FourRowTemplate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_FourRowTemplate.Unmarshal(m, b)
}
func (m *FourRowTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_FourRowTemplate.Marshal(b, m, deterministic)
}
func (m *FourRowTemplate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_FourRowTemplate.Merge(m, src)
}
func (m *FourRowTemplate) XXX_Size() int {
	return xxx_messageInfo_FourRowTemplate.Size(m)
}
func (m *FourRowTemplate) XXX_DiscardUnknown() {
	xxx_messageInfo_FourRowTemplate.DiscardUnknown(m)
}

var xxx_messageInfo_FourRowTemplate proto.InternalMessageInfo

func (m *FourRowTemplate) GetContent() *HighlyStructuredMessage {
	if m != nil {
		return m.Content
	}
	return nil
}

func (m *FourRowTemplate) GetFooter() *HighlyStructuredMessage {
	if m != nil {
		return m.Footer
	}
	return nil
}

func (m *FourRowTemplate) GetButtons() []*TemplateButton {
	if m != nil {
		return m.Buttons
	}
	return nil
}

type isFourRowTemplate_Title interface {
	isFourRowTemplate_Title()
}

type FourRowTemplate_DocumentMessage struct {
	DocumentMessage *DocumentMessage `protobuf:"bytes,1,opt,name=documentMessage,oneof"`
}

type FourRowTemplate_HighlyStructuredMessage struct {
	HighlyStructuredMessage *HighlyStructuredMessage `protobuf:"bytes,2,opt,name=highlyStructuredMessage,oneof"`
}

type FourRowTemplate_ImageMessage struct {
	ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage,oneof"`
}

type FourRowTemplate_VideoMessage struct {
	VideoMessage *VideoMessage `protobuf:"bytes,4,opt,name=videoMessage,oneof"`
}

type FourRowTemplate_LocationMessage struct {
	LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage,oneof"`
}

func (*FourRowTemplate_DocumentMessage) isFourRowTemplate_Title() {}

func (*FourRowTemplate_HighlyStructuredMessage) isFourRowTemplate_Title() {}

func (*FourRowTemplate_ImageMessage) isFourRowTemplate_Title() {}

func (*FourRowTemplate_VideoMessage) isFourRowTemplate_Title() {}

func (*FourRowTemplate_LocationMessage) isFourRowTemplate_Title() {}

func (m *FourRowTemplate) GetTitle() isFourRowTemplate_Title {
	if m != nil {
		return m.Title
	}
	return nil
}

func (m *FourRowTemplate) GetDocumentMessage() *DocumentMessage {
	if x, ok := m.GetTitle().(*FourRowTemplate_DocumentMessage); ok {
		return x.DocumentMessage
	}
	return nil
}

func (m *FourRowTemplate) GetHighlyStructuredMessage() *HighlyStructuredMessage {
	if x, ok := m.GetTitle().(*FourRowTemplate_HighlyStructuredMessage); ok {
		return x.HighlyStructuredMessage
	}
	return nil
}

func (m *FourRowTemplate) GetImageMessage() *ImageMessage {
	if x, ok := m.GetTitle().(*FourRowTemplate_ImageMessage); ok {
		return x.ImageMessage
	}
	return nil
}

func (m *FourRowTemplate) GetVideoMessage() *VideoMessage {
	if x, ok := m.GetTitle().(*FourRowTemplate_VideoMessage); ok {
		return x.VideoMessage
	}
	return nil
}

func (m *FourRowTemplate) GetLocationMessage() *LocationMessage {
	if x, ok := m.GetTitle().(*FourRowTemplate_LocationMessage); ok {
		return x.LocationMessage
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*FourRowTemplate) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*FourRowTemplate_DocumentMessage)(nil),
		(*FourRowTemplate_HighlyStructuredMessage)(nil),
		(*FourRowTemplate_ImageMessage)(nil),
		(*FourRowTemplate_VideoMessage)(nil),
		(*FourRowTemplate_LocationMessage)(nil),
	}
}

type HydratedFourRowTemplate struct {
	HydratedContentText *string                   `protobuf:"bytes,6,opt,name=hydratedContentText" json:"hydratedContentText,omitempty"`
	HydratedFooterText  *string                   `protobuf:"bytes,7,opt,name=hydratedFooterText" json:"hydratedFooterText,omitempty"`
	HydratedButtons     []*HydratedTemplateButton `protobuf:"bytes,8,rep,name=hydratedButtons" json:"hydratedButtons,omitempty"`
	TemplateId          *string                   `protobuf:"bytes,9,opt,name=templateId" json:"templateId,omitempty"`
	// Types that are valid to be assigned to Title:
	//	*HydratedFourRowTemplate_DocumentMessage
	//	*HydratedFourRowTemplate_HydratedTitleText
	//	*HydratedFourRowTemplate_ImageMessage
	//	*HydratedFourRowTemplate_VideoMessage
	//	*HydratedFourRowTemplate_LocationMessage
	Title                isHydratedFourRowTemplate_Title `protobuf_oneof:"title"`
	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
	XXX_unrecognized     []byte                          `json:"-"`
	XXX_sizecache        int32                           `json:"-"`
}

func (m *HydratedFourRowTemplate) Reset()         { *m = HydratedFourRowTemplate{} }
func (m *HydratedFourRowTemplate) String() string { return proto.CompactTextString(m) }
func (*HydratedFourRowTemplate) ProtoMessage()    {}
func (*HydratedFourRowTemplate) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{39}
}

func (m *HydratedFourRowTemplate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HydratedFourRowTemplate.Unmarshal(m, b)
}
func (m *HydratedFourRowTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HydratedFourRowTemplate.Marshal(b, m, deterministic)
}
func (m *HydratedFourRowTemplate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HydratedFourRowTemplate.Merge(m, src)
}
func (m *HydratedFourRowTemplate) XXX_Size() int {
	return xxx_messageInfo_HydratedFourRowTemplate.Size(m)
}
func (m *HydratedFourRowTemplate) XXX_DiscardUnknown() {
	xxx_messageInfo_HydratedFourRowTemplate.DiscardUnknown(m)
}

var xxx_messageInfo_HydratedFourRowTemplate proto.InternalMessageInfo

func (m *HydratedFourRowTemplate) GetHydratedContentText() string {
	if m != nil && m.HydratedContentText != nil {
		return *m.HydratedContentText
	}
	return ""
}

func (m *HydratedFourRowTemplate) GetHydratedFooterText() string {
	if m != nil && m.HydratedFooterText != nil {
		return *m.HydratedFooterText
	}
	return ""
}

func (m *HydratedFourRowTemplate) GetHydratedButtons() []*HydratedTemplateButton {
	if m != nil {
		return m.HydratedButtons
	}
	return nil
}

func (m *HydratedFourRowTemplate) GetTemplateId() string {
	if m != nil && m.TemplateId != nil {
		return *m.TemplateId
	}
	return ""
}

type isHydratedFourRowTemplate_Title interface {
	isHydratedFourRowTemplate_Title()
}

type HydratedFourRowTemplate_DocumentMessage struct {
	DocumentMessage *DocumentMessage `protobuf:"bytes,1,opt,name=documentMessage,oneof"`
}

type HydratedFourRowTemplate_HydratedTitleText struct {
	HydratedTitleText string `protobuf:"bytes,2,opt,name=hydratedTitleText,oneof"`
}

type HydratedFourRowTemplate_ImageMessage struct {
	ImageMessage *ImageMessage `protobuf:"bytes,3,opt,name=imageMessage,oneof"`
}

type HydratedFourRowTemplate_VideoMessage struct {
	VideoMessage *VideoMessage `protobuf:"bytes,4,opt,name=videoMessage,oneof"`
}

type HydratedFourRowTemplate_LocationMessage struct {
	LocationMessage *LocationMessage `protobuf:"bytes,5,opt,name=locationMessage,oneof"`
}

func (*HydratedFourRowTemplate_DocumentMessage) isHydratedFourRowTemplate_Title() {}

func (*HydratedFourRowTemplate_HydratedTitleText) isHydratedFourRowTemplate_Title() {}

func (*HydratedFourRowTemplate_ImageMessage) isHydratedFourRowTemplate_Title() {}

func (*HydratedFourRowTemplate_VideoMessage) isHydratedFourRowTemplate_Title() {}

func (*HydratedFourRowTemplate_LocationMessage) isHydratedFourRowTemplate_Title() {}

func (m *HydratedFourRowTemplate) GetTitle() isHydratedFourRowTemplate_Title {
	if m != nil {
		return m.Title
	}
	return nil
}

func (m *HydratedFourRowTemplate) GetDocumentMessage() *DocumentMessage {
	if x, ok := m.GetTitle().(*HydratedFourRowTemplate_DocumentMessage); ok {
		return x.DocumentMessage
	}
	return nil
}

func (m *HydratedFourRowTemplate) GetHydratedTitleText() string {
	if x, ok := m.GetTitle().(*HydratedFourRowTemplate_HydratedTitleText); ok {
		return x.HydratedTitleText
	}
	return ""
}

func (m *HydratedFourRowTemplate) GetImageMessage() *ImageMessage {
	if x, ok := m.GetTitle().(*HydratedFourRowTemplate_ImageMessage); ok {
		return x.ImageMessage
	}
	return nil
}

func (m *HydratedFourRowTemplate) GetVideoMessage() *VideoMessage {
	if x, ok := m.GetTitle().(*HydratedFourRowTemplate_VideoMessage); ok {
		return x.VideoMessage
	}
	return nil
}

func (m *HydratedFourRowTemplate) GetLocationMessage() *LocationMessage {
	if x, ok := m.GetTitle().(*HydratedFourRowTemplate_LocationMessage); ok {
		return x.LocationMessage
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*HydratedFourRowTemplate) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*HydratedFourRowTemplate_DocumentMessage)(nil),
		(*HydratedFourRowTemplate_HydratedTitleText)(nil),
		(*HydratedFourRowTemplate_ImageMessage)(nil),
		(*HydratedFourRowTemplate_VideoMessage)(nil),
		(*HydratedFourRowTemplate_LocationMessage)(nil),
	}
}

type TemplateMessage struct {
	ContextInfo      *ContextInfo             `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"`
	HydratedTemplate *HydratedFourRowTemplate `protobuf:"bytes,4,opt,name=hydratedTemplate" json:"hydratedTemplate,omitempty"`
	// Types that are valid to be assigned to Format:
	//	*TemplateMessage_FourRowTemplate
	//	*TemplateMessage_HydratedFourRowTemplate
	Format               isTemplateMessage_Format `protobuf_oneof:"format"`
	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
	XXX_unrecognized     []byte                   `json:"-"`
	XXX_sizecache        int32                    `json:"-"`
}

func (m *TemplateMessage) Reset()         { *m = TemplateMessage{} }
func (m *TemplateMessage) String() string { return proto.CompactTextString(m) }
func (*TemplateMessage) ProtoMessage()    {}
func (*TemplateMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{40}
}

func (m *TemplateMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TemplateMessage.Unmarshal(m, b)
}
func (m *TemplateMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TemplateMessage.Marshal(b, m, deterministic)
}
func (m *TemplateMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TemplateMessage.Merge(m, src)
}
func (m *TemplateMessage) XXX_Size() int {
	return xxx_messageInfo_TemplateMessage.Size(m)
}
func (m *TemplateMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_TemplateMessage.DiscardUnknown(m)
}

var xxx_messageInfo_TemplateMessage proto.InternalMessageInfo

func (m *TemplateMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

func (m *TemplateMessage) GetHydratedTemplate() *HydratedFourRowTemplate {
	if m != nil {
		return m.HydratedTemplate
	}
	return nil
}

type isTemplateMessage_Format interface {
	isTemplateMessage_Format()
}

type TemplateMessage_FourRowTemplate struct {
	FourRowTemplate *FourRowTemplate `protobuf:"bytes,1,opt,name=fourRowTemplate,oneof"`
}

type TemplateMessage_HydratedFourRowTemplate struct {
	HydratedFourRowTemplate *HydratedFourRowTemplate `protobuf:"bytes,2,opt,name=hydratedFourRowTemplate,oneof"`
}

func (*TemplateMessage_FourRowTemplate) isTemplateMessage_Format() {}

func (*TemplateMessage_HydratedFourRowTemplate) isTemplateMessage_Format() {}

func (m *TemplateMessage) GetFormat() isTemplateMessage_Format {
	if m != nil {
		return m.Format
	}
	return nil
}

func (m *TemplateMessage) GetFourRowTemplate() *FourRowTemplate {
	if x, ok := m.GetFormat().(*TemplateMessage_FourRowTemplate); ok {
		return x.FourRowTemplate
	}
	return nil
}

func (m *TemplateMessage) GetHydratedFourRowTemplate() *HydratedFourRowTemplate {
	if x, ok := m.GetFormat().(*TemplateMessage_HydratedFourRowTemplate); ok {
		return x.HydratedFourRowTemplate
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*TemplateMessage) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*TemplateMessage_FourRowTemplate)(nil),
		(*TemplateMessage_HydratedFourRowTemplate)(nil),
	}
}

type TemplateButtonReplyMessage struct {
	SelectedId           *string      `protobuf:"bytes,1,opt,name=selectedId" json:"selectedId,omitempty"`
	SelectedDisplayText  *string      `protobuf:"bytes,2,opt,name=selectedDisplayText" json:"selectedDisplayText,omitempty"`
	ContextInfo          *ContextInfo `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"`
	SelectedIndex        *uint32      `protobuf:"varint,4,opt,name=selectedIndex" json:"selectedIndex,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *TemplateButtonReplyMessage) Reset()         { *m = TemplateButtonReplyMessage{} }
func (m *TemplateButtonReplyMessage) String() string { return proto.CompactTextString(m) }
func (*TemplateButtonReplyMessage) ProtoMessage()    {}
func (*TemplateButtonReplyMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{41}
}

func (m *TemplateButtonReplyMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TemplateButtonReplyMessage.Unmarshal(m, b)
}
func (m *TemplateButtonReplyMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TemplateButtonReplyMessage.Marshal(b, m, deterministic)
}
func (m *TemplateButtonReplyMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TemplateButtonReplyMessage.Merge(m, src)
}
func (m *TemplateButtonReplyMessage) XXX_Size() int {
	return xxx_messageInfo_TemplateButtonReplyMessage.Size(m)
}
func (m *TemplateButtonReplyMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_TemplateButtonReplyMessage.DiscardUnknown(m)
}

var xxx_messageInfo_TemplateButtonReplyMessage proto.InternalMessageInfo

func (m *TemplateButtonReplyMessage) GetSelectedId() string {
	if m != nil && m.SelectedId != nil {
		return *m.SelectedId
	}
	return ""
}

func (m *TemplateButtonReplyMessage) GetSelectedDisplayText() string {
	if m != nil && m.SelectedDisplayText != nil {
		return *m.SelectedDisplayText
	}
	return ""
}

func (m *TemplateButtonReplyMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

func (m *TemplateButtonReplyMessage) GetSelectedIndex() uint32 {
	if m != nil && m.SelectedIndex != nil {
		return *m.SelectedIndex
	}
	return 0
}

type CatalogSnapshot struct {
	CatalogImage         *ImageMessage `protobuf:"bytes,1,opt,name=catalogImage" json:"catalogImage,omitempty"`
	Title                *string       `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"`
	Description          *string       `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *CatalogSnapshot) Reset()         { *m = CatalogSnapshot{} }
func (m *CatalogSnapshot) String() string { return proto.CompactTextString(m) }
func (*CatalogSnapshot) ProtoMessage()    {}
func (*CatalogSnapshot) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{42}
}

func (m *CatalogSnapshot) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CatalogSnapshot.Unmarshal(m, b)
}
func (m *CatalogSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CatalogSnapshot.Marshal(b, m, deterministic)
}
func (m *CatalogSnapshot) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CatalogSnapshot.Merge(m, src)
}
func (m *CatalogSnapshot) XXX_Size() int {
	return xxx_messageInfo_CatalogSnapshot.Size(m)
}
func (m *CatalogSnapshot) XXX_DiscardUnknown() {
	xxx_messageInfo_CatalogSnapshot.DiscardUnknown(m)
}

var xxx_messageInfo_CatalogSnapshot proto.InternalMessageInfo

func (m *CatalogSnapshot) GetCatalogImage() *ImageMessage {
	if m != nil {
		return m.CatalogImage
	}
	return nil
}

func (m *CatalogSnapshot) GetTitle() string {
	if m != nil && m.Title != nil {
		return *m.Title
	}
	return ""
}

func (m *CatalogSnapshot) GetDescription() string {
	if m != nil && m.Description != nil {
		return *m.Description
	}
	return ""
}

type ProductSnapshot struct {
	ProductImage         *ImageMessage `protobuf:"bytes,1,opt,name=productImage" json:"productImage,omitempty"`
	ProductId            *string       `protobuf:"bytes,2,opt,name=productId" json:"productId,omitempty"`
	Title                *string       `protobuf:"bytes,3,opt,name=title" json:"title,omitempty"`
	Description          *string       `protobuf:"bytes,4,opt,name=description" json:"description,omitempty"`
	CurrencyCode         *string       `protobuf:"bytes,5,opt,name=currencyCode" json:"currencyCode,omitempty"`
	PriceAmount1000      *int64        `protobuf:"varint,6,opt,name=priceAmount1000" json:"priceAmount1000,omitempty"`
	RetailerId           *string       `protobuf:"bytes,7,opt,name=retailerId" json:"retailerId,omitempty"`
	Url                  *string       `protobuf:"bytes,8,opt,name=url" json:"url,omitempty"`
	ProductImageCount    *uint32       `protobuf:"varint,9,opt,name=productImageCount" json:"productImageCount,omitempty"`
	FirstImageId         *string       `protobuf:"bytes,11,opt,name=firstImageId" json:"firstImageId,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *ProductSnapshot) Reset()         { *m = ProductSnapshot{} }
func (m *ProductSnapshot) String() string { return proto.CompactTextString(m) }
func (*ProductSnapshot) ProtoMessage()    {}
func (*ProductSnapshot) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{43}
}

func (m *ProductSnapshot) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProductSnapshot.Unmarshal(m, b)
}
func (m *ProductSnapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProductSnapshot.Marshal(b, m, deterministic)
}
func (m *ProductSnapshot) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProductSnapshot.Merge(m, src)
}
func (m *ProductSnapshot) XXX_Size() int {
	return xxx_messageInfo_ProductSnapshot.Size(m)
}
func (m *ProductSnapshot) XXX_DiscardUnknown() {
	xxx_messageInfo_ProductSnapshot.DiscardUnknown(m)
}

var xxx_messageInfo_ProductSnapshot proto.InternalMessageInfo

func (m *ProductSnapshot) GetProductImage() *ImageMessage {
	if m != nil {
		return m.ProductImage
	}
	return nil
}

func (m *ProductSnapshot) GetProductId() string {
	if m != nil && m.ProductId != nil {
		return *m.ProductId
	}
	return ""
}

func (m *ProductSnapshot) GetTitle() string {
	if m != nil && m.Title != nil {
		return *m.Title
	}
	return ""
}

func (m *ProductSnapshot) GetDescription() string {
	if m != nil && m.Description != nil {
		return *m.Description
	}
	return ""
}

func (m *ProductSnapshot) GetCurrencyCode() string {
	if m != nil && m.CurrencyCode != nil {
		return *m.CurrencyCode
	}
	return ""
}

func (m *ProductSnapshot) GetPriceAmount1000() int64 {
	if m != nil && m.PriceAmount1000 != nil {
		return *m.PriceAmount1000
	}
	return 0
}

func (m *ProductSnapshot) GetRetailerId() string {
	if m != nil && m.RetailerId != nil {
		return *m.RetailerId
	}
	return ""
}

func (m *ProductSnapshot) GetUrl() string {
	if m != nil && m.Url != nil {
		return *m.Url
	}
	return ""
}

func (m *ProductSnapshot) GetProductImageCount() uint32 {
	if m != nil && m.ProductImageCount != nil {
		return *m.ProductImageCount
	}
	return 0
}

func (m *ProductSnapshot) GetFirstImageId() string {
	if m != nil && m.FirstImageId != nil {
		return *m.FirstImageId
	}
	return ""
}

type ProductMessage struct {
	Product              *ProductSnapshot `protobuf:"bytes,1,opt,name=product" json:"product,omitempty"`
	BusinessOwnerJid     *string          `protobuf:"bytes,2,opt,name=businessOwnerJid" json:"businessOwnerJid,omitempty"`
	Catalog              *CatalogSnapshot `protobuf:"bytes,4,opt,name=catalog" json:"catalog,omitempty"`
	ContextInfo          *ContextInfo     `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *ProductMessage) Reset()         { *m = ProductMessage{} }
func (m *ProductMessage) String() string { return proto.CompactTextString(m) }
func (*ProductMessage) ProtoMessage()    {}
func (*ProductMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{44}
}

func (m *ProductMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ProductMessage.Unmarshal(m, b)
}
func (m *ProductMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ProductMessage.Marshal(b, m, deterministic)
}
func (m *ProductMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ProductMessage.Merge(m, src)
}
func (m *ProductMessage) XXX_Size() int {
	return xxx_messageInfo_ProductMessage.Size(m)
}
func (m *ProductMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_ProductMessage.DiscardUnknown(m)
}

var xxx_messageInfo_ProductMessage proto.InternalMessageInfo

func (m *ProductMessage) GetProduct() *ProductSnapshot {
	if m != nil {
		return m.Product
	}
	return nil
}

func (m *ProductMessage) GetBusinessOwnerJid() string {
	if m != nil && m.BusinessOwnerJid != nil {
		return *m.BusinessOwnerJid
	}
	return ""
}

func (m *ProductMessage) GetCatalog() *CatalogSnapshot {
	if m != nil {
		return m.Catalog
	}
	return nil
}

func (m *ProductMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

type GroupInviteMessage struct {
	GroupJid             *string      `protobuf:"bytes,1,opt,name=groupJid" json:"groupJid,omitempty"`
	InviteCode           *string      `protobuf:"bytes,2,opt,name=inviteCode" json:"inviteCode,omitempty"`
	InviteExpiration     *int64       `protobuf:"varint,3,opt,name=inviteExpiration" json:"inviteExpiration,omitempty"`
	GroupName            *string      `protobuf:"bytes,4,opt,name=groupName" json:"groupName,omitempty"`
	JpegThumbnail        []byte       `protobuf:"bytes,5,opt,name=jpegThumbnail" json:"jpegThumbnail,omitempty"`
	Caption              *string      `protobuf:"bytes,6,opt,name=caption" json:"caption,omitempty"`
	ContextInfo          *ContextInfo `protobuf:"bytes,7,opt,name=contextInfo" json:"contextInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

func (m *GroupInviteMessage) Reset()         { *m = GroupInviteMessage{} }
func (m *GroupInviteMessage) String() string { return proto.CompactTextString(m) }
func (*GroupInviteMessage) ProtoMessage()    {}
func (*GroupInviteMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{45}
}

func (m *GroupInviteMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupInviteMessage.Unmarshal(m, b)
}
func (m *GroupInviteMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupInviteMessage.Marshal(b, m, deterministic)
}
func (m *GroupInviteMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupInviteMessage.Merge(m, src)
}
func (m *GroupInviteMessage) XXX_Size() int {
	return xxx_messageInfo_GroupInviteMessage.Size(m)
}
func (m *GroupInviteMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupInviteMessage.DiscardUnknown(m)
}

var xxx_messageInfo_GroupInviteMessage proto.InternalMessageInfo

func (m *GroupInviteMessage) GetGroupJid() string {
	if m != nil && m.GroupJid != nil {
		return *m.GroupJid
	}
	return ""
}

func (m *GroupInviteMessage) GetInviteCode() string {
	if m != nil && m.InviteCode != nil {
		return *m.InviteCode
	}
	return ""
}

func (m *GroupInviteMessage) GetInviteExpiration() int64 {
	if m != nil && m.InviteExpiration != nil {
		return *m.InviteExpiration
	}
	return 0
}

func (m *GroupInviteMessage) GetGroupName() string {
	if m != nil && m.GroupName != nil {
		return *m.GroupName
	}
	return ""
}

func (m *GroupInviteMessage) GetJpegThumbnail() []byte {
	if m != nil {
		return m.JpegThumbnail
	}
	return nil
}

func (m *GroupInviteMessage) GetCaption() string {
	if m != nil && m.Caption != nil {
		return *m.Caption
	}
	return ""
}

func (m *GroupInviteMessage) GetContextInfo() *ContextInfo {
	if m != nil {
		return m.ContextInfo
	}
	return nil
}

type DeviceSentMessage struct {
	DestinationJid       *string  `protobuf:"bytes,1,opt,name=destinationJid" json:"destinationJid,omitempty"`
	Message              *Message `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeviceSentMessage) Reset()         { *m = DeviceSentMessage{} }
func (m *DeviceSentMessage) String() string { return proto.CompactTextString(m) }
func (*DeviceSentMessage) ProtoMessage()    {}
func (*DeviceSentMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{46}
}

func (m *DeviceSentMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeviceSentMessage.Unmarshal(m, b)
}
func (m *DeviceSentMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeviceSentMessage.Marshal(b, m, deterministic)
}
func (m *DeviceSentMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeviceSentMessage.Merge(m, src)
}
func (m *DeviceSentMessage) XXX_Size() int {
	return xxx_messageInfo_DeviceSentMessage.Size(m)
}
func (m *DeviceSentMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_DeviceSentMessage.DiscardUnknown(m)
}

var xxx_messageInfo_DeviceSentMessage proto.InternalMessageInfo

func (m *DeviceSentMessage) GetDestinationJid() string {
	if m != nil && m.DestinationJid != nil {
		return *m.DestinationJid
	}
	return ""
}

func (m *DeviceSentMessage) GetMessage() *Message {
	if m != nil {
		return m.Message
	}
	return nil
}

type DeviceSyncMessage struct {
	SerializedXmlBytes   []byte   `protobuf:"bytes,1,opt,name=serializedXmlBytes" json:"serializedXmlBytes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeviceSyncMessage) Reset()         { *m = DeviceSyncMessage{} }
func (m *DeviceSyncMessage) String() string { return proto.CompactTextString(m) }
func (*DeviceSyncMessage) ProtoMessage()    {}
func (*DeviceSyncMessage) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{47}
}

func (m *DeviceSyncMessage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_DeviceSyncMessage.Unmarshal(m, b)
}
func (m *DeviceSyncMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_DeviceSyncMessage.Marshal(b, m, deterministic)
}
func (m *DeviceSyncMessage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_DeviceSyncMessage.Merge(m, src)
}
func (m *DeviceSyncMessage) XXX_Size() int {
	return xxx_messageInfo_DeviceSyncMessage.Size(m)
}
func (m *DeviceSyncMessage) XXX_DiscardUnknown() {
	xxx_messageInfo_DeviceSyncMessage.DiscardUnknown(m)
}

var xxx_messageInfo_DeviceSyncMessage proto.InternalMessageInfo

func (m *DeviceSyncMessage) GetSerializedXmlBytes() []byte {
	if m != nil {
		return m.SerializedXmlBytes
	}
	return nil
}

type Message struct {
	Conversation                               *string                       `protobuf:"bytes,1,opt,name=conversation" json:"conversation,omitempty"`
	SenderKeyDistributionMessage               *SenderKeyDistributionMessage `protobuf:"bytes,2,opt,name=senderKeyDistributionMessage" json:"senderKeyDistributionMessage,omitempty"`
	ImageMessage                               *ImageMessage                 `protobuf:"bytes,3,opt,name=imageMessage" json:"imageMessage,omitempty"`
	ContactMessage                             *ContactMessage               `protobuf:"bytes,4,opt,name=contactMessage" json:"contactMessage,omitempty"`
	LocationMessage                            *LocationMessage              `protobuf:"bytes,5,opt,name=locationMessage" json:"locationMessage,omitempty"`
	ExtendedTextMessage                        *ExtendedTextMessage          `protobuf:"bytes,6,opt,name=extendedTextMessage" json:"extendedTextMessage,omitempty"`
	DocumentMessage                            *DocumentMessage              `protobuf:"bytes,7,opt,name=documentMessage" json:"documentMessage,omitempty"`
	AudioMessage                               *AudioMessage                 `protobuf:"bytes,8,opt,name=audioMessage" json:"audioMessage,omitempty"`
	VideoMessage                               *VideoMessage                 `protobuf:"bytes,9,opt,name=videoMessage" json:"videoMessage,omitempty"`
	Call                                       *Call                         `protobuf:"bytes,10,opt,name=call" json:"call,omitempty"`
	Chat                                       *Chat                         `protobuf:"bytes,11,opt,name=chat" json:"chat,omitempty"`
	ProtocolMessage                            *ProtocolMessage              `protobuf:"bytes,12,opt,name=protocolMessage" json:"protocolMessage,omitempty"`
	ContactsArrayMessage                       *ContactsArrayMessage         `protobuf:"bytes,13,opt,name=contactsArrayMessage" json:"contactsArrayMessage,omitempty"`
	HighlyStructuredMessage                    *HighlyStructuredMessage      `protobuf:"bytes,14,opt,name=highlyStructuredMessage" json:"highlyStructuredMessage,omitempty"`
	FastRatchetKeySenderKeyDistributionMessage *SenderKeyDistributionMessage `protobuf:"bytes,15,opt,name=fastRatchetKeySenderKeyDistributionMessage" json:"fastRatchetKeySenderKeyDistributionMessage,omitempty"`
	SendPaymentMessage                         *SendPaymentMessage           `protobuf:"bytes,16,opt,name=sendPaymentMessage" json:"sendPaymentMessage,omitempty"`
	LiveLocationMessage                        *LiveLocationMessage          `protobuf:"bytes,18,opt,name=liveLocationMessage" json:"liveLocationMessage,omitempty"`
	RequestPaymentMessage                      *RequestPaymentMessage        `protobuf:"bytes,22,opt,name=requestPaymentMessage" json:"requestPaymentMessage,omitempty"`
	DeclinePaymentRequestMessage               *DeclinePaymentRequestMessage `protobuf:"bytes,23,opt,name=declinePaymentRequestMessage" json:"declinePaymentRequestMessage,omitempty"`
	CancelPaymentRequestMessage                *CancelPaymentRequestMessage  `protobuf:"bytes,24,opt,name=cancelPaymentRequestMessage" json:"cancelPaymentRequestMessage,omitempty"`
	TemplateMessage                            *TemplateMessage              `protobuf:"bytes,25,opt,name=templateMessage" json:"templateMessage,omitempty"`
	StickerMessage                             *StickerMessage               `protobuf:"bytes,26,opt,name=stickerMessage" json:"stickerMessage,omitempty"`
	GroupInviteMessage                         *GroupInviteMessage           `protobuf:"bytes,28,opt,name=groupInviteMessage" json:"groupInviteMessage,omitempty"`
	TemplateButtonReplyMessage                 *TemplateButtonReplyMessage   `protobuf:"bytes,29,opt,name=templateButtonReplyMessage" json:"templateButtonReplyMessage,omitempty"`
	ProductMessage                             *ProductMessage               `protobuf:"bytes,30,opt,name=productMessage" json:"productMessage,omitempty"`
	DeviceSentMessage                          *DeviceSentMessage            `protobuf:"bytes,31,opt,name=deviceSentMessage" json:"deviceSentMessage,omitempty"`
	DeviceSyncMessage                          *DeviceSyncMessage            `protobuf:"bytes,32,opt,name=deviceSyncMessage" json:"deviceSyncMessage,omitempty"`
	XXX_NoUnkeyedLiteral                       struct{}                      `json:"-"`
	XXX_unrecognized                           []byte                        `json:"-"`
	XXX_sizecache                              int32                         `json:"-"`
}

func (m *Message) Reset()         { *m = Message{} }
func (m *Message) String() string { return proto.CompactTextString(m) }
func (*Message) ProtoMessage()    {}
func (*Message) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{48}
}

func (m *Message) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Message.Unmarshal(m, b)
}
func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Message.Marshal(b, m, deterministic)
}
func (m *Message) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Message.Merge(m, src)
}
func (m *Message) XXX_Size() int {
	return xxx_messageInfo_Message.Size(m)
}
func (m *Message) XXX_DiscardUnknown() {
	xxx_messageInfo_Message.DiscardUnknown(m)
}

var xxx_messageInfo_Message proto.InternalMessageInfo

func (m *Message) GetConversation() string {
	if m != nil && m.Conversation != nil {
		return *m.Conversation
	}
	return ""
}

func (m *Message) GetSenderKeyDistributionMessage() *SenderKeyDistributionMessage {
	if m != nil {
		return m.SenderKeyDistributionMessage
	}
	return nil
}

func (m *Message) GetImageMessage() *ImageMessage {
	if m != nil {
		return m.ImageMessage
	}
	return nil
}

func (m *Message) GetContactMessage() *ContactMessage {
	if m != nil {
		return m.ContactMessage
	}
	return nil
}

func (m *Message) GetLocationMessage() *LocationMessage {
	if m != nil {
		return m.LocationMessage
	}
	return nil
}

func (m *Message) GetExtendedTextMessage() *ExtendedTextMessage {
	if m != nil {
		return m.ExtendedTextMessage
	}
	return nil
}

func (m *Message) GetDocumentMessage() *DocumentMessage {
	if m != nil {
		return m.DocumentMessage
	}
	return nil
}

func (m *Message) GetAudioMessage() *AudioMessage {
	if m != nil {
		return m.AudioMessage
	}
	return nil
}

func (m *Message) GetVideoMessage() *VideoMessage {
	if m != nil {
		return m.VideoMessage
	}
	return nil
}

func (m *Message) GetCall() *Call {
	if m != nil {
		return m.Call
	}
	return nil
}

func (m *Message) GetChat() *Chat {
	if m != nil {
		return m.Chat
	}
	return nil
}

func (m *Message) GetProtocolMessage() *ProtocolMessage {
	if m != nil {
		return m.ProtocolMessage
	}
	return nil
}

func (m *Message) GetContactsArrayMessage() *ContactsArrayMessage {
	if m != nil {
		return m.ContactsArrayMessage
	}
	return nil
}

func (m *Message) GetHighlyStructuredMessage() *HighlyStructuredMessage {
	if m != nil {
		return m.HighlyStructuredMessage
	}
	return nil
}

func (m *Message) GetFastRatchetKeySenderKeyDistributionMessage() *SenderKeyDistributionMessage {
	if m != nil {
		return m.FastRatchetKeySenderKeyDistributionMessage
	}
	return nil
}

func (m *Message) GetSendPaymentMessage() *SendPaymentMessage {
	if m != nil {
		return m.SendPaymentMessage
	}
	return nil
}

func (m *Message) GetLiveLocationMessage() *LiveLocationMessage {
	if m != nil {
		return m.LiveLocationMessage
	}
	return nil
}

func (m *Message) GetRequestPaymentMessage() *RequestPaymentMessage {
	if m != nil {
		return m.RequestPaymentMessage
	}
	return nil
}

func (m *Message) GetDeclinePaymentRequestMessage() *DeclinePaymentRequestMessage {
	if m != nil {
		return m.DeclinePaymentRequestMessage
	}
	return nil
}

func (m *Message) GetCancelPaymentRequestMessage() *CancelPaymentRequestMessage {
	if m != nil {
		return m.CancelPaymentRequestMessage
	}
	return nil
}

func (m *Message) GetTemplateMessage() *TemplateMessage {
	if m != nil {
		return m.TemplateMessage
	}
	return nil
}

func (m *Message) GetStickerMessage() *StickerMessage {
	if m != nil {
		return m.StickerMessage
	}
	return nil
}

func (m *Message) GetGroupInviteMessage() *GroupInviteMessage {
	if m != nil {
		return m.GroupInviteMessage
	}
	return nil
}

func (m *Message) GetTemplateButtonReplyMessage() *TemplateButtonReplyMessage {
	if m != nil {
		return m.TemplateButtonReplyMessage
	}
	return nil
}

func (m *Message) GetProductMessage() *ProductMessage {
	if m != nil {
		return m.ProductMessage
	}
	return nil
}

func (m *Message) GetDeviceSentMessage() *DeviceSentMessage {
	if m != nil {
		return m.DeviceSentMessage
	}
	return nil
}

func (m *Message) GetDeviceSyncMessage() *DeviceSyncMessage {
	if m != nil {
		return m.DeviceSyncMessage
	}
	return nil
}

type MessageKey struct {
	RemoteJid            *string  `protobuf:"bytes,1,opt,name=remoteJid" json:"remoteJid,omitempty"`
	FromMe               *bool    `protobuf:"varint,2,opt,name=fromMe" json:"fromMe,omitempty"`
	Id                   *string  `protobuf:"bytes,3,opt,name=id" json:"id,omitempty"`
	Participant          *string  `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MessageKey) Reset()         { *m = MessageKey{} }
func (m *MessageKey) String() string { return proto.CompactTextString(m) }
func (*MessageKey) ProtoMessage()    {}
func (*MessageKey) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{49}
}

func (m *MessageKey) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MessageKey.Unmarshal(m, b)
}
func (m *MessageKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MessageKey.Marshal(b, m, deterministic)
}
func (m *MessageKey) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MessageKey.Merge(m, src)
}
func (m *MessageKey) XXX_Size() int {
	return xxx_messageInfo_MessageKey.Size(m)
}
func (m *MessageKey) XXX_DiscardUnknown() {
	xxx_messageInfo_MessageKey.DiscardUnknown(m)
}

var xxx_messageInfo_MessageKey proto.InternalMessageInfo

func (m *MessageKey) GetRemoteJid() string {
	if m != nil && m.RemoteJid != nil {
		return *m.RemoteJid
	}
	return ""
}

func (m *MessageKey) GetFromMe() bool {
	if m != nil && m.FromMe != nil {
		return *m.FromMe
	}
	return false
}

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

func (m *MessageKey) GetParticipant() string {
	if m != nil && m.Participant != nil {
		return *m.Participant
	}
	return ""
}

type WebFeatures struct {
	LabelsDisplay                *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,1,opt,name=labelsDisplay,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"labelsDisplay,omitempty"`
	VoipIndividualOutgoing       *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,2,opt,name=voipIndividualOutgoing,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"voipIndividualOutgoing,omitempty"`
	GroupsV3                     *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,3,opt,name=groupsV3,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"groupsV3,omitempty"`
	GroupsV3Create               *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,4,opt,name=groupsV3Create,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"groupsV3Create,omitempty"`
	ChangeNumberV2               *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,5,opt,name=changeNumberV2,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"changeNumberV2,omitempty"`
	QueryStatusV3Thumbnail       *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,6,opt,name=queryStatusV3Thumbnail,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"queryStatusV3Thumbnail,omitempty"`
	LiveLocations                *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,7,opt,name=liveLocations,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"liveLocations,omitempty"`
	QueryVname                   *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,8,opt,name=queryVname,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"queryVname,omitempty"`
	VoipIndividualIncoming       *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,9,opt,name=voipIndividualIncoming,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"voipIndividualIncoming,omitempty"`
	QuickRepliesQuery            *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,10,opt,name=quickRepliesQuery,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"quickRepliesQuery,omitempty"`
	Payments                     *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,11,opt,name=payments,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"payments,omitempty"`
	StickerPackQuery             *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,12,opt,name=stickerPackQuery,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"stickerPackQuery,omitempty"`
	LiveLocationsFinal           *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,13,opt,name=liveLocationsFinal,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"liveLocationsFinal,omitempty"`
	LabelsEdit                   *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,14,opt,name=labelsEdit,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"labelsEdit,omitempty"`
	MediaUpload                  *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,15,opt,name=mediaUpload,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"mediaUpload,omitempty"`
	MediaUploadRichQuickReplies  *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,18,opt,name=mediaUploadRichQuickReplies,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"mediaUploadRichQuickReplies,omitempty"`
	VnameV2                      *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,19,opt,name=vnameV2,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"vnameV2,omitempty"`
	VideoPlaybackUrl             *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,20,opt,name=videoPlaybackUrl,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"videoPlaybackUrl,omitempty"`
	StatusRanking                *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,21,opt,name=statusRanking,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"statusRanking,omitempty"`
	VoipIndividualVideo          *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,22,opt,name=voipIndividualVideo,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"voipIndividualVideo,omitempty"`
	ThirdPartyStickers           *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,23,opt,name=thirdPartyStickers,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"thirdPartyStickers,omitempty"`
	FrequentlyForwardedSetting   *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,24,opt,name=frequentlyForwardedSetting,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"frequentlyForwardedSetting,omitempty"`
	GroupsV4JoinPermission       *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,25,opt,name=groupsV4JoinPermission,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"groupsV4JoinPermission,omitempty"`
	RecentStickers               *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,26,opt,name=recentStickers,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"recentStickers,omitempty"`
	Catalog                      *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,27,opt,name=catalog,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"catalog,omitempty"`
	StarredStickers              *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,28,opt,name=starredStickers,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"starredStickers,omitempty"`
	VoipGroupCall                *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,29,opt,name=voipGroupCall,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"voipGroupCall,omitempty"`
	TemplateMessage              *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,30,opt,name=templateMessage,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"templateMessage,omitempty"`
	TemplateMessageInteractivity *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,31,opt,name=templateMessageInteractivity,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"templateMessageInteractivity,omitempty"`
	EphemeralMessages            *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,32,opt,name=ephemeralMessages,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"ephemeralMessages,omitempty"`
	E2ENotificationSync          *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,33,opt,name=e2ENotificationSync,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"e2ENotificationSync,omitempty"`
	RecentStickersV2             *WebFeatures_WEB_FEATURES_FLAG `protobuf:"varint,34,opt,name=recentStickersV2,enum=proto.WebFeatures_WEB_FEATURES_FLAG" json:"recentStickersV2,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                       `json:"-"`
	XXX_unrecognized             []byte                         `json:"-"`
	XXX_sizecache                int32                          `json:"-"`
}

func (m *WebFeatures) Reset()         { *m = WebFeatures{} }
func (m *WebFeatures) String() string { return proto.CompactTextString(m) }
func (*WebFeatures) ProtoMessage()    {}
func (*WebFeatures) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{50}
}

func (m *WebFeatures) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WebFeatures.Unmarshal(m, b)
}
func (m *WebFeatures) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WebFeatures.Marshal(b, m, deterministic)
}
func (m *WebFeatures) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WebFeatures.Merge(m, src)
}
func (m *WebFeatures) XXX_Size() int {
	return xxx_messageInfo_WebFeatures.Size(m)
}
func (m *WebFeatures) XXX_DiscardUnknown() {
	xxx_messageInfo_WebFeatures.DiscardUnknown(m)
}

var xxx_messageInfo_WebFeatures proto.InternalMessageInfo

func (m *WebFeatures) GetLabelsDisplay() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.LabelsDisplay != nil {
		return *m.LabelsDisplay
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetVoipIndividualOutgoing() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.VoipIndividualOutgoing != nil {
		return *m.VoipIndividualOutgoing
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetGroupsV3() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.GroupsV3 != nil {
		return *m.GroupsV3
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetGroupsV3Create() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.GroupsV3Create != nil {
		return *m.GroupsV3Create
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetChangeNumberV2() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.ChangeNumberV2 != nil {
		return *m.ChangeNumberV2
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetQueryStatusV3Thumbnail() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.QueryStatusV3Thumbnail != nil {
		return *m.QueryStatusV3Thumbnail
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetLiveLocations() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.LiveLocations != nil {
		return *m.LiveLocations
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetQueryVname() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.QueryVname != nil {
		return *m.QueryVname
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetVoipIndividualIncoming() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.VoipIndividualIncoming != nil {
		return *m.VoipIndividualIncoming
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetQuickRepliesQuery() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.QuickRepliesQuery != nil {
		return *m.QuickRepliesQuery
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetPayments() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.Payments != nil {
		return *m.Payments
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetStickerPackQuery() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.StickerPackQuery != nil {
		return *m.StickerPackQuery
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetLiveLocationsFinal() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.LiveLocationsFinal != nil {
		return *m.LiveLocationsFinal
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetLabelsEdit() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.LabelsEdit != nil {
		return *m.LabelsEdit
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetMediaUpload() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.MediaUpload != nil {
		return *m.MediaUpload
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetMediaUploadRichQuickReplies() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.MediaUploadRichQuickReplies != nil {
		return *m.MediaUploadRichQuickReplies
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetVnameV2() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.VnameV2 != nil {
		return *m.VnameV2
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetVideoPlaybackUrl() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.VideoPlaybackUrl != nil {
		return *m.VideoPlaybackUrl
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetStatusRanking() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.StatusRanking != nil {
		return *m.StatusRanking
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetVoipIndividualVideo() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.VoipIndividualVideo != nil {
		return *m.VoipIndividualVideo
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetThirdPartyStickers() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.ThirdPartyStickers != nil {
		return *m.ThirdPartyStickers
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetFrequentlyForwardedSetting() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.FrequentlyForwardedSetting != nil {
		return *m.FrequentlyForwardedSetting
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetGroupsV4JoinPermission() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.GroupsV4JoinPermission != nil {
		return *m.GroupsV4JoinPermission
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetRecentStickers() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.RecentStickers != nil {
		return *m.RecentStickers
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetCatalog() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.Catalog != nil {
		return *m.Catalog
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetStarredStickers() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.StarredStickers != nil {
		return *m.StarredStickers
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetVoipGroupCall() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.VoipGroupCall != nil {
		return *m.VoipGroupCall
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetTemplateMessage() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.TemplateMessage != nil {
		return *m.TemplateMessage
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetTemplateMessageInteractivity() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.TemplateMessageInteractivity != nil {
		return *m.TemplateMessageInteractivity
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetEphemeralMessages() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.EphemeralMessages != nil {
		return *m.EphemeralMessages
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetE2ENotificationSync() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.E2ENotificationSync != nil {
		return *m.E2ENotificationSync
	}
	return WebFeatures_NOT_STARTED
}

func (m *WebFeatures) GetRecentStickersV2() WebFeatures_WEB_FEATURES_FLAG {
	if m != nil && m.RecentStickersV2 != nil {
		return *m.RecentStickersV2
	}
	return WebFeatures_NOT_STARTED
}

type TabletNotificationsInfo struct {
	Timestamp            *uint64                    `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
	UnreadChats          *uint32                    `protobuf:"varint,3,opt,name=unreadChats" json:"unreadChats,omitempty"`
	NotifyMessageCount   *uint32                    `protobuf:"varint,4,opt,name=notifyMessageCount" json:"notifyMessageCount,omitempty"`
	NotifyMessage        []*NotificationMessageInfo `protobuf:"bytes,5,rep,name=notifyMessage" json:"notifyMessage,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *TabletNotificationsInfo) Reset()         { *m = TabletNotificationsInfo{} }
func (m *TabletNotificationsInfo) String() string { return proto.CompactTextString(m) }
func (*TabletNotificationsInfo) ProtoMessage()    {}
func (*TabletNotificationsInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{51}
}

func (m *TabletNotificationsInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_TabletNotificationsInfo.Unmarshal(m, b)
}
func (m *TabletNotificationsInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_TabletNotificationsInfo.Marshal(b, m, deterministic)
}
func (m *TabletNotificationsInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_TabletNotificationsInfo.Merge(m, src)
}
func (m *TabletNotificationsInfo) XXX_Size() int {
	return xxx_messageInfo_TabletNotificationsInfo.Size(m)
}
func (m *TabletNotificationsInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_TabletNotificationsInfo.DiscardUnknown(m)
}

var xxx_messageInfo_TabletNotificationsInfo proto.InternalMessageInfo

func (m *TabletNotificationsInfo) GetTimestamp() uint64 {
	if m != nil && m.Timestamp != nil {
		return *m.Timestamp
	}
	return 0
}

func (m *TabletNotificationsInfo) GetUnreadChats() uint32 {
	if m != nil && m.UnreadChats != nil {
		return *m.UnreadChats
	}
	return 0
}

func (m *TabletNotificationsInfo) GetNotifyMessageCount() uint32 {
	if m != nil && m.NotifyMessageCount != nil {
		return *m.NotifyMessageCount
	}
	return 0
}

func (m *TabletNotificationsInfo) GetNotifyMessage() []*NotificationMessageInfo {
	if m != nil {
		return m.NotifyMessage
	}
	return nil
}

type NotificationMessageInfo struct {
	Key                  *MessageKey `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Message              *Message    `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	MessageTimestamp     *uint64     `protobuf:"varint,3,opt,name=messageTimestamp" json:"messageTimestamp,omitempty"`
	Participant          *string     `protobuf:"bytes,4,opt,name=participant" json:"participant,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *NotificationMessageInfo) Reset()         { *m = NotificationMessageInfo{} }
func (m *NotificationMessageInfo) String() string { return proto.CompactTextString(m) }
func (*NotificationMessageInfo) ProtoMessage()    {}
func (*NotificationMessageInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{52}
}

func (m *NotificationMessageInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NotificationMessageInfo.Unmarshal(m, b)
}
func (m *NotificationMessageInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NotificationMessageInfo.Marshal(b, m, deterministic)
}
func (m *NotificationMessageInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NotificationMessageInfo.Merge(m, src)
}
func (m *NotificationMessageInfo) XXX_Size() int {
	return xxx_messageInfo_NotificationMessageInfo.Size(m)
}
func (m *NotificationMessageInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_NotificationMessageInfo.DiscardUnknown(m)
}

var xxx_messageInfo_NotificationMessageInfo proto.InternalMessageInfo

func (m *NotificationMessageInfo) GetKey() *MessageKey {
	if m != nil {
		return m.Key
	}
	return nil
}

func (m *NotificationMessageInfo) GetMessage() *Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (m *NotificationMessageInfo) GetMessageTimestamp() uint64 {
	if m != nil && m.MessageTimestamp != nil {
		return *m.MessageTimestamp
	}
	return 0
}

func (m *NotificationMessageInfo) GetParticipant() string {
	if m != nil && m.Participant != nil {
		return *m.Participant
	}
	return ""
}

type WebNotificationsInfo struct {
	Timestamp            *uint64           `protobuf:"varint,2,opt,name=timestamp" json:"timestamp,omitempty"`
	UnreadChats          *uint32           `protobuf:"varint,3,opt,name=unreadChats" json:"unreadChats,omitempty"`
	NotifyMessageCount   *uint32           `protobuf:"varint,4,opt,name=notifyMessageCount" json:"notifyMessageCount,omitempty"`
	NotifyMessages       []*WebMessageInfo `protobuf:"bytes,5,rep,name=notifyMessages" json:"notifyMessages,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *WebNotificationsInfo) Reset()         { *m = WebNotificationsInfo{} }
func (m *WebNotificationsInfo) String() string { return proto.CompactTextString(m) }
func (*WebNotificationsInfo) ProtoMessage()    {}
func (*WebNotificationsInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{53}
}

func (m *WebNotificationsInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WebNotificationsInfo.Unmarshal(m, b)
}
func (m *WebNotificationsInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WebNotificationsInfo.Marshal(b, m, deterministic)
}
func (m *WebNotificationsInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WebNotificationsInfo.Merge(m, src)
}
func (m *WebNotificationsInfo) XXX_Size() int {
	return xxx_messageInfo_WebNotificationsInfo.Size(m)
}
func (m *WebNotificationsInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WebNotificationsInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WebNotificationsInfo proto.InternalMessageInfo

func (m *WebNotificationsInfo) GetTimestamp() uint64 {
	if m != nil && m.Timestamp != nil {
		return *m.Timestamp
	}
	return 0
}

func (m *WebNotificationsInfo) GetUnreadChats() uint32 {
	if m != nil && m.UnreadChats != nil {
		return *m.UnreadChats
	}
	return 0
}

func (m *WebNotificationsInfo) GetNotifyMessageCount() uint32 {
	if m != nil && m.NotifyMessageCount != nil {
		return *m.NotifyMessageCount
	}
	return 0
}

func (m *WebNotificationsInfo) GetNotifyMessages() []*WebMessageInfo {
	if m != nil {
		return m.NotifyMessages
	}
	return nil
}

type PaymentInfo struct {
	CurrencyDeprecated   *PaymentInfo_PAYMENT_INFO_CURRENCY  `protobuf:"varint,1,opt,name=currencyDeprecated,enum=proto.PaymentInfo_PAYMENT_INFO_CURRENCY" json:"currencyDeprecated,omitempty"`
	Amount1000           *uint64                             `protobuf:"varint,2,opt,name=amount1000" json:"amount1000,omitempty"`
	ReceiverJid          *string                             `protobuf:"bytes,3,opt,name=receiverJid" json:"receiverJid,omitempty"`
	Status               *PaymentInfo_PAYMENT_INFO_STATUS    `protobuf:"varint,4,opt,name=status,enum=proto.PaymentInfo_PAYMENT_INFO_STATUS" json:"status,omitempty"`
	TransactionTimestamp *uint64                             `protobuf:"varint,5,opt,name=transactionTimestamp" json:"transactionTimestamp,omitempty"`
	RequestMessageKey    *MessageKey                         `protobuf:"bytes,6,opt,name=requestMessageKey" json:"requestMessageKey,omitempty"`
	ExpiryTimestamp      *uint64                             `protobuf:"varint,7,opt,name=expiryTimestamp" json:"expiryTimestamp,omitempty"`
	Futureproofed        *bool                               `protobuf:"varint,8,opt,name=futureproofed" json:"futureproofed,omitempty"`
	Currency             *string                             `protobuf:"bytes,9,opt,name=currency" json:"currency,omitempty"`
	TxnStatus            *PaymentInfo_PAYMENT_INFO_TXNSTATUS `protobuf:"varint,10,opt,name=txnStatus,enum=proto.PaymentInfo_PAYMENT_INFO_TXNSTATUS" json:"txnStatus,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                            `json:"-"`
	XXX_unrecognized     []byte                              `json:"-"`
	XXX_sizecache        int32                               `json:"-"`
}

func (m *PaymentInfo) Reset()         { *m = PaymentInfo{} }
func (m *PaymentInfo) String() string { return proto.CompactTextString(m) }
func (*PaymentInfo) ProtoMessage()    {}
func (*PaymentInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{54}
}

func (m *PaymentInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PaymentInfo.Unmarshal(m, b)
}
func (m *PaymentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PaymentInfo.Marshal(b, m, deterministic)
}
func (m *PaymentInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PaymentInfo.Merge(m, src)
}
func (m *PaymentInfo) XXX_Size() int {
	return xxx_messageInfo_PaymentInfo.Size(m)
}
func (m *PaymentInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_PaymentInfo.DiscardUnknown(m)
}

var xxx_messageInfo_PaymentInfo proto.InternalMessageInfo

func (m *PaymentInfo) GetCurrencyDeprecated() PaymentInfo_PAYMENT_INFO_CURRENCY {
	if m != nil && m.CurrencyDeprecated != nil {
		return *m.CurrencyDeprecated
	}
	return PaymentInfo_UNKNOWN_CURRENCY
}

func (m *PaymentInfo) GetAmount1000() uint64 {
	if m != nil && m.Amount1000 != nil {
		return *m.Amount1000
	}
	return 0
}

func (m *PaymentInfo) GetReceiverJid() string {
	if m != nil && m.ReceiverJid != nil {
		return *m.ReceiverJid
	}
	return ""
}

func (m *PaymentInfo) GetStatus() PaymentInfo_PAYMENT_INFO_STATUS {
	if m != nil && m.Status != nil {
		return *m.Status
	}
	return PaymentInfo_UNKNOWN_STATUS
}

func (m *PaymentInfo) GetTransactionTimestamp() uint64 {
	if m != nil && m.TransactionTimestamp != nil {
		return *m.TransactionTimestamp
	}
	return 0
}

func (m *PaymentInfo) GetRequestMessageKey() *MessageKey {
	if m != nil {
		return m.RequestMessageKey
	}
	return nil
}

func (m *PaymentInfo) GetExpiryTimestamp() uint64 {
	if m != nil && m.ExpiryTimestamp != nil {
		return *m.ExpiryTimestamp
	}
	return 0
}

func (m *PaymentInfo) GetFutureproofed() bool {
	if m != nil && m.Futureproofed != nil {
		return *m.Futureproofed
	}
	return false
}

func (m *PaymentInfo) GetCurrency() string {
	if m != nil && m.Currency != nil {
		return *m.Currency
	}
	return ""
}

func (m *PaymentInfo) GetTxnStatus() PaymentInfo_PAYMENT_INFO_TXNSTATUS {
	if m != nil && m.TxnStatus != nil {
		return *m.TxnStatus
	}
	return PaymentInfo_UNKNOWN
}

type WebMessageInfo struct {
	Key                     *MessageKey                               `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
	Message                 *Message                                  `protobuf:"bytes,2,opt,name=message" json:"message,omitempty"`
	MessageTimestamp        *uint64                                   `protobuf:"varint,3,opt,name=messageTimestamp" json:"messageTimestamp,omitempty"`
	Status                  *WebMessageInfo_WEB_MESSAGE_INFO_STATUS   `protobuf:"varint,4,opt,name=status,enum=proto.WebMessageInfo_WEB_MESSAGE_INFO_STATUS" json:"status,omitempty"`
	Participant             *string                                   `protobuf:"bytes,5,opt,name=participant" json:"participant,omitempty"`
	Ignore                  *bool                                     `protobuf:"varint,16,opt,name=ignore" json:"ignore,omitempty"`
	Starred                 *bool                                     `protobuf:"varint,17,opt,name=starred" json:"starred,omitempty"`
	Broadcast               *bool                                     `protobuf:"varint,18,opt,name=broadcast" json:"broadcast,omitempty"`
	PushName                *string                                   `protobuf:"bytes,19,opt,name=pushName" json:"pushName,omitempty"`
	MediaCiphertextSha256   []byte                                    `protobuf:"bytes,20,opt,name=mediaCiphertextSha256" json:"mediaCiphertextSha256,omitempty"`
	Multicast               *bool                                     `protobuf:"varint,21,opt,name=multicast" json:"multicast,omitempty"`
	UrlText                 *bool                                     `protobuf:"varint,22,opt,name=urlText" json:"urlText,omitempty"`
	UrlNumber               *bool                                     `protobuf:"varint,23,opt,name=urlNumber" json:"urlNumber,omitempty"`
	MessageStubType         *WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE `protobuf:"varint,24,opt,name=messageStubType,enum=proto.WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE" json:"messageStubType,omitempty"`
	ClearMedia              *bool                                     `protobuf:"varint,25,opt,name=clearMedia" json:"clearMedia,omitempty"`
	MessageStubParameters   []string                                  `protobuf:"bytes,26,rep,name=messageStubParameters" json:"messageStubParameters,omitempty"`
	Duration                *uint32                                   `protobuf:"varint,27,opt,name=duration" json:"duration,omitempty"`
	Labels                  []string                                  `protobuf:"bytes,28,rep,name=labels" json:"labels,omitempty"`
	PaymentInfo             *PaymentInfo                              `protobuf:"bytes,29,opt,name=paymentInfo" json:"paymentInfo,omitempty"`
	FinalLiveLocation       *LiveLocationMessage                      `protobuf:"bytes,30,opt,name=finalLiveLocation" json:"finalLiveLocation,omitempty"`
	QuotedPaymentInfo       *PaymentInfo                              `protobuf:"bytes,31,opt,name=quotedPaymentInfo" json:"quotedPaymentInfo,omitempty"`
	EphemeralStartTimestamp *uint64                                   `protobuf:"varint,32,opt,name=ephemeralStartTimestamp" json:"ephemeralStartTimestamp,omitempty"`
	EphemeralDuration       *uint32                                   `protobuf:"varint,33,opt,name=ephemeralDuration" json:"ephemeralDuration,omitempty"`
	XXX_NoUnkeyedLiteral    struct{}                                  `json:"-"`
	XXX_unrecognized        []byte                                    `json:"-"`
	XXX_sizecache           int32                                     `json:"-"`
}

func (m *WebMessageInfo) Reset()         { *m = WebMessageInfo{} }
func (m *WebMessageInfo) String() string { return proto.CompactTextString(m) }
func (*WebMessageInfo) ProtoMessage()    {}
func (*WebMessageInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_76fb0470a3b910d8, []int{55}
}

func (m *WebMessageInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_WebMessageInfo.Unmarshal(m, b)
}
func (m *WebMessageInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_WebMessageInfo.Marshal(b, m, deterministic)
}
func (m *WebMessageInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_WebMessageInfo.Merge(m, src)
}
func (m *WebMessageInfo) XXX_Size() int {
	return xxx_messageInfo_WebMessageInfo.Size(m)
}
func (m *WebMessageInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_WebMessageInfo.DiscardUnknown(m)
}

var xxx_messageInfo_WebMessageInfo proto.InternalMessageInfo

func (m *WebMessageInfo) GetKey() *MessageKey {
	if m != nil {
		return m.Key
	}
	return nil
}

func (m *WebMessageInfo) GetMessage() *Message {
	if m != nil {
		return m.Message
	}
	return nil
}

func (m *WebMessageInfo) GetMessageTimestamp() uint64 {
	if m != nil && m.MessageTimestamp != nil {
		return *m.MessageTimestamp
	}
	return 0
}

func (m *WebMessageInfo) GetStatus() WebMessageInfo_WEB_MESSAGE_INFO_STATUS {
	if m != nil && m.Status != nil {
		return *m.Status
	}
	return WebMessageInfo_ERROR
}

func (m *WebMessageInfo) GetParticipant() string {
	if m != nil && m.Participant != nil {
		return *m.Participant
	}
	return ""
}

func (m *WebMessageInfo) GetIgnore() bool {
	if m != nil && m.Ignore != nil {
		return *m.Ignore
	}
	return false
}

func (m *WebMessageInfo) GetStarred() bool {
	if m != nil && m.Starred != nil {
		return *m.Starred
	}
	return false
}

func (m *WebMessageInfo) GetBroadcast() bool {
	if m != nil && m.Broadcast != nil {
		return *m.Broadcast
	}
	return false
}

func (m *WebMessageInfo) GetPushName() string {
	if m != nil && m.PushName != nil {
		return *m.PushName
	}
	return ""
}

func (m *WebMessageInfo) GetMediaCiphertextSha256() []byte {
	if m != nil {
		return m.MediaCiphertextSha256
	}
	return nil
}

func (m *WebMessageInfo) GetMulticast() bool {
	if m != nil && m.Multicast != nil {
		return *m.Multicast
	}
	return false
}

func (m *WebMessageInfo) GetUrlText() bool {
	if m != nil && m.UrlText != nil {
		return *m.UrlText
	}
	return false
}

func (m *WebMessageInfo) GetUrlNumber() bool {
	if m != nil && m.UrlNumber != nil {
		return *m.UrlNumber
	}
	return false
}

func (m *WebMessageInfo) GetMessageStubType() WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE {
	if m != nil && m.MessageStubType != nil {
		return *m.MessageStubType
	}
	return WebMessageInfo_UNKNOWN
}

func (m *WebMessageInfo) GetClearMedia() bool {
	if m != nil && m.ClearMedia != nil {
		return *m.ClearMedia
	}
	return false
}

func (m *WebMessageInfo) GetMessageStubParameters() []string {
	if m != nil {
		return m.MessageStubParameters
	}
	return nil
}

func (m *WebMessageInfo) GetDuration() uint32 {
	if m != nil && m.Duration != nil {
		return *m.Duration
	}
	return 0
}

func (m *WebMessageInfo) GetLabels() []string {
	if m != nil {
		return m.Labels
	}
	return nil
}

func (m *WebMessageInfo) GetPaymentInfo() *PaymentInfo {
	if m != nil {
		return m.PaymentInfo
	}
	return nil
}

func (m *WebMessageInfo) GetFinalLiveLocation() *LiveLocationMessage {
	if m != nil {
		return m.FinalLiveLocation
	}
	return nil
}

func (m *WebMessageInfo) GetQuotedPaymentInfo() *PaymentInfo {
	if m != nil {
		return m.QuotedPaymentInfo
	}
	return nil
}

func (m *WebMessageInfo) GetEphemeralStartTimestamp() uint64 {
	if m != nil && m.EphemeralStartTimestamp != nil {
		return *m.EphemeralStartTimestamp
	}
	return 0
}

func (m *WebMessageInfo) GetEphemeralDuration() uint32 {
	if m != nil && m.EphemeralDuration != nil {
		return *m.EphemeralDuration
	}
	return 0
}

func init() {
	proto.RegisterEnum("proto.AdReplyInfo_AD_REPLY_INFO_MEDIATYPE", AdReplyInfo_AD_REPLY_INFO_MEDIATYPE_name, AdReplyInfo_AD_REPLY_INFO_MEDIATYPE_value)
	proto.RegisterEnum("proto.ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE", ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE_name, ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_FONTTYPE_value)
	proto.RegisterEnum("proto.ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE", ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE_name, ExtendedTextMessage_EXTENDED_TEXT_MESSAGE_PREVIEWTYPE_value)
	proto.RegisterEnum("proto.VideoMessage_VIDEO_MESSAGE_ATTRIBUTION", VideoMessage_VIDEO_MESSAGE_ATTRIBUTION_name, VideoMessage_VIDEO_MESSAGE_ATTRIBUTION_value)
	proto.RegisterEnum("proto.ProtocolMessage_PROTOCOL_MESSAGE_TYPE", ProtocolMessage_PROTOCOL_MESSAGE_TYPE_name, ProtocolMessage_PROTOCOL_MESSAGE_TYPE_value)
	proto.RegisterEnum("proto.HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE", HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE_name, HistorySyncNotification_HISTORY_SYNC_NOTIFICATION_HISTORYSYNCTYPE_value)
	proto.RegisterEnum("proto.HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE", HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE_name, HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_DAYOFWEEKTYPE_value)
	proto.RegisterEnum("proto.HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE", HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE_name, HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE_value)
	proto.RegisterEnum("proto.WebFeatures_WEB_FEATURES_FLAG", WebFeatures_WEB_FEATURES_FLAG_name, WebFeatures_WEB_FEATURES_FLAG_value)
	proto.RegisterEnum("proto.PaymentInfo_PAYMENT_INFO_CURRENCY", PaymentInfo_PAYMENT_INFO_CURRENCY_name, PaymentInfo_PAYMENT_INFO_CURRENCY_value)
	proto.RegisterEnum("proto.PaymentInfo_PAYMENT_INFO_STATUS", PaymentInfo_PAYMENT_INFO_STATUS_name, PaymentInfo_PAYMENT_INFO_STATUS_value)
	proto.RegisterEnum("proto.PaymentInfo_PAYMENT_INFO_TXNSTATUS", PaymentInfo_PAYMENT_INFO_TXNSTATUS_name, PaymentInfo_PAYMENT_INFO_TXNSTATUS_value)
	proto.RegisterEnum("proto.WebMessageInfo_WEB_MESSAGE_INFO_STATUS", WebMessageInfo_WEB_MESSAGE_INFO_STATUS_name, WebMessageInfo_WEB_MESSAGE_INFO_STATUS_value)
	proto.RegisterEnum("proto.WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE", WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE_name, WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE_value)
	proto.RegisterType((*HydratedQuickReplyButton)(nil), "proto.HydratedQuickReplyButton")
	proto.RegisterType((*HydratedURLButton)(nil), "proto.HydratedURLButton")
	proto.RegisterType((*HydratedCallButton)(nil), "proto.HydratedCallButton")
	proto.RegisterType((*HydratedTemplateButton)(nil), "proto.HydratedTemplateButton")
	proto.RegisterType((*QuickReplyButton)(nil), "proto.QuickReplyButton")
	proto.RegisterType((*URLButton)(nil), "proto.URLButton")
	proto.RegisterType((*CallButton)(nil), "proto.CallButton")
	proto.RegisterType((*TemplateButton)(nil), "proto.TemplateButton")
	proto.RegisterType((*Location)(nil), "proto.Location")
	proto.RegisterType((*Point)(nil), "proto.Point")
	proto.RegisterType((*InteractiveAnnotation)(nil), "proto.InteractiveAnnotation")
	proto.RegisterType((*AdReplyInfo)(nil), "proto.AdReplyInfo")
	proto.RegisterType((*ContextInfo)(nil), "proto.ContextInfo")
	proto.RegisterType((*SenderKeyDistributionMessage)(nil), "proto.SenderKeyDistributionMessage")
	proto.RegisterType((*ImageMessage)(nil), "proto.ImageMessage")
	proto.RegisterType((*ContactMessage)(nil), "proto.ContactMessage")
	proto.RegisterType((*LocationMessage)(nil), "proto.LocationMessage")
	proto.RegisterType((*ExtendedTextMessage)(nil), "proto.ExtendedTextMessage")
	proto.RegisterType((*DocumentMessage)(nil), "proto.DocumentMessage")
	proto.RegisterType((*AudioMessage)(nil), "proto.AudioMessage")
	proto.RegisterType((*VideoMessage)(nil), "proto.VideoMessage")
	proto.RegisterType((*Call)(nil), "proto.Call")
	proto.RegisterType((*Chat)(nil), "proto.Chat")
	proto.RegisterType((*ProtocolMessage)(nil), "proto.ProtocolMessage")
	proto.RegisterType((*HistorySyncNotification)(nil), "proto.HistorySyncNotification")
	proto.RegisterType((*ContactsArrayMessage)(nil), "proto.ContactsArrayMessage")
	proto.RegisterType((*HSMCurrency)(nil), "proto.HSMCurrency")
	proto.RegisterType((*HSMDateTimeComponent)(nil), "proto.HSMDateTimeComponent")
	proto.RegisterType((*HSMDateTimeUnixEpoch)(nil), "proto.HSMDateTimeUnixEpoch")
	proto.RegisterType((*HSMDateTime)(nil), "proto.HSMDateTime")
	proto.RegisterType((*HSMLocalizableParameter)(nil), "proto.HSMLocalizableParameter")
	proto.RegisterType((*HighlyStructuredMessage)(nil), "proto.HighlyStructuredMessage")
	proto.RegisterType((*SendPaymentMessage)(nil), "proto.SendPaymentMessage")
	proto.RegisterType((*RequestPaymentMessage)(nil), "proto.RequestPaymentMessage")
	proto.RegisterType((*DeclinePaymentRequestMessage)(nil), "proto.DeclinePaymentRequestMessage")
	proto.RegisterType((*CancelPaymentRequestMessage)(nil), "proto.CancelPaymentRequestMessage")
	proto.RegisterType((*LiveLocationMessage)(nil), "proto.LiveLocationMessage")
	proto.RegisterType((*StickerMessage)(nil), "proto.StickerMessage")
	proto.RegisterType((*FourRowTemplate)(nil), "proto.FourRowTemplate")
	proto.RegisterType((*HydratedFourRowTemplate)(nil), "proto.HydratedFourRowTemplate")
	proto.RegisterType((*TemplateMessage)(nil), "proto.TemplateMessage")
	proto.RegisterType((*TemplateButtonReplyMessage)(nil), "proto.TemplateButtonReplyMessage")
	proto.RegisterType((*CatalogSnapshot)(nil), "proto.CatalogSnapshot")
	proto.RegisterType((*ProductSnapshot)(nil), "proto.ProductSnapshot")
	proto.RegisterType((*ProductMessage)(nil), "proto.ProductMessage")
	proto.RegisterType((*GroupInviteMessage)(nil), "proto.GroupInviteMessage")
	proto.RegisterType((*DeviceSentMessage)(nil), "proto.DeviceSentMessage")
	proto.RegisterType((*DeviceSyncMessage)(nil), "proto.DeviceSyncMessage")
	proto.RegisterType((*Message)(nil), "proto.Message")
	proto.RegisterType((*MessageKey)(nil), "proto.MessageKey")
	proto.RegisterType((*WebFeatures)(nil), "proto.WebFeatures")
	proto.RegisterType((*TabletNotificationsInfo)(nil), "proto.TabletNotificationsInfo")
	proto.RegisterType((*NotificationMessageInfo)(nil), "proto.NotificationMessageInfo")
	proto.RegisterType((*WebNotificationsInfo)(nil), "proto.WebNotificationsInfo")
	proto.RegisterType((*PaymentInfo)(nil), "proto.PaymentInfo")
	proto.RegisterType((*WebMessageInfo)(nil), "proto.WebMessageInfo")
}

func init() { proto.RegisterFile("def.proto", fileDescriptor_76fb0470a3b910d8) }

var fileDescriptor_76fb0470a3b910d8 = []byte{
	// 6873 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x7c, 0xcd, 0x6f, 0x23, 0x47,
	0x76, 0xf8, 0x50, 0xd4, 0x07, 0xf5, 0xa8, 0x8f, 0x56, 0x69, 0x24, 0x71, 0x3e, 0x3c, 0x96, 0x69,
	0xaf, 0x57, 0xf6, 0xcf, 0x1e, 0x8f, 0xe5, 0x59, 0x7b, 0xfc, 0xb3, 0x77, 0x77, 0x5a, 0x64, 0x4b,
	0xea, 0x19, 0xaa, 0x9b, 0x2e, 0x36, 0x35, 0x23, 0x63, 0x11, 0xa2, 0xa7, 0xbb, 0x24, 0x75, 0x86,
	0xec, 0xa6, 0xbb, 0x9b, 0xe3, 0xe1, 0x1e, 0x12, 0x64, 0x17, 0x48, 0x82, 0x20, 0x01, 0xf6, 0x96,
	0xaf, 0x53, 0x10, 0xe4, 0x1f, 0xc8, 0x21, 0x87, 0x04, 0x09, 0x10, 0x04, 0xb9, 0xe4, 0xb2, 0xc8,
	0x25, 0x41, 0x2e, 0x39, 0x05, 0x48, 0x72, 0xcd, 0x31, 0xa7, 0xa0, 0xaa, 0xab, 0xbf, 0x9b, 0x12,
	0x35, 0xde, 0x8f, 0x20, 0x27, 0xb1, 0x5e, 0xbd, 0xf7, 0xaa, 0xea, 0xd5, 0xab, 0x57, 0xef, 0xbd,
	0x7a, 0x2d, 0x58, 0x34, 0xc9, 0xe9, 0xdd, 0xa1, 0xeb, 0xf8, 0x0e, 0x9a, 0x63, 0x7f, 0xea, 0x2d,
	0xa8, 0x1d, 0x8e, 0x4d, 0x57, 0xf7, 0x89, 0xf9, 0xc5, 0xc8, 0x32, 0x9e, 0x63, 0x32, 0xec, 0x8f,
	0xf7, 0x46, 0xbe, 0xef, 0xd8, 0x68, 0x1b, 0xaa, 0xa6, 0xe5, 0x0d, 0xfb, 0xfa, 0x58, 0x23, 0x2f,
	0xfd, 0x5a, 0x69, 0xbb, 0xb4, 0xb3, 0x88, 0x93, 0x20, 0xb4, 0x02, 0x33, 0x96, 0x59, 0x9b, 0x61,
	0x1d, 0x33, 0x96, 0x59, 0x3f, 0x80, 0xb5, 0x90, 0x5b, 0x17, 0xb7, 0xa6, 0x66, 0x23, 0x40, 0x79,
	0xe4, 0xf6, 0x39, 0x1f, 0xfa, 0xb3, 0xfe, 0x14, 0x50, 0xc8, 0xa8, 0xa1, 0xf7, 0xfb, 0x53, 0x73,
	0xda, 0x86, 0xea, 0xf0, 0xdc, 0xb1, 0x89, 0x32, 0x1a, 0x3c, 0x23, 0x2e, 0xe7, 0x98, 0x04, 0xd5,
	0x7f, 0x73, 0x06, 0x36, 0x43, 0xd6, 0x1a, 0x19, 0x0c, 0xfb, 0xba, 0x4f, 0x38, 0xfb, 0xeb, 0x30,
	0x67, 0xd9, 0x26, 0x79, 0x59, 0x9b, 0xdd, 0x2e, 0xed, 0x2c, 0xe3, 0xa0, 0x81, 0x8e, 0x40, 0xf8,
	0x2a, 0x23, 0x19, 0x36, 0x72, 0x75, 0xf7, 0xf5, 0x40, 0x94, 0x77, 0x27, 0x09, 0xf0, 0xf0, 0x1a,
	0xce, 0x91, 0xa2, 0x07, 0xb0, 0x38, 0x72, 0xf9, 0x82, 0xd8, 0xfc, 0xaa, 0xbb, 0xb5, 0x0c, 0x9f,
	0x48, 0x74, 0x87, 0xd7, 0x70, 0x8c, 0x8c, 0x3e, 0x03, 0x30, 0x22, 0x59, 0xd4, 0xca, 0x8c, 0xf4,
	0x46, 0x86, 0x34, 0x16, 0xd6, 0xe1, 0x35, 0x9c, 0x40, 0xdf, 0x13, 0x60, 0xe5, 0x9c, 0xe3, 0x04,
	0x90, 0xba, 0x09, 0x42, 0x6e, 0xc7, 0x1f, 0xe6, 0x05, 0x5c, 0xdd, 0xbd, 0x13, 0x8e, 0x61, 0x9d,
	0x9d, 0xf7, 0xc7, 0x1d, 0xdf, 0x1d, 0x19, 0xfe, 0xc8, 0x25, 0xe6, 0x11, 0xf1, 0x3c, 0xfd, 0x8c,
	0x5c, 0xac, 0x11, 0xbf, 0x0e, 0x8b, 0xb1, 0x26, 0x7c, 0x73, 0xf6, 0xf7, 0x62, 0x4d, 0xb9, 0x9c,
	0x92, 0x69, 0xd2, 0x4f, 0x4a, 0x00, 0x09, 0x15, 0xfa, 0xe6, 0x53, 0x78, 0x98, 0x57, 0xb1, 0x29,
	0x38, 0x24, 0x55, 0xf0, 0x5f, 0x4b, 0xb0, 0x32, 0x95, 0xea, 0x49, 0x13, 0x55, 0x6f, 0x8b, 0x8f,
	0x37, 0x95, 0xca, 0xdd, 0xcb, 0xab, 0x9c, 0xc0, 0xe9, 0x27, 0xa8, 0xda, 0x47, 0x05, 0xaa, 0xb6,
	0xc6, 0x49, 0x26, 0xaa, 0x58, 0x05, 0xe6, 0x9f, 0x05, 0xaa, 0xe5, 0x43, 0xa5, 0xe5, 0x18, 0xba,
	0x6f, 0x39, 0x36, 0xda, 0x81, 0x55, 0x93, 0x9c, 0xb9, 0x84, 0x78, 0x2d, 0xdd, 0xb7, 0xfc, 0x91,
	0x49, 0xd8, 0x12, 0x4a, 0x38, 0x0b, 0x46, 0xef, 0x82, 0x10, 0x82, 0x1c, 0xfb, 0x2c, 0x40, 0x9d,
	0x61, 0xa8, 0x39, 0x38, 0x42, 0x30, 0x6b, 0xeb, 0x03, 0xc2, 0xa6, 0xb6, 0x88, 0xd9, 0xef, 0xfa,
	0x19, 0xcc, 0xb5, 0x1d, 0xcb, 0x66, 0x46, 0xe0, 0x65, 0x93, 0x0c, 0x5d, 0x62, 0x50, 0x75, 0x67,
	0xc3, 0xcd, 0xe1, 0x24, 0x88, 0x62, 0x8c, 0x13, 0x18, 0x33, 0x01, 0x46, 0x02, 0x84, 0x96, 0xa0,
	0xf4, 0x92, 0x71, 0x2f, 0xe1, 0xd2, 0x4b, 0xda, 0x1a, 0xb3, 0xad, 0x29, 0xe1, 0xd2, 0xb8, 0xfe,
	0xdb, 0x25, 0xd8, 0x90, 0x6d, 0x9f, 0xb8, 0xba, 0xe1, 0x5b, 0x2f, 0x88, 0x68, 0xdb, 0x8e, 0x1f,
	0x2c, 0xf6, 0x63, 0x58, 0x1d, 0x3a, 0xfd, 0xf1, 0x99, 0x63, 0x1f, 0x13, 0xd7, 0xb7, 0x0c, 0xe2,
	0xd5, 0x4a, 0xdb, 0xe5, 0x9d, 0xea, 0xee, 0x12, 0x17, 0x1e, 0x9b, 0x20, 0xce, 0x22, 0xa1, 0xf7,
	0xa1, 0xd2, 0xe7, 0x02, 0xe3, 0x1b, 0xb4, 0xca, 0x09, 0x42, 0x39, 0x1e, 0x5e, 0xc3, 0x11, 0x0a,
	0x95, 0x34, 0x1d, 0xda, 0xb1, 0xeb, 0xff, 0x5d, 0x82, 0xaa, 0x68, 0xb2, 0xcd, 0x96, 0xed, 0x53,
	0x07, 0xbd, 0x0d, 0x2b, 0xba, 0xf9, 0x82, 0xb2, 0xf5, 0x88, 0xab, 0x50, 0x09, 0x05, 0x46, 0x32,
	0x03, 0x45, 0x87, 0xb0, 0x38, 0x20, 0xa6, 0xa5, 0x6b, 0xe3, 0x61, 0x20, 0xe4, 0x95, 0xdd, 0x77,
	0xf9, 0x88, 0x09, 0x76, 0x77, 0xc5, 0x66, 0x0f, 0x4b, 0xed, 0xd6, 0x49, 0x4f, 0x56, 0xf6, 0xd5,
	0xde, 0x91, 0xd4, 0x94, 0x45, 0xed, 0xa4, 0x2d, 0xe1, 0x98, 0x18, 0xbd, 0x05, 0xcb, 0xbf, 0x3a,
	0x24, 0x67, 0xda, 0xf9, 0x68, 0xf0, 0xcc, 0xd6, 0xad, 0x7e, 0x4d, 0xd8, 0x2e, 0xed, 0x2c, 0xe1,
	0x34, 0x10, 0xd5, 0x60, 0xc1, 0xd0, 0x87, 0x6c, 0x7d, 0x6b, 0x6c, 0x42, 0x61, 0xb3, 0xfe, 0x29,
	0x6c, 0x4d, 0x18, 0x05, 0x55, 0x60, 0x56, 0x51, 0x15, 0x49, 0xb8, 0x86, 0x16, 0x61, 0x4e, 0x3e,
	0x12, 0x0f, 0x24, 0xa1, 0x44, 0x7f, 0x1e, 0xcb, 0x4d, 0x49, 0x15, 0x66, 0xea, 0xff, 0x36, 0x0b,
	0xd5, 0x86, 0x63, 0xfb, 0xe4, 0xa5, 0xcf, 0x16, 0x7f, 0x13, 0x2a, 0x9e, 0xaf, 0xdb, 0x3f, 0xd4,
	0x65, 0x93, 0x2f, 0x3b, 0x6a, 0xb3, 0x8b, 0x41, 0xa7, 0xd2, 0xb6, 0x86, 0xba, 0xed, 0x47, 0x17,
	0x43, 0x0c, 0x42, 0xf7, 0x61, 0xf9, 0xab, 0x91, 0xe3, 0x47, 0x67, 0x96, 0xab, 0xfd, 0x0a, 0x17,
	0x4b, 0x78, 0x92, 0xd3, 0x48, 0xe8, 0x36, 0x2c, 0xba, 0x64, 0xe0, 0xf8, 0xe4, 0x91, 0x65, 0x32,
	0x0d, 0x59, 0xc4, 0x31, 0x00, 0xd5, 0x61, 0x69, 0x40, 0x6c, 0xba, 0x4e, 0x62, 0x52, 0x84, 0xd5,
	0xed, 0xf2, 0xce, 0x22, 0x4e, 0xc1, 0xa8, 0xda, 0x1b, 0x8e, 0xfd, 0x82, 0xb8, 0x9e, 0xe5, 0xd8,
	0x1d, 0x67, 0xe4, 0x1a, 0xa4, 0x86, 0x18, 0xa3, 0x1c, 0x9c, 0x6e, 0x6f, 0x0c, 0x6b, 0xea, 0xbe,
	0x5e, 0x5b, 0x67, 0xd2, 0xce, 0x40, 0xd1, 0xc7, 0xb0, 0x99, 0x80, 0x90, 0xbe, 0x3e, 0xee, 0x10,
	0xc3, 0xb1, 0x4d, 0xaf, 0x76, 0x9d, 0xd9, 0x97, 0x09, 0xbd, 0xf4, 0xb0, 0x9e, 0x3a, 0xee, 0xd7,
	0xba, 0x6b, 0x5a, 0xf6, 0x59, 0xc7, 0x70, 0x5c, 0x52, 0xdb, 0x60, 0x04, 0x59, 0x30, 0x95, 0xa7,
	0xe5, 0xed, 0x07, 0x40, 0x62, 0xd6, 0x36, 0xb7, 0x4b, 0x3b, 0x15, 0x9c, 0x04, 0xa1, 0xbb, 0x50,
	0x09, 0x44, 0x25, 0x9a, 0xb5, 0x2d, 0x26, 0x4a, 0x94, 0xd7, 0x30, 0x1c, 0xe1, 0xa0, 0x4f, 0x61,
	0x65, 0xd8, 0xd7, 0x0d, 0x72, 0xee, 0xf4, 0x4d, 0xe2, 0x3e, 0x26, 0xe3, 0x5a, 0x2d, 0x65, 0x77,
	0xb8, 0xc4, 0x1f, 0x93, 0x31, 0xce, 0x20, 0xa2, 0x3b, 0x00, 0xe4, 0xe5, 0xd0, 0x72, 0x83, 0x03,
	0x74, 0x83, 0xcd, 0x38, 0x01, 0x41, 0x9f, 0xc3, 0x0d, 0x32, 0x3c, 0x27, 0x03, 0xe2, 0xea, 0xfd,
	0x0e, 0xf1, 0x7d, 0xcb, 0x3e, 0xd3, 0xac, 0x01, 0xf1, 0x7c, 0x7d, 0x30, 0xac, 0xdd, 0xdc, 0x2e,
	0xed, 0x94, 0xf1, 0x64, 0x84, 0xfa, 0xef, 0x94, 0xe0, 0x76, 0x87, 0xd8, 0xc1, 0x58, 0x4d, 0xcb,
	0xf3, 0x5d, 0xeb, 0xd9, 0x88, 0xf2, 0x0d, 0x75, 0xa0, 0x06, 0x0b, 0x67, 0xae, 0x33, 0x1a, 0x46,
	0x6a, 0x17, 0x36, 0x51, 0x1b, 0xde, 0xd4, 0x5f, 0x3a, 0x7d, 0xc7, 0xef, 0x5f, 0xc4, 0x80, 0x69,
	0xe3, 0x12, 0x9e, 0x06, 0xb5, 0xfe, 0x37, 0xf3, 0xb0, 0x24, 0x0f, 0xf4, 0x33, 0x12, 0x0e, 0xce,
	0x7d, 0xa7, 0x52, 0xe4, 0x3b, 0xd1, 0x63, 0x30, 0xb0, 0x06, 0xc4, 0x0f, 0x8f, 0xf6, 0x22, 0x8e,
	0xda, 0xc9, 0x73, 0x58, 0x4e, 0x9d, 0x43, 0x2a, 0xc3, 0x53, 0xab, 0x4f, 0x3a, 0xe7, 0xfa, 0xee,
	0x77, 0x3e, 0x66, 0x9a, 0xbc, 0x84, 0x13, 0x90, 0xb0, 0xbf, 0x45, 0xec, 0x33, 0xff, 0xbc, 0x36,
	0xb7, 0x5d, 0xda, 0x99, 0xc5, 0x09, 0x08, 0xda, 0x84, 0xf9, 0x73, 0x62, 0x9d, 0x9d, 0xfb, 0xb5,
	0x79, 0x26, 0x7f, 0xde, 0xa2, 0x37, 0xdb, 0xd7, 0x96, 0xe9, 0x9f, 0xd7, 0x16, 0x82, 0x9b, 0x8d,
	0x35, 0xd8, 0x1c, 0xa9, 0x09, 0xa1, 0xdb, 0x5c, 0x61, 0x63, 0x45, 0x6d, 0x6a, 0x51, 0x28, 0x5f,
	0xc9, 0x36, 0xf8, 0x64, 0x16, 0x03, 0x8b, 0x92, 0x02, 0x22, 0x0d, 0x36, 0xad, 0x22, 0x1b, 0xec,
	0xd5, 0x80, 0x59, 0xdc, 0xdb, 0x5c, 0x6d, 0x0a, 0x0d, 0x35, 0x9e, 0x40, 0x4b, 0x57, 0x69, 0x5a,
	0x2e, 0x31, 0xfc, 0xb6, 0xee, 0x9f, 0xd7, 0xaa, 0x4c, 0x44, 0x09, 0x08, 0x7a, 0x0f, 0xd6, 0xc2,
	0x79, 0xc6, 0x1a, 0xb4, 0xc4, 0x34, 0x28, 0xdf, 0x31, 0xa5, 0x6d, 0xbc, 0x0f, 0x55, 0x23, 0xb6,
	0x62, 0xcc, 0x3e, 0xc6, 0x67, 0x25, 0x61, 0xdf, 0x70, 0x12, 0x8d, 0x9a, 0x8d, 0x53, 0xcb, 0xf5,
	0xfc, 0x8e, 0xa1, 0xdb, 0x1d, 0xcb, 0x24, 0x86, 0xee, 0x32, 0xb3, 0xb1, 0x84, 0x73, 0x70, 0x76,
	0xac, 0x43, 0x18, 0xdf, 0xc0, 0x75, 0x7e, 0xac, 0xd3, 0x60, 0xba, 0x3e, 0xf2, 0x72, 0x48, 0x5c,
	0x8b, 0x9a, 0xa8, 0x03, 0xae, 0xd4, 0x81, 0xcd, 0xc8, 0x77, 0x50, 0xf3, 0xe6, 0x19, 0xba, 0xed,
	0x85, 0xe3, 0x6f, 0xb0, 0xf1, 0x53, 0x30, 0x6a, 0x28, 0xbc, 0x88, 0xbf, 0x57, 0xdb, 0xdc, 0x2e,
	0xef, 0x2c, 0xe3, 0x24, 0x08, 0xed, 0xc2, 0xf5, 0x81, 0x65, 0x7e, 0x31, 0xd2, 0xfb, 0x96, 0x3f,
	0xde, 0x8f, 0x75, 0x70, 0x8b, 0x71, 0x2b, 0xec, 0x43, 0x0f, 0x60, 0x2b, 0x0d, 0x8f, 0xb5, 0xa5,
	0xc6, 0xc8, 0x26, 0x75, 0xd7, 0x7f, 0x0d, 0x56, 0xa8, 0x4c, 0x75, 0xc3, 0x0f, 0x4f, 0x50, 0x1c,
	0x55, 0x24, 0x2e, 0xcc, 0x24, 0x88, 0xea, 0xf0, 0x0b, 0x43, 0x77, 0x4d, 0xb6, 0x7f, 0x8b, 0x38,
	0x68, 0xbc, 0xda, 0xbe, 0xd5, 0x7f, 0x5a, 0x86, 0xd5, 0xf0, 0x52, 0x0f, 0x67, 0xf0, 0x0b, 0xf3,
	0x91, 0xe8, 0xf9, 0xd7, 0x4d, 0xd3, 0x25, 0x9e, 0xc7, 0x2f, 0xab, 0xb0, 0x19, 0xda, 0x91, 0xb9,
	0xd8, 0x8e, 0x6c, 0xc2, 0xbc, 0xe5, 0xb5, 0xac, 0x17, 0x84, 0x9d, 0xe8, 0x0a, 0xe6, 0x2d, 0x3a,
	0x07, 0xdd, 0x30, 0x46, 0xae, 0x6e, 0x8c, 0x65, 0xfb, 0x88, 0xf8, 0xc4, 0xf5, 0xf8, 0xe1, 0xce,
	0xc1, 0xe9, 0x79, 0xf2, 0x86, 0x84, 0x98, 0xb2, 0x7d, 0x34, 0xf4, 0xd8, 0x49, 0x9f, 0xc1, 0x09,
	0x08, 0x6a, 0xc1, 0x1b, 0x7c, 0xde, 0x8d, 0xbe, 0x63, 0x3c, 0xff, 0xda, 0xf2, 0xc8, 0xbe, 0xeb,
	0x0c, 0x8e, 0xf4, 0x33, 0x9b, 0xf8, 0x96, 0xa1, 0x38, 0xae, 0x7f, 0xce, 0xce, 0xff, 0x32, 0xbe,
	0x1c, 0x91, 0x59, 0x37, 0x67, 0x40, 0x35, 0x94, 0x1f, 0xdd, 0xb0, 0xf9, 0xf3, 0x3c, 0x89, 0xf5,
	0xff, 0x9c, 0x83, 0x75, 0xe9, 0xa5, 0x4f, 0xad, 0xb6, 0x49, 0x23, 0x84, 0x70, 0x57, 0x11, 0xcc,
	0xfa, 0x71, 0x98, 0xca, 0x7e, 0x53, 0x5d, 0x1b, 0xe8, 0xbe, 0x71, 0x1e, 0x60, 0x86, 0x6e, 0x48,
	0x02, 0x44, 0xcf, 0x94, 0xa1, 0xdb, 0x8e, 0x6d, 0x19, 0x7a, 0xbf, 0xeb, 0xf6, 0xf9, 0x36, 0xa5,
	0x60, 0x4c, 0x63, 0x89, 0x67, 0xb8, 0x56, 0x60, 0xc9, 0xe7, 0xb8, 0xc6, 0xc6, 0x20, 0xaa, 0xb1,
	0xbe, 0xe5, 0xf7, 0x83, 0xad, 0x5b, 0xc4, 0x41, 0x83, 0x5a, 0x5d, 0x3a, 0x0b, 0xd1, 0x3d, 0x7b,
	0xc6, 0x76, 0x6c, 0x01, 0x47, 0x6d, 0xea, 0x5a, 0x3c, 0xd3, 0x8d, 0xe7, 0xf4, 0xe6, 0xb2, 0x4d,
	0x86, 0x51, 0x61, 0x18, 0x19, 0x28, 0x3a, 0x82, 0xd9, 0x53, 0xc7, 0xf6, 0xd9, 0xa6, 0xac, 0xec,
	0x7e, 0xca, 0x85, 0x53, 0xb0, 0xfe, 0xbb, 0xd2, 0x53, 0x4d, 0x52, 0x9a, 0x52, 0xb3, 0xa7, 0x49,
	0x4f, 0xb5, 0xde, 0x91, 0xd4, 0xe9, 0x88, 0x07, 0x52, 0x6f, 0x5f, 0x55, 0x34, 0xe6, 0x43, 0x32,
	0x36, 0xe8, 0x57, 0xa0, 0x3a, 0x74, 0xc9, 0x0b, 0x8b, 0x7c, 0xcd, 0x5c, 0x51, 0x60, 0x5c, 0x3f,
	0xbf, 0x32, 0xd7, 0x36, 0x96, 0x8e, 0x65, 0xe9, 0x09, 0x63, 0x9c, 0x64, 0xf8, 0x73, 0x35, 0xc1,
	0xf4, 0xd8, 0x3a, 0x8a, 0xe3, 0xb7, 0xfb, 0xfa, 0x58, 0xb6, 0xfb, 0x96, 0x1d, 0x38, 0x6e, 0x15,
	0x9c, 0x05, 0xd7, 0x7f, 0xb7, 0x04, 0x77, 0x2e, 0x16, 0x07, 0x5a, 0x01, 0xe8, 0x88, 0x4a, 0xa7,
	0xd7, 0x91, 0xb0, 0xbc, 0x1f, 0xb8, 0xbc, 0xc1, 0xcf, 0x12, 0x5a, 0x87, 0x55, 0x45, 0xc5, 0x72,
	0x43, 0x54, 0x7a, 0x58, 0x3a, 0xe8, 0xb6, 0x44, 0x2c, 0xcc, 0xa0, 0x35, 0x58, 0xde, 0xc3, 0x27,
	0x4a, 0x53, 0x54, 0x7a, 0x4f, 0xb0, 0xac, 0x49, 0x42, 0x19, 0x6d, 0xc0, 0xda, 0x9e, 0xb4, 0x27,
	0x76, 0x14, 0xa9, 0x2b, 0x45, 0x98, 0xb3, 0x48, 0x80, 0x25, 0xb5, 0xf3, 0x44, 0x6c, 0x35, 0x7b,
	0x87, 0x92, 0x78, 0x7c, 0x22, 0xcc, 0xd5, 0x1f, 0xc0, 0x1b, 0x97, 0x8a, 0x31, 0xed, 0x7d, 0x07,
	0x2e, 0x77, 0xa9, 0xfe, 0x57, 0x65, 0x58, 0x6d, 0x3a, 0xc6, 0x88, 0x1e, 0xaa, 0x57, 0xf3, 0x40,
	0x22, 0xcd, 0x2c, 0x27, 0x35, 0xf3, 0x9b, 0x7a, 0x1f, 0xb7, 0x61, 0x71, 0xa8, 0x9f, 0x91, 0x86,
	0x33, 0xb2, 0x43, 0x07, 0x24, 0x06, 0xa4, 0xbc, 0x8d, 0x85, 0x8c, 0xb7, 0x71, 0x13, 0x2a, 0x94,
	0x0f, 0x33, 0xfd, 0x95, 0x60, 0xae, 0x61, 0x7b, 0x4a, 0x4f, 0x24, 0xed, 0x33, 0xc0, 0x74, 0x3e,
	0x43, 0xf5, 0x97, 0xe0, 0x33, 0xd4, 0xff, 0xa8, 0x0c, 0x4b, 0xe2, 0xc8, 0xb4, 0x9c, 0x57, 0xdb,
	0xba, 0xf4, 0x26, 0x95, 0x2f, 0xd9, 0xa4, 0xd9, 0xdc, 0x26, 0xd5, 0x60, 0xc1, 0xe3, 0x61, 0xc8,
	0x1c, 0xdb, 0xa2, 0xb0, 0x49, 0xe7, 0x31, 0xf4, 0x7d, 0x7e, 0xcf, 0xd0, 0x9f, 0x17, 0x6e, 0x59,
	0x6e, 0x5b, 0x2a, 0x97, 0x6f, 0xcb, 0xe2, 0x74, 0xdb, 0x02, 0x93, 0xb6, 0xe5, 0x95, 0x9d, 0x34,
	0xcf, 0x77, 0x89, 0x3e, 0xa0, 0x71, 0x53, 0xda, 0x49, 0xcb, 0xc2, 0xeb, 0x3f, 0x9a, 0x87, 0xa5,
	0x63, 0xcb, 0x24, 0xff, 0xeb, 0x36, 0x27, 0xb9, 0x15, 0xf3, 0x99, 0xad, 0x48, 0xc4, 0x13, 0x0b,
	0xe9, 0x78, 0x62, 0x1b, 0xaa, 0x67, 0xd6, 0x29, 0xb5, 0x81, 0xf4, 0x02, 0x61, 0x5b, 0x54, 0xc1,
	0x49, 0x50, 0x22, 0x62, 0x58, 0x2c, 0x8e, 0x18, 0x20, 0x19, 0x31, 0xe4, 0x36, 0xbd, 0x7a, 0xb5,
	0xa8, 0x60, 0xe9, 0x67, 0x16, 0x15, 0x2c, 0x4f, 0xa7, 0x4a, 0x2b, 0xbf, 0xa4, 0xa8, 0x60, 0x5a,
	0x85, 0x43, 0x5d, 0x58, 0x39, 0xb3, 0x4e, 0x45, 0x3f, 0x8a, 0x31, 0x59, 0x50, 0xb0, 0xb2, 0xfb,
	0x3e, 0x1f, 0x24, 0xa9, 0x8c, 0x77, 0xd9, 0x05, 0x10, 0xdd, 0x13, 0xa2, 0xa6, 0x61, 0x79, 0xaf,
	0xab, 0xc9, 0xaa, 0x82, 0x33, 0x4c, 0xea, 0x9f, 0xc1, 0x8d, 0x89, 0xc8, 0xe9, 0x4b, 0xe5, 0x40,
	0x6e, 0x1f, 0x9e, 0x04, 0x29, 0x1d, 0x4d, 0x52, 0x54, 0x2c, 0xcc, 0xd4, 0xb7, 0x61, 0xb6, 0xa1,
	0xf7, 0x79, 0xbe, 0xa8, 0xdf, 0xa7, 0x2a, 0x57, 0x62, 0xd3, 0x0f, 0x9b, 0xf5, 0x07, 0x30, 0xdb,
	0x38, 0xd7, 0xfd, 0x29, 0xbc, 0xf6, 0x6c, 0x2a, 0xfa, 0x2f, 0xcb, 0xb0, 0xda, 0xa6, 0x2b, 0x33,
	0x9c, 0x7e, 0x78, 0xc6, 0xde, 0x84, 0xf2, 0x73, 0x3e, 0x46, 0x61, 0xa6, 0x81, 0xf6, 0xa2, 0x87,
	0x30, 0xeb, 0xc7, 0x79, 0xb2, 0xf7, 0xc2, 0x54, 0x5e, 0x9a, 0xd5, 0xdd, 0x36, 0x56, 0x35, 0xb5,
	0xa1, 0xb6, 0xa2, 0x75, 0x07, 0x5e, 0x0e, 0x3b, 0x9c, 0xf7, 0x60, 0x3d, 0xca, 0x2f, 0x48, 0x71,
	0xa6, 0x22, 0x48, 0xf6, 0x16, 0x75, 0x5d, 0x9c, 0xb2, 0x98, 0xbb, 0x24, 0x65, 0x81, 0x9e, 0xc2,
	0xd6, 0xb9, 0xe5, 0xf9, 0x8e, 0x3b, 0xee, 0x8c, 0x6d, 0x43, 0x71, 0x7c, 0xeb, 0xd4, 0xe2, 0xe9,
	0xc5, 0xf9, 0x4c, 0xbe, 0xba, 0x10, 0x0b, 0x4f, 0x22, 0xaf, 0xbf, 0x80, 0x8d, 0xc2, 0x85, 0x22,
	0x80, 0x79, 0x2c, 0x1d, 0xab, 0x8f, 0xe9, 0xde, 0x6e, 0xc0, 0x9a, 0xd4, 0x3e, 0x94, 0x8e, 0x24,
	0x2c, 0xb6, 0x7a, 0x1d, 0x49, 0xd3, 0x64, 0xe5, 0x40, 0x28, 0xa3, 0x5b, 0xb0, 0x95, 0x00, 0x9f,
	0x28, 0x8d, 0x1e, 0x96, 0x3a, 0x6d, 0x55, 0xe9, 0x48, 0xc2, 0x2c, 0x7a, 0x0d, 0x6e, 0x1c, 0xca,
	0x1d, 0x4d, 0xc5, 0x27, 0x41, 0x97, 0xa2, 0x6a, 0xf2, 0xbe, 0xdc, 0x10, 0xa9, 0xda, 0x08, 0x73,
	0xf5, 0x3f, 0x2f, 0xc3, 0xd6, 0x84, 0xc9, 0x66, 0x4c, 0x5f, 0xe9, 0x12, 0xd3, 0x37, 0x93, 0x33,
	0x7d, 0x49, 0x03, 0x57, 0xbe, 0xec, 0xae, 0x99, 0xbd, 0xfc, 0xae, 0x99, 0xcb, 0x19, 0x08, 0x13,
	0x2a, 0xde, 0xd8, 0x36, 0x98, 0x8b, 0x3b, 0xcf, 0xb4, 0xe8, 0xf0, 0xe2, 0x0d, 0xb8, 0x3b, 0x51,
	0x16, 0x3d, 0xde, 0x43, 0x3b, 0x98, 0x86, 0x45, 0x9c, 0xe9, 0x2c, 0x8c, 0xf3, 0x91, 0xfd, 0x5c,
	0x75, 0x4d, 0xe2, 0xf2, 0x90, 0x2c, 0x01, 0xa9, 0x3b, 0xf0, 0xce, 0xd4, 0x6c, 0xe9, 0x1e, 0xca,
	0x8a, 0xac, 0xc9, 0x62, 0xab, 0xb7, 0xa7, 0xaa, 0x5a, 0x47, 0xc3, 0x62, 0x3b, 0xd8, 0xda, 0x10,
	0xdc, 0xd1, 0x44, 0xad, 0xdb, 0xe9, 0x1d, 0x7f, 0x24, 0x94, 0xe8, 0xb9, 0xde, 0xef, 0xb6, 0x5a,
	0xc2, 0x4c, 0xa0, 0x07, 0x0d, 0x49, 0xd1, 0x84, 0x72, 0xfd, 0x4f, 0x4a, 0x70, 0x9d, 0x07, 0xdb,
	0x9e, 0xe8, 0xba, 0xfa, 0x78, 0xfa, 0x90, 0xfb, 0x43, 0xa8, 0x18, 0x9c, 0xb2, 0x36, 0xc3, 0x4c,
	0xf7, 0x46, 0xc2, 0xf6, 0xc5, 0xd1, 0x3b, 0x8e, 0xd0, 0x5e, 0xd1, 0x27, 0xfa, 0x02, 0xaa, 0x87,
	0x9d, 0xa3, 0xc6, 0xc8, 0x75, 0x89, 0x6d, 0x8c, 0x59, 0xf8, 0xc5, 0x7f, 0x37, 0x1c, 0x33, 0x9c,
	0x5a, 0x0a, 0x46, 0xe5, 0xac, 0x0f, 0xa8, 0x63, 0xf9, 0xe1, 0xbd, 0x7b, 0xf7, 0x98, 0x3e, 0x95,
	0x71, 0x02, 0x52, 0xff, 0xc3, 0x59, 0xb8, 0x7e, 0xd8, 0x39, 0x6a, 0xea, 0x3e, 0xa1, 0x47, 0xb2,
	0xe1, 0x0c, 0x86, 0x8e, 0x4d, 0xa3, 0xd0, 0x1e, 0x2c, 0x9a, 0xfa, 0x58, 0x3d, 0x7d, 0x42, 0xc8,
	0x73, 0xc6, 0x79, 0x65, 0x57, 0x0c, 0xf5, 0xa0, 0x00, 0x9f, 0x02, 0x7b, 0x4d, 0x51, 0x93, 0x7a,
	0x9a, 0x7c, 0x24, 0xf5, 0x1a, 0xea, 0x51, 0x5b, 0x55, 0x24, 0x45, 0xeb, 0x35, 0xc5, 0x13, 0x75,
	0xff, 0x89, 0x24, 0x3d, 0x0e, 0x92, 0xf1, 0x11, 0x4f, 0x1a, 0x72, 0x8e, 0x89, 0x1e, 0x3c, 0x4a,
	0x2d, 0x63, 0xf6, 0x9b, 0x5e, 0xa7, 0x03, 0xc7, 0xf6, 0xcf, 0x99, 0x6a, 0x2f, 0xe3, 0xa0, 0xc1,
	0x34, 0x96, 0x92, 0x1d, 0xb1, 0xae, 0xc0, 0x10, 0x25, 0x20, 0x94, 0xd3, 0xb9, 0x33, 0x72, 0xb9,
	0x2f, 0xc0, 0x7e, 0xd3, 0x0b, 0x7b, 0x60, 0xd9, 0x23, 0x9f, 0x84, 0x29, 0xbe, 0xa0, 0x85, 0x7e,
	0x00, 0x15, 0x43, 0xef, 0x13, 0xdb, 0xd4, 0x03, 0xad, 0x5b, 0xd9, 0x7d, 0xf8, 0x2a, 0xab, 0x6a,
	0x88, 0x2d, 0x49, 0x69, 0x8a, 0x38, 0xd0, 0xea, 0x90, 0x63, 0xfd, 0xc7, 0x25, 0xf8, 0xd6, 0x54,
	0x82, 0xa0, 0xaa, 0x77, 0xa4, 0x2a, 0x4d, 0x91, 0xde, 0x29, 0x55, 0x58, 0xd0, 0xba, 0x52, 0x87,
	0x36, 0x66, 0xd0, 0x32, 0x2c, 0x3e, 0x91, 0x9a, 0x4a, 0xd0, 0x2c, 0xa3, 0x25, 0xa8, 0x68, 0x87,
	0x5d, 0xcc, 0x5a, 0xb3, 0x94, 0x6a, 0x1f, 0xcb, 0xf4, 0xf7, 0x1c, 0xed, 0xe9, 0x88, 0x5a, 0x17,
	0xd3, 0xd6, 0x3c, 0xed, 0xe9, 0x74, 0x19, 0xbf, 0x85, 0xfa, 0x3e, 0xbc, 0x35, 0xcd, 0xbc, 0xe9,
	0x50, 0x07, 0x58, 0x3a, 0x50, 0xb1, 0x2c, 0x2a, 0x42, 0x09, 0xad, 0x42, 0xb5, 0xa3, 0xb6, 0x44,
	0xdc, 0x3b, 0x94, 0x1f, 0x61, 0x59, 0x98, 0xa9, 0xdf, 0x4f, 0xa9, 0x46, 0xd7, 0xb6, 0x5e, 0x4a,
	0x43, 0xc7, 0x60, 0x01, 0x8c, 0x1f, 0xd9, 0xf7, 0x12, 0x53, 0xa9, 0x18, 0x50, 0xff, 0x83, 0x12,
	0xd3, 0xd2, 0x90, 0x0c, 0x7d, 0x06, 0x8b, 0x46, 0x28, 0x4f, 0x7e, 0x79, 0xdd, 0xba, 0x40, 0xe4,
	0x87, 0xd7, 0x70, 0x8c, 0x4f, 0x89, 0x47, 0xe1, 0xb8, 0xfc, 0xb5, 0xa9, 0x80, 0x38, 0x9a, 0x1a,
	0x7b, 0x19, 0x0c, 0x1b, 0x7b, 0xab, 0xb0, 0x6c, 0xea, 0x3e, 0xa1, 0x53, 0x53, 0x6d, 0xe2, 0x9c,
	0xd6, 0xff, 0xac, 0x04, 0x5b, 0x87, 0x9d, 0xa3, 0x96, 0x63, 0xe8, 0x7d, 0xeb, 0x87, 0xfa, 0xb3,
	0x3e, 0x69, 0xeb, 0xae, 0x3e, 0x20, 0x3e, 0x71, 0xe9, 0x2d, 0x6e, 0x92, 0x53, 0x7d, 0xd4, 0x0f,
	0x93, 0x20, 0x61, 0x13, 0xdd, 0x83, 0x4a, 0x78, 0xa4, 0xf8, 0x14, 0x50, 0x3c, 0x85, 0xf0, 0x30,
	0x1e, 0x5e, 0xc3, 0x11, 0x16, 0xa5, 0x30, 0xf9, 0xd4, 0xf8, 0xcb, 0x0c, 0xca, 0x4f, 0x9a, 0x52,
	0x84, 0x58, 0x7b, 0x4b, 0x00, 0x43, 0x3a, 0x95, 0x60, 0x9e, 0xbf, 0xc7, 0x2e, 0x90, 0xc2, 0xd7,
	0x59, 0x2a, 0x7c, 0x5b, 0x1f, 0x10, 0x6f, 0xa8, 0x1b, 0xe1, 0x89, 0x8f, 0x01, 0xd4, 0x58, 0x91,
	0x3e, 0xa1, 0x11, 0x2f, 0x33, 0x56, 0x3c, 0x67, 0x93, 0x00, 0xd1, 0x83, 0xc1, 0x46, 0xf2, 0x6a,
	0x65, 0xf6, 0xc0, 0xc3, 0x5b, 0xec, 0xe2, 0xd1, 0xfb, 0x7d, 0xea, 0xed, 0xb6, 0xce, 0x78, 0x26,
	0x27, 0x01, 0x49, 0xf5, 0x1b, 0xe1, 0xb5, 0x11, 0x43, 0x50, 0x0b, 0xd6, 0xfa, 0x19, 0xb9, 0x7a,
	0xb5, 0x79, 0x66, 0x0d, 0xef, 0xc4, 0x8b, 0x2f, 0x12, 0x3d, 0xce, 0x13, 0x06, 0x59, 0x46, 0x9f,
	0xb8, 0x03, 0xcb, 0xb6, 0x3c, 0xdf, 0x32, 0x5a, 0x67, 0xdc, 0x67, 0xcf, 0x82, 0xf3, 0x98, 0x06,
	0x0f, 0x8d, 0xb3, 0x60, 0xf4, 0x00, 0xaa, 0x61, 0x59, 0xc1, 0xa1, 0x37, 0x60, 0x8e, 0x7c, 0x75,
	0x77, 0x93, 0xcf, 0x2d, 0x7c, 0xe3, 0x8e, 0x1e, 0xc1, 0x13, 0xa8, 0xf5, 0xdf, 0x2a, 0x01, 0xea,
	0x10, 0xdb, 0x6c, 0xeb, 0xe3, 0x64, 0x32, 0xe1, 0x1e, 0x54, 0x6d, 0x27, 0x22, 0xe1, 0xba, 0x91,
	0x7d, 0x83, 0x4b, 0xa2, 0xa0, 0xef, 0xc3, 0x9a, 0x4b, 0xbe, 0x1a, 0x11, 0xcf, 0x8f, 0xfd, 0xb6,
	0xcc, 0x93, 0x75, 0xc2, 0xa1, 0xcb, 0xe3, 0xd6, 0xff, 0xbd, 0x04, 0x1b, 0x38, 0x80, 0x5e, 0x3c,
	0x99, 0xd9, 0xcb, 0x27, 0x73, 0x0f, 0xd6, 0x93, 0x57, 0x85, 0xec, 0x39, 0xf7, 0x77, 0x3f, 0xfc,
	0x84, 0xeb, 0x54, 0x51, 0x57, 0xc1, 0x65, 0x32, 0x9b, 0xbc, 0x4c, 0xa8, 0xf6, 0xf1, 0x29, 0xef,
	0xbb, 0xce, 0x80, 0x67, 0x4d, 0x92, 0x20, 0xba, 0x5b, 0xec, 0xad, 0x6b, 0x9c, 0x75, 0x10, 0xb3,
	0xe0, 0x7a, 0x03, 0x6e, 0x37, 0x89, 0xd1, 0xb7, 0x6c, 0xc2, 0x17, 0x8a, 0x53, 0xc2, 0x98, 0xca,
	0x1b, 0xae, 0xef, 0xc1, 0xad, 0x86, 0x6e, 0x1b, 0xa4, 0xff, 0x0d, 0x78, 0xfc, 0x5d, 0x19, 0xd6,
	0x5b, 0xd6, 0x0b, 0xf2, 0x8b, 0x49, 0x84, 0x17, 0x25, 0xac, 0xcb, 0x53, 0x25, 0xac, 0x67, 0x5f,
	0x2d, 0x61, 0x3d, 0x77, 0x95, 0x84, 0x35, 0x0f, 0x9f, 0xe7, 0xd3, 0xe1, 0xf3, 0xdb, 0xb0, 0xe2,
	0x51, 0xc1, 0xda, 0x46, 0x58, 0x68, 0xb2, 0xc0, 0xf6, 0x34, 0x03, 0xa5, 0xf3, 0x65, 0xb6, 0xf8,
	0xf4, 0xd4, 0x23, 0x3e, 0x3b, 0xa5, 0xcb, 0x38, 0x01, 0xf9, 0xb9, 0xa6, 0x93, 0x7e, 0x32, 0x0b,
	0x2b, 0x1d, 0xdf, 0x32, 0x9e, 0x13, 0x77, 0x72, 0xce, 0x22, 0xed, 0x9c, 0xcf, 0xe4, 0x9c, 0xf3,
	0x9c, 0x83, 0x5d, 0x2e, 0x72, 0xb0, 0x93, 0x2e, 0xfa, 0x6c, 0x3e, 0x83, 0x17, 0x65, 0x45, 0xe6,
	0x32, 0x59, 0x91, 0xab, 0xbd, 0x4a, 0xa6, 0xdd, 0xf8, 0x4a, 0xce, 0x8d, 0x4f, 0x07, 0x12, 0x8b,
	0xb9, 0x40, 0xe2, 0x6a, 0x29, 0xa5, 0xf0, 0x05, 0x6f, 0x9f, 0xda, 0x6c, 0xce, 0xb3, 0x1a, 0xa8,
	0x65, 0x16, 0x4e, 0x39, 0xc7, 0xb0, 0x30, 0xb0, 0x5f, 0x62, 0x82, 0xc8, 0x77, 0xd0, 0x79, 0x5a,
	0x9e, 0x68, 0x5b, 0x03, 0x56, 0xdd, 0xb2, 0xcc, 0x52, 0x2f, 0x09, 0x08, 0x75, 0x72, 0x87, 0x76,
	0x4e, 0x27, 0x52, 0xb0, 0x57, 0x54, 0x89, 0xdf, 0x9f, 0x85, 0xd5, 0x7d, 0x67, 0xe4, 0x62, 0xe7,
	0xeb, 0xd0, 0xfa, 0xa3, 0x07, 0xb0, 0xc0, 0x50, 0x78, 0x66, 0xf6, 0xf2, 0x62, 0xa9, 0x10, 0x1d,
	0x7d, 0x0c, 0xf3, 0xa7, 0x8e, 0xe3, 0x73, 0xe5, 0xbf, 0x9c, 0x90, 0x63, 0xa3, 0x0f, 0x60, 0x21,
	0xa8, 0x44, 0xf2, 0x6a, 0x95, 0x54, 0xec, 0x90, 0xae, 0xba, 0xc2, 0x21, 0x16, 0xda, 0x83, 0x55,
	0x33, 0x9d, 0xd5, 0xe6, 0x06, 0x2c, 0xbc, 0xca, 0x32, 0x39, 0xef, 0xc3, 0x6b, 0x38, 0x4b, 0x80,
	0xbe, 0xa4, 0x31, 0x77, 0xe1, 0xbc, 0xa6, 0xab, 0x11, 0x3b, 0xbc, 0x86, 0x27, 0x31, 0x40, 0x9f,
	0xc2, 0x92, 0x95, 0x78, 0xf4, 0xe7, 0xd7, 0xdb, 0x7a, 0x98, 0xcc, 0x4a, 0x74, 0x1d, 0x5e, 0xc3,
	0x29, 0x54, 0x4a, 0xfa, 0x22, 0x91, 0xc8, 0xe1, 0x97, 0xd8, 0x7a, 0x41, 0x8e, 0x87, 0x92, 0x26,
	0x51, 0xa9, 0x54, 0xfa, 0x69, 0x03, 0xcd, 0xce, 0x57, 0x2c, 0x95, 0x8c, 0xf9, 0xa6, 0x52, 0xc9,
	0x10, 0xec, 0x2d, 0xf0, 0x74, 0x7f, 0xfd, 0x8f, 0x67, 0x61, 0x2b, 0xac, 0x52, 0xcc, 0x6a, 0xc8,
	0x3d, 0x58, 0x0f, 0x5d, 0x83, 0x46, 0xb0, 0xf5, 0xec, 0x75, 0x2c, 0x30, 0x89, 0x45, 0x5d, 0xe8,
	0x2e, 0xa0, 0xf3, 0x88, 0x19, 0xdd, 0x73, 0x46, 0x10, 0xb8, 0x33, 0x05, 0x3d, 0xe8, 0x00, 0x56,
	0xd3, 0xe5, 0x8f, 0xa1, 0x66, 0xbc, 0x96, 0x29, 0xa0, 0xcc, 0x68, 0x48, 0x96, 0x8a, 0xd9, 0x5b,
	0x8e, 0x22, 0x9b, 0x61, 0x56, 0x39, 0x86, 0xfc, 0x4c, 0x34, 0xe9, 0x2e, 0xac, 0x85, 0xc3, 0x6a,
	0x54, 0x76, 0xf1, 0x53, 0xe1, 0xe1, 0x35, 0x9c, 0xef, 0xfa, 0xbf, 0xa0, 0x1d, 0x7f, 0x3d, 0x03,
	0xab, 0x19, 0x77, 0x31, 0x6b, 0x81, 0xca, 0xd3, 0x65, 0x40, 0x1f, 0x81, 0x70, 0x9e, 0xd9, 0x4b,
	0xbe, 0xaa, 0x3b, 0x99, 0xad, 0xce, 0x68, 0x21, 0xce, 0xd1, 0xd1, 0x25, 0x9e, 0xa6, 0x91, 0x32,
	0x9b, 0x99, 0x61, 0x41, 0x97, 0x98, 0x21, 0x60, 0x66, 0xa1, 0x78, 0xc0, 0xac, 0x59, 0x28, 0xc6,
	0x62, 0x66, 0xa1, 0xb8, 0x6b, 0xaf, 0x42, 0xed, 0xa3, 0x3b, 0xd0, 0xfd, 0xfa, 0x3f, 0x94, 0xe0,
	0x66, 0x46, 0x75, 0xc9, 0xb0, 0x1f, 0xe5, 0x5b, 0xa8, 0x57, 0x43, 0xfa, 0xc4, 0xf0, 0x89, 0x19,
	0x15, 0x29, 0x25, 0x20, 0xf4, 0x00, 0x86, 0xad, 0x66, 0xa2, 0x3a, 0x36, 0x08, 0x75, 0x8a, 0xba,
	0x5e, 0x71, 0x73, 0xde, 0x82, 0xe5, 0x68, 0xd4, 0x44, 0xb9, 0x6b, 0x1a, 0x58, 0xff, 0x51, 0x09,
	0x56, 0x1b, 0xba, 0xaf, 0xf7, 0x9d, 0xb3, 0x8e, 0xad, 0x0f, 0xbd, 0x73, 0xc7, 0x47, 0x9f, 0xc0,
	0x92, 0x11, 0x80, 0x98, 0x3e, 0xf3, 0x7d, 0x28, 0xd2, 0x71, 0x9c, 0x42, 0x8c, 0xdf, 0x1b, 0x67,
	0x92, 0xef, 0x8d, 0x99, 0x17, 0xf4, 0x72, 0xee, 0x05, 0xbd, 0xfe, 0x5f, 0x33, 0x2c, 0x5b, 0x6c,
	0x8e, 0x0c, 0x3f, 0x39, 0x89, 0x61, 0x00, 0xba, 0x7c, 0x12, 0x49, 0x44, 0xf6, 0x3c, 0xc9, 0xdb,
	0x61, 0x46, 0x3a, 0x06, 0x4c, 0x78, 0x12, 0xcd, 0x4c, 0x71, 0x36, 0xff, 0xc8, 0x9f, 0xcd, 0x55,
	0xcd, 0x15, 0xe4, 0xaa, 0x76, 0x60, 0x75, 0xe8, 0x5a, 0x06, 0x11, 0xe3, 0x18, 0x63, 0x3e, 0x08,
	0x0e, 0x32, 0x60, 0xaa, 0x23, 0x2e, 0xf1, 0x75, 0xab, 0x4f, 0x5c, 0xd9, 0xe4, 0xa6, 0x34, 0x01,
	0x09, 0x5d, 0xbb, 0x4a, 0xec, 0xda, 0xbd, 0x07, 0x6b, 0xc9, 0x55, 0x06, 0x8f, 0xaf, 0xc1, 0x5b,
	0x4e, 0xbe, 0x83, 0xce, 0x96, 0x79, 0x2a, 0x0c, 0x24, 0x9b, 0xbc, 0x42, 0x23, 0x05, 0xab, 0xff,
	0x53, 0x09, 0x56, 0xb8, 0xd0, 0xe3, 0x88, 0x6a, 0x81, 0xf3, 0xca, 0x9c, 0xbd, 0xcc, 0xe6, 0xe0,
	0x10, 0x8d, 0xfa, 0x55, 0xcf, 0x46, 0x9e, 0x65, 0x13, 0xcf, 0x53, 0xbf, 0xb6, 0x89, 0xfb, 0x28,
	0x7a, 0x05, 0xc8, 0xc1, 0x29, 0x77, 0xae, 0x2d, 0xdc, 0x48, 0x6c, 0x46, 0x55, 0xce, 0x29, 0xfd,
	0xc3, 0x21, 0xda, 0xab, 0xba, 0xca, 0x33, 0x80, 0x82, 0xaa, 0x29, 0xfb, 0x85, 0x15, 0x9b, 0xb8,
	0x9b, 0x50, 0x61, 0xa5, 0x82, 0x74, 0x8a, 0xbc, 0x62, 0x35, 0x6c, 0x33, 0x27, 0x8e, 0x21, 0xb3,
	0xbd, 0x0d, 0x16, 0x90, 0x80, 0xd0, 0x65, 0x06, 0xad, 0xc4, 0x83, 0x42, 0x99, 0x6d, 0x6d, 0x0e,
	0x4e, 0xf5, 0x8f, 0xf1, 0x65, 0x09, 0x0c, 0x5e, 0xa5, 0x1a, 0x01, 0xf2, 0x31, 0xc2, 0xdc, 0x25,
	0x25, 0xbc, 0x99, 0x58, 0x25, 0x23, 0x92, 0x85, 0xe9, 0x44, 0x42, 0x60, 0xad, 0x49, 0x5e, 0x58,
	0x06, 0xe9, 0x24, 0xae, 0xbe, 0xb7, 0x61, 0xc5, 0x24, 0x9e, 0x6f, 0xd9, 0x6c, 0xde, 0xb1, 0x58,
	0x32, 0x50, 0xb4, 0x03, 0x0b, 0x83, 0x0b, 0x53, 0x04, 0x61, 0x77, 0xbd, 0x11, 0x0d, 0x33, 0xb6,
	0x8d, 0xf8, 0x86, 0x45, 0x1e, 0x71, 0x2d, 0xbd, 0x6f, 0xfd, 0x90, 0x98, 0x4f, 0x07, 0xfd, 0xbd,
	0xb1, 0xcf, 0x4a, 0xb5, 0xe9, 0xb2, 0x0b, 0x7a, 0xea, 0x7f, 0xbb, 0x0a, 0x0b, 0x21, 0x2d, 0x3d,
	0x75, 0x41, 0xf5, 0x6c, 0x20, 0xf3, 0x30, 0x43, 0x9c, 0x80, 0xa1, 0x33, 0xb8, 0xed, 0x5d, 0x56,
	0xf0, 0x59, 0xdd, 0x7d, 0x93, 0xcf, 0xf9, 0xa2, 0x82, 0x4f, 0x7c, 0x21, 0x23, 0x6a, 0x91, 0xa6,
	0xbc, 0xfa, 0x33, 0x17, 0xff, 0x77, 0x59, 0x25, 0x71, 0x22, 0x91, 0xce, 0xf5, 0x7f, 0x42, 0x96,
	0x3d, 0x83, 0x8c, 0x1e, 0x5e, 0xf1, 0xf2, 0xcf, 0x5d, 0xfd, 0xa8, 0x05, 0xeb, 0x24, 0x5f, 0xde,
	0xc3, 0x23, 0x84, 0x9b, 0x93, 0x0b, 0x80, 0x70, 0x11, 0x19, 0x9d, 0x4f, 0xd6, 0xed, 0x5a, 0xb8,
	0xc8, 0xed, 0xca, 0x3b, 0x5d, 0x9f, 0xc0, 0x92, 0x9e, 0x28, 0x8d, 0x60, 0x76, 0x2e, 0x96, 0x64,
	0xb2, 0x6a, 0x02, 0xa7, 0x10, 0x29, 0x61, 0xca, 0x85, 0x5a, 0x9c, 0xe8, 0x42, 0x65, 0x1c, 0xa8,
	0xd7, 0x61, 0xd6, 0xd0, 0xfb, 0x7d, 0x16, 0x20, 0x56, 0x77, 0xab, 0x89, 0xcf, 0x2b, 0x30, 0xeb,
	0x60, 0x08, 0xe7, 0x7a, 0x50, 0xcb, 0x96, 0x40, 0x38, 0xd7, 0x7d, 0xcc, 0x3a, 0xe8, 0xaa, 0x87,
	0xe9, 0x57, 0x48, 0x16, 0x13, 0xa6, 0x6c, 0x64, 0xb2, 0x17, 0x67, 0xd1, 0x91, 0x0a, 0xd7, 0x8d,
	0x82, 0x07, 0x1a, 0x16, 0x33, 0xc6, 0x69, 0xe1, 0xa2, 0x37, 0x1c, 0x5c, 0x48, 0x18, 0xbc, 0x3c,
	0x16, 0x47, 0x41, 0x2b, 0x53, 0xc5, 0x70, 0x13, 0x63, 0xa0, 0x1f, 0x97, 0xe0, 0xdd, 0x53, 0xdd,
	0xf3, 0x31, 0x2b, 0x96, 0xf3, 0x1f, 0x93, 0xf1, 0x85, 0x35, 0xd5, 0xab, 0xd3, 0x1f, 0xb1, 0x2b,
	0xb0, 0x45, 0x32, 0xb5, 0x1c, 0xd9, 0xac, 0x25, 0x0b, 0xa0, 0xe3, 0x8f, 0xb1, 0xf2, 0x69, 0x4d,
	0x5c, 0x40, 0x44, 0x4f, 0x40, 0x3f, 0x9f, 0x03, 0x63, 0xcf, 0xf5, 0xf1, 0x09, 0x28, 0xc8, 0x92,
	0xe1, 0x22, 0x32, 0x84, 0x61, 0xc3, 0x2d, 0x4a, 0x62, 0xb2, 0xd2, 0xfc, 0xb8, 0xf0, 0xa1, 0x30,
	0xd1, 0x89, 0x8b, 0x49, 0xa9, 0x19, 0x33, 0x2f, 0xc8, 0x17, 0xf2, 0xb2, 0xfe, 0x50, 0xc6, 0x17,
	0xa5, 0x16, 0xf1, 0x85, 0x8c, 0x90, 0x09, 0xb7, 0x8c, 0xc9, 0x39, 0x45, 0xfe, 0x21, 0x40, 0x3d,
	0x3a, 0x21, 0x13, 0x31, 0xf1, 0x45, 0x6c, 0xe8, 0x71, 0xf1, 0xd3, 0x31, 0x06, 0xfb, 0x56, 0x60,
	0x72, 0xc2, 0x3a, 0x8b, 0x4e, 0xad, 0xa6, 0x97, 0x4a, 0x78, 0xb1, 0xaf, 0x07, 0x62, 0xab, 0x99,
	0xce, 0x86, 0xe1, 0x0c, 0x32, 0x55, 0x9e, 0xb3, 0x9c, 0x13, 0x50, 0xbb, 0x9d, 0x52, 0x9e, 0xbc,
	0x97, 0x80, 0x0b, 0x88, 0x90, 0x0e, 0x37, 0xfd, 0x89, 0xfe, 0x7e, 0xed, 0x35, 0xc6, 0xf2, 0x8d,
	0xe2, 0xac, 0x47, 0x02, 0x11, 0x5f, 0xc0, 0x84, 0x2e, 0x76, 0x98, 0xf2, 0xc5, 0x6a, 0x77, 0x52,
	0x8b, 0x4d, 0x3b, 0x6a, 0x38, 0x83, 0x8c, 0xf6, 0x61, 0xcd, 0xcc, 0xde, 0xef, 0xb5, 0xd7, 0x53,
	0x1f, 0x3c, 0xe6, 0xee, 0x7f, 0x9c, 0x27, 0x49, 0xf0, 0x89, 0x2f, 0xf0, 0xda, 0x76, 0x11, 0x9f,
	0xb8, 0x1f, 0xe7, 0x49, 0xea, 0x3e, 0x40, 0x9c, 0x86, 0x4e, 0x7f, 0xb7, 0x53, 0xca, 0x7e, 0xb7,
	0xb3, 0x09, 0xf3, 0xa7, 0xae, 0x33, 0x38, 0x0a, 0x6e, 0xea, 0x0a, 0xe6, 0x2d, 0x5e, 0x52, 0x52,
	0x0e, 0x4b, 0x4a, 0xb2, 0x5f, 0x15, 0xcd, 0xe6, 0xbe, 0x2a, 0xaa, 0xff, 0xe9, 0x06, 0x54, 0x9f,
	0x90, 0x67, 0xfb, 0x44, 0xa7, 0xc6, 0xcc, 0x43, 0x8f, 0x60, 0xb9, 0xaf, 0x3f, 0x23, 0x7d, 0x8f,
	0x07, 0x53, 0xfc, 0x19, 0xf8, 0x2d, 0xbe, 0x92, 0x04, 0xea, 0xdd, 0x27, 0xd2, 0x5e, 0x6f, 0x5f,
	0x12, 0xb5, 0x2e, 0x96, 0x3a, 0xbd, 0xfd, 0x96, 0x78, 0x80, 0xd3, 0xa4, 0xe8, 0x07, 0xb0, 0xf9,
	0xc2, 0xb1, 0x86, 0xb2, 0x6d, 0x5a, 0x2f, 0x2c, 0x73, 0xa4, 0xf7, 0xd5, 0x91, 0x7f, 0xe6, 0x58,
	0xf6, 0x19, 0xaf, 0x54, 0x99, 0x8e, 0xe9, 0x04, 0x1e, 0xe8, 0x21, 0xf7, 0x4d, 0xbd, 0xe3, 0x8f,
	0xd8, 0x8a, 0xa7, 0xe5, 0x17, 0x51, 0xa1, 0x16, 0xac, 0x84, 0xbf, 0x1b, 0x2e, 0x09, 0x03, 0xf1,
	0x69, 0xf9, 0x64, 0x68, 0x29, 0x37, 0xe3, 0x5c, 0xb7, 0xcf, 0x78, 0xe6, 0xfb, 0x78, 0x97, 0x79,
	0x1c, 0x53, 0x73, 0x4b, 0xd3, 0x52, 0xd9, 0x7d, 0x35, 0x22, 0xee, 0xb8, 0xe3, 0xeb, 0xfe, 0xc8,
	0x3b, 0xfe, 0x28, 0x76, 0x7e, 0xe7, 0xaf, 0x22, 0xbb, 0x62, 0x1e, 0x6c, 0x97, 0x13, 0x36, 0xda,
	0xe3, 0xcf, 0xe2, 0xd3, 0xee, 0x72, 0x92, 0x14, 0x35, 0x01, 0xd8, 0x28, 0xc7, 0x76, 0x58, 0xa2,
	0x3a, 0x2d, 0xa3, 0x04, 0x5d, 0x5e, 0x57, 0x64, 0xdb, 0x70, 0x06, 0x54, 0x57, 0x16, 0x5f, 0x5d,
	0x57, 0x42, 0x1e, 0x08, 0xc3, 0x5a, 0xf4, 0xd5, 0xa9, 0x45, 0xbc, 0x2f, 0xe8, 0xb8, 0xbc, 0x96,
	0x7b, 0x3a, 0xc6, 0x79, 0x72, 0xaa, 0x7f, 0xc3, 0xc0, 0x8c, 0x7b, 0xcc, 0x03, 0x9a, 0x5a, 0xff,
	0x42, 0x2a, 0xd4, 0x06, 0x81, 0x1b, 0xe0, 0xb6, 0x6e, 0x3c, 0x0f, 0x26, 0xb5, 0x74, 0x05, 0x4e,
	0x39, 0x6a, 0xa4, 0x01, 0x4a, 0x6d, 0xce, 0xbe, 0x65, 0xeb, 0x7d, 0xe6, 0x2c, 0x4d, 0xcb, 0xb3,
	0x80, 0x9e, 0xee, 0x70, 0x70, 0xb0, 0x25, 0xd3, 0xf2, 0x99, 0x9b, 0x34, 0xf5, 0x0e, 0xc7, 0x74,
	0x68, 0x1f, 0xaa, 0xec, 0x8d, 0xa1, 0x3b, 0xec, 0x3b, 0xba, 0xc9, 0xfc, 0x9f, 0x69, 0xd9, 0x24,
	0x09, 0xd1, 0x29, 0xdc, 0x4a, 0x34, 0xb1, 0x65, 0x9c, 0x7f, 0x91, 0xd8, 0x1b, 0xe6, 0x9e, 0x4c,
	0xcb, 0xf7, 0x22, 0x46, 0xe8, 0x7b, 0xb0, 0xf0, 0x82, 0xaa, 0xe6, 0xf1, 0x2e, 0xaf, 0x3b, 0x9c,
	0x8e, 0x67, 0x48, 0x44, 0x77, 0x97, 0xb9, 0xd3, 0x61, 0x3d, 0x69, 0xd7, 0xed, 0xb3, 0x2f, 0x95,
	0xa6, 0xde, 0xdd, 0x2c, 0x35, 0x3d, 0xb5, 0x1e, 0x3b, 0xca, 0x58, 0xb7, 0x9f, 0xd3, 0xa3, 0xb1,
	0x71, 0x95, 0x53, 0x9b, 0x22, 0x45, 0xc7, 0xb0, 0x9e, 0x3e, 0x2b, 0x2c, 0x10, 0x60, 0xce, 0xd8,
	0xb4, 0x1c, 0x8b, 0x18, 0x50, 0x0d, 0xf4, 0xcf, 0x2d, 0xd7, 0x6c, 0xeb, 0xae, 0x3f, 0xe6, 0xee,
	0x86, 0xc7, 0x1c, 0xb1, 0xa9, 0x35, 0x30, 0x4f, 0x8f, 0x4c, 0xb8, 0x79, 0xca, 0x5c, 0x40, 0xdb,
	0xef, 0x8f, 0xa3, 0x4f, 0x38, 0x79, 0x59, 0x21, 0x73, 0xbf, 0xa6, 0xe5, 0x7e, 0x01, 0x1f, 0x6a,
	0x83, 0xb8, 0x4d, 0xbf, 0xff, 0xc8, 0xb1, 0xec, 0x36, 0x71, 0x07, 0x96, 0xe7, 0x85, 0x9f, 0x6c,
	0x4e, 0x6d, 0x83, 0x8a, 0x79, 0xd0, 0xfb, 0xc1, 0x25, 0x06, 0xb1, 0xfd, 0x48, 0x2a, 0x37, 0xaf,
	0x72, 0x3f, 0xa4, 0x69, 0xa9, 0x76, 0x86, 0x89, 0xa1, 0x5b, 0x57, 0xd1, 0xce, 0x30, 0x4d, 0xa4,
	0xc0, 0xaa, 0xe7, 0xeb, 0xae, 0x4b, 0xcc, 0x68, 0x3a, 0xb7, 0xaf, 0xc0, 0x27, 0x4b, 0x4c, 0x75,
	0x93, 0xaa, 0x03, 0xf3, 0x0e, 0x69, 0x88, 0xc8, 0x5c, 0xbc, 0xa9, 0x75, 0x33, 0x45, 0x4a, 0xe7,
	0x96, 0xf5, 0x83, 0xef, 0x5c, 0x65, 0x6e, 0x59, 0xaf, 0xf8, 0x1c, 0x6e, 0x67, 0x40, 0x71, 0x79,
	0xb5, 0xe5, 0x8f, 0x99, 0xd3, 0x37, 0x2d, 0xf3, 0x0b, 0x39, 0xd1, 0x7b, 0x26, 0x2a, 0x7a, 0xe5,
	0x08, 0x1e, 0xf3, 0x05, 0xa7, 0xbe, 0x67, 0x72, 0xe4, 0xf4, 0xa4, 0x92, 0x5d, 0x29, 0x59, 0x7c,
	0x49, 0xbd, 0xc6, 0xda, 0x1b, 0x57, 0x39, 0xa9, 0x05, 0x0c, 0xa8, 0x7d, 0x4a, 0xeb, 0xd4, 0xf1,
	0x6e, 0xad, 0x7e, 0x15, 0xfb, 0x94, 0xa5, 0xae, 0x3f, 0x85, 0xb5, 0x1c, 0x1a, 0x5a, 0x85, 0xaa,
	0xa2, 0x6a, 0xbd, 0x8e, 0x26, 0x62, 0x4d, 0x6a, 0x0a, 0xd7, 0xd0, 0x1a, 0x2c, 0xef, 0xab, 0xb8,
	0x21, 0xf5, 0xba, 0xed, 0x03, 0x2c, 0x36, 0xa5, 0xa0, 0x0a, 0xad, 0x29, 0x1d, 0x4b, 0x2d, 0xb5,
	0x7d, 0x24, 0x29, 0x9a, 0x30, 0x83, 0x56, 0x00, 0xda, 0x58, 0x6d, 0x76, 0x1b, 0xac, 0xba, 0xb6,
	0x5c, 0xff, 0x69, 0x09, 0xb6, 0x34, 0xfd, 0x59, 0x9f, 0xf8, 0xc9, 0x65, 0x78, 0x2c, 0x67, 0x9f,
	0xaa, 0x4c, 0x0b, 0xea, 0x53, 0x62, 0x00, 0xf5, 0x80, 0x47, 0xb6, 0x4b, 0x74, 0xb3, 0x71, 0xae,
	0xfb, 0x61, 0x59, 0x45, 0x12, 0x84, 0xee, 0x02, 0xb2, 0x29, 0xd3, 0x30, 0xae, 0x08, 0xd2, 0xc4,
	0x41, 0xe2, 0xbf, 0xa0, 0x07, 0x35, 0x61, 0x39, 0x05, 0xad, 0xcd, 0xa5, 0x0a, 0x9e, 0x92, 0x13,
	0x8c, 0x74, 0xe4, 0xd4, 0xc1, 0x69, 0xa2, 0xfa, 0x5f, 0x94, 0x60, 0x6b, 0x02, 0xea, 0x74, 0x45,
	0xdf, 0x53, 0x67, 0x18, 0xd1, 0xbb, 0x20, 0xf0, 0x9f, 0xf1, 0xa3, 0x7f, 0x99, 0xc9, 0x29, 0x07,
	0x9f, 0x22, 0x60, 0xf8, 0xfb, 0x12, 0x5c, 0x7f, 0x42, 0x9e, 0xfd, 0xf2, 0xf7, 0xe1, 0xbb, 0xb0,
	0x92, 0x82, 0x7a, 0x7c, 0x23, 0x36, 0x62, 0xed, 0x4d, 0xca, 0x3f, 0x83, 0x5c, 0xff, 0x8d, 0x2a,
	0x54, 0x79, 0x18, 0xce, 0xa6, 0xff, 0x14, 0x50, 0xf8, 0x30, 0x91, 0xf9, 0xdf, 0x1c, 0x2b, 0xbb,
	0x3b, 0x61, 0x44, 0x19, 0xe3, 0xdf, 0x6d, 0x8b, 0x27, 0x54, 0x59, 0x83, 0xff, 0x09, 0xd1, 0xe8,
	0x62, 0x2c, 0x29, 0x8d, 0x13, 0x5c, 0xc0, 0x63, 0xba, 0x0a, 0x2a, 0x83, 0x58, 0x2f, 0x82, 0xa7,
	0x80, 0xa8, 0x82, 0x2a, 0x02, 0xa1, 0xef, 0xc1, 0x7c, 0x70, 0x7b, 0xf3, 0x00, 0xe5, 0xed, 0xcb,
	0xe6, 0x13, 0x94, 0x3e, 0x63, 0x4e, 0x85, 0x76, 0xe1, 0xba, 0xef, 0xea, 0xb6, 0x17, 0xfc, 0x53,
	0x8e, 0x74, 0x19, 0xd6, 0x2c, 0x2e, 0xec, 0x2b, 0x2e, 0x5b, 0x9b, 0x9f, 0xbe, 0x6c, 0xad, 0xa8,
	0xec, 0x6b, 0x81, 0x8d, 0x97, 0x05, 0xb3, 0x12, 0x9b, 0x11, 0x35, 0x33, 0x43, 0xd7, 0x71, 0x4e,
	0x89, 0xc9, 0x3f, 0xc6, 0x49, 0x03, 0xd1, 0xcd, 0x44, 0x49, 0x66, 0xf0, 0xae, 0x1d, 0x17, 0x5f,
	0x1e, 0xc0, 0xa2, 0xff, 0xd2, 0x0e, 0xe2, 0x1c, 0xee, 0xd7, 0xbf, 0x73, 0x99, 0x8c, 0xb4, 0xa7,
	0x0a, 0x17, 0x53, 0x4c, 0x5b, 0xff, 0x18, 0x36, 0x0a, 0x37, 0x16, 0x5d, 0x07, 0xa1, 0xab, 0x3c,
	0x56, 0xd4, 0x27, 0x4a, 0x04, 0x13, 0xae, 0xa1, 0x05, 0x28, 0xcb, 0x0a, 0x16, 0x4a, 0xf5, 0x7f,
	0x29, 0xc1, 0x7a, 0xc1, 0x0e, 0x20, 0x04, 0x2b, 0x21, 0x59, 0x00, 0x11, 0xae, 0x71, 0xe3, 0xd6,
	0x90, 0x3a, 0x1d, 0x59, 0x39, 0x08, 0x6a, 0xd3, 0x3b, 0x81, 0xd9, 0x43, 0xb0, 0xa2, 0x48, 0x52,
	0xb3, 0xa7, 0xa9, 0x3d, 0xb1, 0xd1, 0x90, 0xda, 0x5a, 0x50, 0x0c, 0xdc, 0x50, 0x8f, 0xda, 0x2d,
	0x49, 0x93, 0x84, 0x59, 0xb4, 0x09, 0xa8, 0xa1, 0x76, 0x5b, 0xcd, 0x1e, 0xb5, 0xa9, 0x11, 0x9c,
	0x15, 0x06, 0x63, 0x69, 0xbf, 0xab, 0x34, 0xa5, 0xa6, 0x30, 0x8f, 0xaa, 0xb0, 0x20, 0x3d, 0x6d,
	0xcb, 0x58, 0x6a, 0x0a, 0x0b, 0x41, 0xd7, 0x23, 0xa9, 0x41, 0xad, 0x6f, 0x05, 0x2d, 0xc3, 0x62,
	0x43, 0x54, 0x1a, 0x52, 0xab, 0x25, 0x35, 0x85, 0x45, 0xb4, 0x01, 0x6b, 0x4f, 0x44, 0x59, 0x93,
	0x95, 0x83, 0xde, 0xbe, 0x8a, 0x7b, 0x6d, 0xf1, 0x44, 0xc2, 0x02, 0x50, 0x06, 0x1c, 0x2c, 0x54,
	0xeb, 0xff, 0x3c, 0x0b, 0x9b, 0xc5, 0x92, 0xa3, 0x78, 0x7c, 0x79, 0x81, 0x61, 0x6f, 0x4b, 0x4a,
	0x93, 0xf2, 0xea, 0x48, 0x5a, 0xb7, 0x2d, 0x94, 0xd0, 0x4d, 0xd8, 0x0c, 0x41, 0x58, 0x6a, 0x48,
	0xf2, 0xb1, 0x84, 0x79, 0xdf, 0x0c, 0x5d, 0xb6, 0xac, 0xc8, 0x74, 0x89, 0x55, 0x58, 0xe8, 0x74,
	0x1b, 0x54, 0x20, 0xc2, 0x2c, 0x9b, 0x20, 0x5f, 0x57, 0x53, 0x98, 0x63, 0xd5, 0xcf, 0xa2, 0xdc,
	0x62, 0xcb, 0x5a, 0x85, 0x6a, 0xf0, 0xbb, 0x87, 0xe5, 0xce, 0x63, 0x61, 0x81, 0xce, 0x9e, 0x03,
	0x12, 0x02, 0xad, 0xa0, 0x3b, 0x70, 0x33, 0xc4, 0x0b, 0x07, 0x4d, 0xf4, 0x2f, 0xd2, 0x21, 0x78,
	0x7f, 0x53, 0x14, 0x00, 0xad, 0xc3, 0x6a, 0xd4, 0xec, 0xed, 0xcb, 0x8a, 0xd8, 0x12, 0xaa, 0x48,
	0x80, 0xa5, 0x50, 0xa0, 0x74, 0xbd, 0xc2, 0x12, 0x5d, 0x5e, 0x00, 0xe9, 0xf1, 0x09, 0x2d, 0xa3,
	0xdb, 0x50, 0x4b, 0x81, 0x92, 0xc3, 0xac, 0x50, 0x95, 0x49, 0xf7, 0x36, 0x45, 0x61, 0x95, 0x2e,
	0x82, 0xef, 0x0d, 0xe3, 0x2b, 0x50, 0xbe, 0x62, 0x57, 0x3b, 0xec, 0x05, 0xdb, 0x22, 0x35, 0x85,
	0x35, 0xf4, 0x06, 0xbc, 0x96, 0x00, 0x15, 0x30, 0x47, 0x54, 0x11, 0xf2, 0x28, 0xc2, 0x3a, 0x9d,
	0x77, 0x43, 0x6d, 0xb5, 0xa4, 0x06, 0xdd, 0x2b, 0x59, 0x13, 0xae, 0xd3, 0xe5, 0x85, 0x90, 0x50,
	0xca, 0x1b, 0x54, 0xd3, 0x42, 0x20, 0x27, 0xdd, 0x44, 0x5b, 0xb0, 0x9e, 0x86, 0x05, 0x62, 0xde,
	0xa2, 0x0b, 0x09, 0x3b, 0x22, 0x4d, 0xaa, 0x25, 0xf9, 0x86, 0xca, 0x76, 0x23, 0x89, 0x1a, 0xad,
	0xe7, 0x66, 0xa0, 0xb5, 0x49, 0x68, 0x8b, 0x2e, 0xe2, 0x56, 0xfd, 0x1f, 0x6f, 0xc2, 0x4a, 0xda,
	0x4c, 0xc7, 0x77, 0xdf, 0xcc, 0x2f, 0xfc, 0xee, 0x93, 0x32, 0x56, 0xf6, 0xfd, 0xc2, 0x8b, 0x84,
	0x79, 0x42, 0xe1, 0x97, 0x45, 0x45, 0xc6, 0x36, 0x73, 0x85, 0xce, 0xe5, 0xff, 0x93, 0xcf, 0x26,
	0xcc, 0x5b, 0x67, 0xb6, 0xe3, 0x06, 0x79, 0xf9, 0x0a, 0xe6, 0x2d, 0xf6, 0x89, 0x63, 0xe0, 0x56,
	0xb3, 0x67, 0xdb, 0x0a, 0x0e, 0x9b, 0xf4, 0x6e, 0x7d, 0xe6, 0x3a, 0xba, 0x69, 0xe8, 0x9e, 0xcf,
	0xbf, 0xe1, 0x8e, 0x01, 0xd4, 0x32, 0x0e, 0x47, 0xde, 0x39, 0x7b, 0x3c, 0x5d, 0x0f, 0x2c, 0x63,
	0xd8, 0x46, 0xf7, 0x61, 0x83, 0x05, 0xb9, 0x0d, 0x6b, 0x78, 0x4e, 0x5c, 0x9f, 0xbc, 0xf4, 0x79,
	0x19, 0xe3, 0x75, 0xf6, 0x98, 0x58, 0xdc, 0x49, 0xc7, 0x1b, 0x8c, 0xfa, 0xbe, 0xc5, 0xc6, 0xdb,
	0x08, 0xc6, 0x8b, 0x00, 0x74, 0x9e, 0x23, 0xb7, 0xcf, 0x2a, 0x30, 0x82, 0xff, 0xab, 0x13, 0x36,
	0x29, 0xdd, 0xc8, 0xed, 0xf3, 0x82, 0xd0, 0xad, 0x80, 0x2e, 0x02, 0xa0, 0x13, 0x58, 0xe5, 0x42,
	0xef, 0xf8, 0xa3, 0x67, 0xec, 0x63, 0xa3, 0x20, 0x74, 0xfb, 0x60, 0x6a, 0x49, 0x77, 0xf7, 0xd8,
	0xd7, 0x17, 0x59, 0x3e, 0xec, 0xd3, 0xa2, 0x3e, 0xd1, 0xdd, 0x23, 0xba, 0x1c, 0x16, 0xae, 0x55,
	0x70, 0x02, 0x12, 0x88, 0x21, 0x22, 0x89, 0xca, 0xd0, 0x69, 0x0c, 0x56, 0xde, 0x59, 0xc4, 0xc5,
	0x9d, 0x54, 0xb0, 0xe6, 0x88, 0x3f, 0x5d, 0xdf, 0x62, 0x8e, 0x48, 0xd4, 0xa6, 0x9b, 0x18, 0x24,
	0x37, 0x6a, 0xb7, 0x83, 0x9a, 0xfa, 0xa0, 0x85, 0xee, 0xd3, 0xed, 0x8f, 0xae, 0x1c, 0x9e, 0xe9,
	0x46, 0xf9, 0xcb, 0x08, 0x27, 0xd1, 0xd0, 0x21, 0xac, 0x9d, 0x5a, 0xb6, 0xde, 0x4f, 0x3e, 0xa7,
	0xf0, 0x74, 0xf6, 0x45, 0x2f, 0x2d, 0x79, 0x22, 0xf4, 0x10, 0xd6, 0x82, 0x7f, 0x59, 0x94, 0x18,
	0x8b, 0xa7, 0xb5, 0x8b, 0x66, 0x91, 0x47, 0x46, 0x0f, 0x60, 0x2b, 0xfe, 0x72, 0xcf, 0xd7, 0x5d,
	0x3f, 0x3e, 0x3a, 0xdb, 0xec, 0xe8, 0x4c, 0xea, 0x66, 0xff, 0x9d, 0x25, 0xec, 0x6a, 0x86, 0x82,
	0x7b, 0x83, 0xff, 0x77, 0x96, 0x6c, 0x47, 0xdd, 0x82, 0xad, 0x09, 0x67, 0x09, 0x2d, 0xc2, 0x9c,
	0x84, 0xb1, 0x8a, 0x85, 0x6b, 0xf4, 0x72, 0xe0, 0x57, 0x88, 0x50, 0x62, 0xff, 0x84, 0x40, 0xc2,
	0xd4, 0xa0, 0x8b, 0x8d, 0xc7, 0xc2, 0x0c, 0xb5, 0x76, 0x4d, 0xa9, 0x45, 0x2d, 0xfc, 0x09, 0x83,
	0x94, 0xe9, 0xad, 0x82, 0x25, 0xb1, 0x19, 0x7c, 0x37, 0xd3, 0x6e, 0x89, 0x27, 0xf4, 0x16, 0xa9,
	0xff, 0xc7, 0x1a, 0xdc, 0x98, 0xa8, 0x4d, 0xe9, 0x5b, 0x2c, 0xfe, 0x4e, 0x90, 0x0d, 0xd7, 0x90,
	0xdb, 0x87, 0x12, 0xd6, 0xa4, 0xa7, 0xf4, 0x7e, 0xa6, 0x17, 0x50, 0x97, 0xc6, 0x36, 0x6d, 0xac,
	0xaa, 0xfb, 0xc1, 0x17, 0x83, 0x8a, 0xaa, 0xf4, 0x8e, 0x25, 0x2c, 0xef, 0xcb, 0xd4, 0xa2, 0x63,
	0x51, 0xe9, 0xc8, 0x2c, 0x68, 0x99, 0x45, 0x37, 0x60, 0xa3, 0xab, 0x14, 0x75, 0xcd, 0x51, 0x53,
	0x5b, 0xd4, 0x31, 0x8f, 0x6a, 0x70, 0x3d, 0xea, 0x68, 0xa9, 0x4f, 0x7a, 0xe1, 0xbc, 0x16, 0xe8,
	0x35, 0x11, 0xf5, 0x1c, 0xca, 0x07, 0x87, 0x42, 0x85, 0x5e, 0x3f, 0x11, 0x28, 0xfc, 0xe8, 0x2d,
	0x24, 0x58, 0x4c, 0xb1, 0x0a, 0x7b, 0x5b, 0xea, 0x13, 0x01, 0xe8, 0xc4, 0x72, 0x3d, 0x8c, 0x65,
	0x15, 0xbd, 0x09, 0xaf, 0x17, 0x4c, 0xac, 0x27, 0x2a, 0x27, 0xd4, 0x29, 0x61, 0x9f, 0xc6, 0x2e,
	0x5d, 0x82, 0xc4, 0x38, 0x2d, 0x4f, 0x42, 0xa2, 0xbd, 0x14, 0x8b, 0xce, 0x64, 0x05, 0x7d, 0x1b,
	0xde, 0xbc, 0x08, 0x29, 0x5c, 0xcc, 0x2a, 0x7a, 0x1b, 0xea, 0x45, 0x88, 0xa1, 0x6f, 0xc5, 0x19,
	0x0a, 0x93, 0xf0, 0xa8, 0x28, 0x13, 0xfc, 0xd6, 0x26, 0xcd, 0x8e, 0x2e, 0x30, 0x64, 0x86, 0x26,
	0xcd, 0x2e, 0x44, 0x0a, 0xb9, 0xb1, 0x4b, 0xf7, 0x00, 0xab, 0xdd, 0x76, 0xaf, 0x81, 0x25, 0x51,
	0x93, 0x84, 0xeb, 0x54, 0xf8, 0x1c, 0x72, 0x28, 0x2a, 0x07, 0x52, 0xaf, 0xd3, 0xdd, 0xa3, 0x17,
	0xa7, 0xb0, 0x41, 0x7d, 0x96, 0x54, 0x8f, 0xdc, 0x50, 0x15, 0x61, 0x93, 0xee, 0x65, 0x1a, 0xac,
	0x1c, 0xcb, 0x9a, 0xd4, 0x6b, 0xc9, 0x0a, 0xbd, 0x81, 0xb3, 0xbd, 0x4d, 0xa9, 0xd3, 0xc0, 0x72,
	0x9b, 0x29, 0x4d, 0x8d, 0xee, 0x67, 0xaa, 0x17, 0x4b, 0x1d, 0x0d, 0xcb, 0x0d, 0x4d, 0xb8, 0x91,
	0xeb, 0x12, 0x15, 0x45, 0xed, 0x2a, 0x0d, 0x49, 0xb8, 0x19, 0x77, 0xb5, 0x45, 0xac, 0xc9, 0x0d,
	0xb9, 0x2d, 0x2a, 0x5a, 0x4f, 0x6c, 0x36, 0x85, 0x5b, 0xf1, 0x70, 0xc9, 0x2e, 0x2c, 0x1d, 0xa9,
	0xc7, 0x92, 0x70, 0x1b, 0xbd, 0x06, 0x37, 0xf2, 0xbd, 0x6d, 0xac, 0x1e, 0xa9, 0x9a, 0x24, 0xbc,
	0x56, 0x4c, 0xdc, 0x94, 0x58, 0xef, 0x9d, 0xe2, 0xde, 0x60, 0xb1, 0xc2, 0xeb, 0xf4, 0x3c, 0xe5,
	0x7b, 0x5b, 0x92, 0x78, 0x2c, 0x09, 0xdb, 0x74, 0xcf, 0xf2, 0x9d, 0x7c, 0x5d, 0x4a, 0xf7, 0x68,
	0x4f, 0xc2, 0xc2, 0x1b, 0xd4, 0x01, 0xd9, 0xc3, 0xaa, 0xd8, 0x6c, 0x88, 0x1d, 0x2d, 0xdc, 0x8e,
	0x7a, 0xf0, 0xcf, 0x48, 0x42, 0x28, 0x5d, 0xe3, 0x9b, 0x69, 0x44, 0xbe, 0xb6, 0xb7, 0xd8, 0xbe,
	0x49, 0x8a, 0x84, 0xe5, 0xcc, 0x07, 0xbe, 0xdf, 0xa2, 0x3d, 0xd2, 0xae, 0xd4, 0x93, 0x9b, 0x92,
	0xa2, 0xc9, 0xda, 0x09, 0x1f, 0xb8, 0x29, 0xbc, 0x4d, 0x99, 0xd3, 0x1e, 0x49, 0x69, 0xe0, 0x93,
	0x36, 0xf5, 0x8d, 0xbe, 0x4d, 0x37, 0xb9, 0x21, 0xb6, 0x5a, 0xbd, 0x23, 0xb9, 0xd3, 0x91, 0x9a,
	0xbd, 0x63, 0x55, 0x6e, 0x48, 0xc2, 0x4e, 0x0e, 0xcc, 0xfe, 0x69, 0xc9, 0x3b, 0x54, 0x26, 0xb2,
	0xd2, 0x94, 0x8f, 0xe5, 0x66, 0x57, 0x6c, 0x65, 0x56, 0xf4, 0x6e, 0xac, 0x5c, 0x4d, 0x89, 0x39,
	0xfb, 0xff, 0x8f, 0x2a, 0x79, 0x00, 0x09, 0x77, 0xb3, 0x77, 0xa4, 0x36, 0xa5, 0xc8, 0xb8, 0xed,
	0x05, 0x3b, 0xfc, 0x1e, 0x95, 0x66, 0x72, 0xb8, 0x80, 0x26, 0x98, 0xcb, 0xfb, 0x13, 0x3a, 0xd9,
	0x8c, 0xee, 0x52, 0x87, 0x2d, 0xf4, 0xf8, 0x13, 0x06, 0xf0, 0x03, 0x6a, 0xb7, 0x42, 0x78, 0xd2,
	0x10, 0xde, 0x43, 0xef, 0xc1, 0x4e, 0xd8, 0xc1, 0x4e, 0x8a, 0xc8, 0x32, 0x37, 0xe1, 0x27, 0xb8,
	0xdd, 0x36, 0xfb, 0x2e, 0x91, 0x7b, 0x9a, 0x1f, 0xa2, 0xbb, 0xf0, 0xee, 0xe5, 0xd8, 0x51, 0x3c,
	0xb3, 0x8b, 0x3e, 0x82, 0x0f, 0xa6, 0xc5, 0x0f, 0x07, 0xf9, 0x08, 0x7d, 0x07, 0x3e, 0xbc, 0x80,
	0x28, 0x8e, 0x0c, 0x52, 0x21, 0xcb, 0x7d, 0xf4, 0x39, 0x3c, 0x98, 0x86, 0x8c, 0xbb, 0xd2, 0x3d,
	0x71, 0x5f, 0x93, 0x70, 0xef, 0x50, 0x6e, 0x34, 0xba, 0x6d, 0xe1, 0x3b, 0xe8, 0x1d, 0xf8, 0x56,
	0x48, 0xcd, 0x09, 0xc5, 0x46, 0x43, 0xed, 0x2a, 0x5a, 0xc0, 0x9f, 0x2a, 0x9a, 0xac, 0x34, 0x25,
	0x2c, 0x7c, 0x8c, 0x76, 0xe0, 0xad, 0x0c, 0x6a, 0x47, 0x52, 0x9a, 0xbd, 0x10, 0x16, 0x61, 0x7e,
	0x82, 0xde, 0x85, 0xb7, 0x2f, 0xc2, 0x64, 0xa7, 0x27, 0x50, 0xd3, 0x07, 0xf4, 0x90, 0x64, 0x70,
	0xb1, 0xf4, 0x45, 0x57, 0xea, 0xd0, 0x23, 0xd8, 0x68, 0xc9, 0x8a, 0xd4, 0x14, 0x3e, 0x45, 0x75,
	0xb8, 0x33, 0x01, 0x29, 0xf4, 0xe4, 0xff, 0x3f, 0x7a, 0x0b, 0xb6, 0x27, 0xe0, 0xc4, 0xf1, 0xe3,
	0x67, 0x74, 0xbd, 0x7b, 0xf2, 0x97, 0x45, 0x17, 0x60, 0x4f, 0x53, 0xdb, 0xd4, 0x4a, 0xee, 0xa9,
	0x9a, 0xa6, 0x1e, 0x09, 0x9f, 0x5f, 0x84, 0x1a, 0xe0, 0x50, 0x6c, 0x4d, 0x6d, 0x0b, 0xdf, 0x65,
	0xc7, 0x55, 0xfe, 0xb2, 0x27, 0x2b, 0x1a, 0x0e, 0x40, 0xdf, 0x63, 0xc7, 0x35, 0x02, 0x71, 0x9e,
	0xdf, 0xa7, 0x31, 0x08, 0x85, 0x2a, 0xe2, 0x91, 0xc4, 0xcf, 0x8d, 0xf0, 0x90, 0x1e, 0x27, 0x0a,
	0xa4, 0x27, 0x9a, 0xb2, 0x6c, 0xa8, 0x4a, 0xa7, 0x7b, 0x44, 0x5d, 0x86, 0x76, 0x5b, 0x10, 0x69,
	0x70, 0x48, 0x7b, 0xb5, 0x27, 0x6a, 0x4f, 0x93, 0x25, 0xdc, 0x3b, 0x92, 0x0f, 0xb0, 0x18, 0x4e,
	0x58, 0xd8, 0xa3, 0xb1, 0xd7, 0x84, 0x7e, 0x3e, 0x6a, 0x83, 0xc6, 0x8f, 0xea, 0xb1, 0x84, 0x3b,
	0xf2, 0x97, 0x52, 0x53, 0x68, 0xd2, 0x8d, 0x4c, 0xd9, 0x58, 0x45, 0xed, 0xed, 0x33, 0x59, 0x29,
	0x5a, 0xeb, 0x84, 0x86, 0xd5, 0x4f, 0x44, 0x4c, 0xf5, 0x58, 0x8a, 0x8d, 0xdf, 0xf1, 0x7d, 0x6a,
	0x85, 0x42, 0x23, 0xcf, 0xa2, 0xff, 0xfd, 0xf8, 0x58, 0x67, 0x0c, 0x72, 0x24, 0xf8, 0x47, 0xaa,
	0xac, 0x08, 0x07, 0x94, 0x0b, 0x1f, 0x29, 0xff, 0x4f, 0x0c, 0x0e, 0xff, 0x27, 0x00, 0x00, 0xff,
	0xff, 0x79, 0xe4, 0x35, 0xde, 0x43, 0x5b, 0x00, 0x00,
}