diff options
Diffstat (limited to 'vendor/github.com/Rhymen/go-whatsapp/binary')
3 files changed, 955 insertions, 522 deletions
diff --git a/vendor/github.com/Rhymen/go-whatsapp/binary/node.go b/vendor/github.com/Rhymen/go-whatsapp/binary/node.go index 2139e385..66b28d88 100644 --- a/vendor/github.com/Rhymen/go-whatsapp/binary/node.go +++ b/vendor/github.com/Rhymen/go-whatsapp/binary/node.go @@ -66,9 +66,12 @@ func Unmarshal(data []byte) (*Node, error) { } if n != nil && n.Attributes != nil && n.Content != nil { - n.Content, err = unmarshalMessageArray(n.Content.([]Node)) - if err != nil { - return nil, err + nContent, ok := n.Content.([]Node) + if ok { + n.Content, err = unmarshalMessageArray(nContent) + if err != nil { + return nil, err + } } } diff --git a/vendor/github.com/Rhymen/go-whatsapp/binary/proto/def.pb.go b/vendor/github.com/Rhymen/go-whatsapp/binary/proto/def.pb.go index 8d811b34..9c4d99de 100644 --- a/vendor/github.com/Rhymen/go-whatsapp/binary/proto/def.pb.go +++ b/vendor/github.com/Rhymen/go-whatsapp/binary/proto/def.pb.go @@ -201,15 +201,18 @@ func (VideoMessage_VIDEO_MESSAGE_ATTRIBUTION) EnumDescriptor() ([]byte, []int) { type ProtocolMessage_PROTOCOL_MESSAGE_TYPE int32 const ( - ProtocolMessage_REVOKE ProtocolMessage_PROTOCOL_MESSAGE_TYPE = 0 + ProtocolMessage_REVOKE ProtocolMessage_PROTOCOL_MESSAGE_TYPE = 0 + ProtocolMessage_EPHEMERAL_SETTING ProtocolMessage_PROTOCOL_MESSAGE_TYPE = 3 ) var ProtocolMessage_PROTOCOL_MESSAGE_TYPE_name = map[int32]string{ 0: "REVOKE", + 3: "EPHEMERAL_SETTING", } var ProtocolMessage_PROTOCOL_MESSAGE_TYPE_value = map[string]int32{ - "REVOKE": 0, + "REVOKE": 0, + "EPHEMERAL_SETTING": 3, } func (x ProtocolMessage_PROTOCOL_MESSAGE_TYPE) Enum() *ProtocolMessage_PROTOCOL_MESSAGE_TYPE { @@ -333,21 +336,24 @@ func (HSMDateTimeComponent_HSM_DATE_TIME_COMPONENT_CALENDARTYPE) EnumDescriptor( type WebFeatures_WEB_FEATURES_FLAG int32 const ( - WebFeatures_NOT_IMPLEMENTED WebFeatures_WEB_FEATURES_FLAG = 0 - WebFeatures_IMPLEMENTED WebFeatures_WEB_FEATURES_FLAG = 1 - WebFeatures_OPTIONAL WebFeatures_WEB_FEATURES_FLAG = 2 + 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_IMPLEMENTED", - 1: "IMPLEMENTED", - 2: "OPTIONAL", + 0: "NOT_STARTED", + 1: "FORCE_UPGRADE", + 2: "DEVELOPMENT", + 3: "PRODUCTION", } var WebFeatures_WEB_FEATURES_FLAG_value = map[string]int32{ - "NOT_IMPLEMENTED": 0, - "IMPLEMENTED": 1, - "OPTIONAL": 2, + "NOT_STARTED": 0, + "FORCE_UPGRADE": 1, + "DEVELOPMENT": 2, + "PRODUCTION": 3, } func (x WebFeatures_WEB_FEATURES_FLAG) Enum() *WebFeatures_WEB_FEATURES_FLAG { @@ -370,7 +376,7 @@ func (x *WebFeatures_WEB_FEATURES_FLAG) UnmarshalJSON(data []byte) error { } func (WebFeatures_WEB_FEATURES_FLAG) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_76fb0470a3b910d8, []int{46, 0} + return fileDescriptor_76fb0470a3b910d8, []int{48, 0} } type PaymentInfo_PAYMENT_INFO_STATUS int32 @@ -440,7 +446,7 @@ func (x *PaymentInfo_PAYMENT_INFO_STATUS) UnmarshalJSON(data []byte) error { } func (PaymentInfo_PAYMENT_INFO_STATUS) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_76fb0470a3b910d8, []int{50, 0} + return fileDescriptor_76fb0470a3b910d8, []int{52, 0} } type WebMessageInfo_WEB_MESSAGE_INFO_STATUS int32 @@ -492,7 +498,7 @@ func (x *WebMessageInfo_WEB_MESSAGE_INFO_STATUS) UnmarshalJSON(data []byte) erro } func (WebMessageInfo_WEB_MESSAGE_INFO_STATUS) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_76fb0470a3b910d8, []int{51, 0} + return fileDescriptor_76fb0470a3b910d8, []int{53, 0} } type WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE int32 @@ -568,6 +574,9 @@ const ( 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{ @@ -641,6 +650,9 @@ var WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE_name = map[int32]string{ 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{ @@ -714,6 +726,9 @@ var WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE_value = map[string]int32{ "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 { @@ -736,12 +751,12 @@ func (x *WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE) UnmarshalJSON(data []byte) er } func (WebMessageInfo_WEB_MESSAGE_INFO_STUBTYPE) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_76fb0470a3b910d8, []int{51, 1} + return fileDescriptor_76fb0470a3b910d8, []int{53, 1} } type HydratedQuickReplyButton struct { DisplayText *string `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` - ButtonId *string `protobuf:"bytes,2,opt,name=buttonId" json:"buttonId,omitempty"` + Id *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -779,9 +794,9 @@ func (m *HydratedQuickReplyButton) GetDisplayText() string { return "" } -func (m *HydratedQuickReplyButton) GetButtonId() string { - if m != nil && m.ButtonId != nil { - return *m.ButtonId +func (m *HydratedQuickReplyButton) GetId() string { + if m != nil && m.Id != nil { + return *m.Id } return "" } @@ -881,6 +896,7 @@ func (m *HydratedCallButton) GetPhoneNumber() string { } 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 @@ -916,6 +932,13 @@ func (m *HydratedTemplateButton) XXX_DiscardUnknown() { 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() } @@ -977,7 +1000,7 @@ func (*HydratedTemplateButton) XXX_OneofWrappers() []interface{} { type QuickReplyButton struct { DisplayText *HighlyStructuredMessage `protobuf:"bytes,1,opt,name=displayText" json:"displayText,omitempty"` - ButtonId *string `protobuf:"bytes,2,opt,name=buttonId" json:"buttonId,omitempty"` + Id *string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1015,9 +1038,9 @@ func (m *QuickReplyButton) GetDisplayText() *HighlyStructuredMessage { return nil } -func (m *QuickReplyButton) GetButtonId() string { - if m != nil && m.ButtonId != nil { - return *m.ButtonId +func (m *QuickReplyButton) GetId() string { + if m != nil && m.Id != nil { + return *m.Id } return "" } @@ -1117,6 +1140,7 @@ func (m *CallButton) GetPhoneNumber() *HighlyStructuredMessage { } 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 @@ -1152,6 +1176,13 @@ func (m *TemplateButton) XXX_DiscardUnknown() { 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() } @@ -1461,6 +1492,8 @@ type ContextInfo struct { 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"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1568,6 +1601,20 @@ func (m *ContextInfo) GetQuotedAd() *AdReplyInfo { 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 +} + 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"` @@ -1616,26 +1663,30 @@ func (m *SenderKeyDistributionMessage) GetAxolotlSenderKeyDistributionMessage() } 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"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + 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{} } @@ -1782,6 +1833,34 @@ func (m *ImageMessage) GetExperimentGroupId() uint32 { 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"` @@ -1936,6 +2015,7 @@ type ExtendedTextMessage struct { 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:"-"` @@ -2043,6 +2123,13 @@ func (m *ExtendedTextMessage) GetContextInfo() *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"` @@ -2569,6 +2656,7 @@ func (m *Chat) GetId() string { 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"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2613,6 +2701,13 @@ func (m *ProtocolMessage) GetType() ProtocolMessage_PROTOCOL_MESSAGE_TYPE { return ProtocolMessage_REVOKE } +func (m *ProtocolMessage) GetEphemeralExpiration() uint32 { + if m != nil && m.EphemeralExpiration != nil { + return *m.EphemeralExpiration + } + 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"` @@ -3018,6 +3113,7 @@ type HighlyStructuredMessage struct { 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:"-"` @@ -3104,6 +3200,13 @@ func (m *HighlyStructuredMessage) GetDeterministicLc() string { 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"` @@ -3422,7 +3525,8 @@ type StickerMessage struct { 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"` - PngThumbnail []byte `protobuf:"bytes,16,opt,name=pngThumbnail" json:"pngThumbnail,omitempty"` + FirstFrameLength *uint32 `protobuf:"varint,11,opt,name=firstFrameLength" json:"firstFrameLength,omitempty"` + FirstFrameSidecar []byte `protobuf:"bytes,12,opt,name=firstFrameSidecar" json:"firstFrameSidecar,omitempty"` ContextInfo *ContextInfo `protobuf:"bytes,17,opt,name=contextInfo" json:"contextInfo,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -3524,9 +3628,16 @@ func (m *StickerMessage) GetMediaKeyTimestamp() int64 { return 0 } -func (m *StickerMessage) GetPngThumbnail() []byte { +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.PngThumbnail + return m.FirstFrameSidecar } return nil } @@ -3690,7 +3801,8 @@ func (*FourRowTemplate) XXX_OneofWrappers() []interface{} { 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,9,rep,name=hydratedButtons" json:"hydratedButtons,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 @@ -3749,6 +3861,13 @@ func (m *HydratedFourRowTemplate) GetHydratedButtons() []*HydratedTemplateButton return nil } +func (m *HydratedFourRowTemplate) GetTemplateId() string { + if m != nil && m.TemplateId != nil { + return *m.TemplateId + } + return "" +} + type isHydratedFourRowTemplate_Title interface { isHydratedFourRowTemplate_Title() } @@ -3837,6 +3956,8 @@ func (*HydratedFourRowTemplate) XXX_OneofWrappers() []interface{} { } 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 @@ -3871,6 +3992,20 @@ func (m *TemplateMessage) XXX_DiscardUnknown() { 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() } @@ -3917,12 +4052,13 @@ func (*TemplateMessage) XXX_OneofWrappers() []interface{} { } type TemplateButtonReplyMessage struct { - SelectedButtonId *string `protobuf:"bytes,1,opt,name=selectedButtonId" json:"selectedButtonId,omitempty"` - SelectedButtonDisplayText []string `protobuf:"bytes,2,rep,name=selectedButtonDisplayText" json:"selectedButtonDisplayText,omitempty"` - ContextInfo *ContextInfo `protobuf:"bytes,3,opt,name=contextInfo" json:"contextInfo,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + 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{} } @@ -3950,18 +4086,18 @@ func (m *TemplateButtonReplyMessage) XXX_DiscardUnknown() { var xxx_messageInfo_TemplateButtonReplyMessage proto.InternalMessageInfo -func (m *TemplateButtonReplyMessage) GetSelectedButtonId() string { - if m != nil && m.SelectedButtonId != nil { - return *m.SelectedButtonId +func (m *TemplateButtonReplyMessage) GetSelectedId() string { + if m != nil && m.SelectedId != nil { + return *m.SelectedId } return "" } -func (m *TemplateButtonReplyMessage) GetSelectedButtonDisplayText() []string { - if m != nil { - return m.SelectedButtonDisplayText +func (m *TemplateButtonReplyMessage) GetSelectedDisplayText() string { + if m != nil && m.SelectedDisplayText != nil { + return *m.SelectedDisplayText } - return nil + return "" } func (m *TemplateButtonReplyMessage) GetContextInfo() *ContextInfo { @@ -3971,6 +4107,13 @@ func (m *TemplateButtonReplyMessage) GetContextInfo() *ContextInfo { return nil } +func (m *TemplateButtonReplyMessage) GetSelectedIndex() uint32 { + if m != nil && m.SelectedIndex != nil { + return *m.SelectedIndex + } + return 0 +} + 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"` @@ -3981,6 +4124,7 @@ type ProductSnapshot struct { 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:"-"` @@ -4074,6 +4218,13 @@ func (m *ProductSnapshot) GetProductImageCount() uint32 { 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"` @@ -4130,15 +4281,16 @@ func (m *ProductMessage) GetContextInfo() *ContextInfo { } 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"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + 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{} } @@ -4208,6 +4360,99 @@ func (m *GroupInviteMessage) GetCaption() string { 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{44} +} + +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{45} +} + +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"` @@ -4231,8 +4476,11 @@ type Message struct { 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"` - ProductMessage *ProductMessage `protobuf:"bytes,27,opt,name=productMessage" json:"productMessage,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:"-"` @@ -4242,7 +4490,7 @@ 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{44} + return fileDescriptor_76fb0470a3b910d8, []int{46} } func (m *Message) XXX_Unmarshal(b []byte) error { @@ -4417,6 +4665,20 @@ func (m *Message) GetStickerMessage() *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 @@ -4424,9 +4686,16 @@ func (m *Message) GetProductMessage() *ProductMessage { return nil } -func (m *Message) GetGroupInviteMessage() *GroupInviteMessage { +func (m *Message) GetDeviceSentMessage() *DeviceSentMessage { if m != nil { - return m.GroupInviteMessage + return m.DeviceSentMessage + } + return nil +} + +func (m *Message) GetDeviceSyncMessage() *DeviceSyncMessage { + if m != nil { + return m.DeviceSyncMessage } return nil } @@ -4445,7 +4714,7 @@ 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{45} + return fileDescriptor_76fb0470a3b910d8, []int{47} } func (m *MessageKey) XXX_Unmarshal(b []byte) error { @@ -4495,38 +4764,46 @@ func (m *MessageKey) GetParticipant() string { } 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"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + 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"` + 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{46} + return fileDescriptor_76fb0470a3b910d8, []int{48} } func (m *WebFeatures) XXX_Unmarshal(b []byte) error { @@ -4551,154 +4828,210 @@ func (m *WebFeatures) GetLabelsDisplay() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.LabelsDisplay != nil { return *m.LabelsDisplay } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetVoipIndividualOutgoing() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.VoipIndividualOutgoing != nil { return *m.VoipIndividualOutgoing } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetGroupsV3() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.GroupsV3 != nil { return *m.GroupsV3 } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetGroupsV3Create() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.GroupsV3Create != nil { return *m.GroupsV3Create } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetChangeNumberV2() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.ChangeNumberV2 != nil { return *m.ChangeNumberV2 } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetQueryStatusV3Thumbnail() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.QueryStatusV3Thumbnail != nil { return *m.QueryStatusV3Thumbnail } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetLiveLocations() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.LiveLocations != nil { return *m.LiveLocations } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetQueryVname() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.QueryVname != nil { return *m.QueryVname } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetVoipIndividualIncoming() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.VoipIndividualIncoming != nil { return *m.VoipIndividualIncoming } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetQuickRepliesQuery() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.QuickRepliesQuery != nil { return *m.QuickRepliesQuery } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetPayments() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.Payments != nil { return *m.Payments } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetStickerPackQuery() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.StickerPackQuery != nil { return *m.StickerPackQuery } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetLiveLocationsFinal() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.LiveLocationsFinal != nil { return *m.LiveLocationsFinal } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetLabelsEdit() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.LabelsEdit != nil { return *m.LabelsEdit } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetMediaUpload() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.MediaUpload != nil { return *m.MediaUpload } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetMediaUploadRichQuickReplies() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.MediaUploadRichQuickReplies != nil { return *m.MediaUploadRichQuickReplies } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetVnameV2() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.VnameV2 != nil { return *m.VnameV2 } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetVideoPlaybackUrl() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.VideoPlaybackUrl != nil { return *m.VideoPlaybackUrl } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetStatusRanking() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.StatusRanking != nil { return *m.StatusRanking } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetVoipIndividualVideo() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.VoipIndividualVideo != nil { return *m.VoipIndividualVideo } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetThirdPartyStickers() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.ThirdPartyStickers != nil { return *m.ThirdPartyStickers } - return WebFeatures_NOT_IMPLEMENTED + return WebFeatures_NOT_STARTED } func (m *WebFeatures) GetFrequentlyForwardedSetting() WebFeatures_WEB_FEATURES_FLAG { if m != nil && m.FrequentlyForwardedSetting != nil { return *m.FrequentlyForwardedSetting } - return WebFeatures_NOT_IMPLEMENTED + 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 } type TabletNotificationsInfo struct { @@ -4715,7 +5048,7 @@ 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{47} + return fileDescriptor_76fb0470a3b910d8, []int{49} } func (m *TabletNotificationsInfo) XXX_Unmarshal(b []byte) error { @@ -4778,7 +5111,7 @@ 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{48} + return fileDescriptor_76fb0470a3b910d8, []int{50} } func (m *NotificationMessageInfo) XXX_Unmarshal(b []byte) error { @@ -4841,7 +5174,7 @@ 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{49} + return fileDescriptor_76fb0470a3b910d8, []int{51} } func (m *WebNotificationsInfo) XXX_Unmarshal(b []byte) error { @@ -4908,7 +5241,7 @@ 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{50} + return fileDescriptor_76fb0470a3b910d8, []int{52} } func (m *PaymentInfo) XXX_Unmarshal(b []byte) error { @@ -4986,37 +5319,39 @@ func (m *PaymentInfo) GetCurrency() string { } 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"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + 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{51} + return fileDescriptor_76fb0470a3b910d8, []int{53} } func (m *WebMessageInfo) XXX_Unmarshal(b []byte) error { @@ -5184,6 +5519,20 @@ func (m *WebMessageInfo) GetQuotedPaymentInfo() *PaymentInfo { 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) @@ -5240,6 +5589,8 @@ func init() { 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") @@ -5253,361 +5604,395 @@ func init() { func init() { proto.RegisterFile("def.proto", fileDescriptor_76fb0470a3b910d8) } var fileDescriptor_76fb0470a3b910d8 = []byte{ - // 5683 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x3b, 0x4b, 0x6f, 0x23, 0x47, - 0x7a, 0xa2, 0x44, 0x49, 0xe4, 0x47, 0x3d, 0x5a, 0xa5, 0xd1, 0x88, 0xf3, 0xf0, 0x58, 0xee, 0xf1, - 0x7a, 0xb5, 0x13, 0x5b, 0x1e, 0xcb, 0x5e, 0x3f, 0x62, 0xef, 0xee, 0xb4, 0xc8, 0x92, 0xd4, 0x1e, - 0xb2, 0x9b, 0x2e, 0x36, 0xa5, 0x91, 0xb1, 0x08, 0xd1, 0xea, 0x2e, 0x49, 0x9d, 0xa1, 0xba, 0xe9, - 0xee, 0xe6, 0x78, 0xb4, 0x87, 0x04, 0xc8, 0x26, 0x48, 0xb0, 0xc8, 0x21, 0xa7, 0xbc, 0x80, 0x1c, - 0x02, 0x24, 0x7f, 0x21, 0x97, 0x0d, 0x90, 0x43, 0x10, 0x20, 0x40, 0x82, 0x0d, 0x90, 0x9c, 0x92, - 0x3f, 0x90, 0x6b, 0xce, 0xc9, 0x25, 0xa8, 0xea, 0x6a, 0xb2, 0x1f, 0xa4, 0x86, 0x33, 0xde, 0x47, - 0x90, 0x93, 0x58, 0xdf, 0xab, 0xab, 0xbe, 0x57, 0x7d, 0xf5, 0x55, 0x09, 0xca, 0x36, 0x3d, 0xdb, - 0xe9, 0xfb, 0x5e, 0xe8, 0xa1, 0x79, 0xfe, 0x47, 0x7e, 0x02, 0xd5, 0xc3, 0x2b, 0xdb, 0x37, 0x43, - 0x6a, 0x7f, 0x31, 0x70, 0xac, 0xa7, 0x84, 0xf6, 0x7b, 0x57, 0x7b, 0x83, 0x30, 0xf4, 0x5c, 0xb4, - 0x05, 0x15, 0xdb, 0x09, 0xfa, 0x3d, 0xf3, 0xca, 0xa0, 0xcf, 0xc3, 0x6a, 0x61, 0xab, 0xb0, 0x5d, - 0x26, 0x49, 0x10, 0xba, 0x0d, 0xa5, 0x53, 0x4e, 0xab, 0xda, 0xd5, 0x59, 0x8e, 0x1e, 0x8e, 0xe5, - 0x03, 0x58, 0x8b, 0x25, 0x77, 0x48, 0x63, 0x6a, 0x91, 0x12, 0xcc, 0x0d, 0xfc, 0x9e, 0x90, 0xc6, - 0x7e, 0xca, 0x4f, 0x00, 0xc5, 0x82, 0x6a, 0x66, 0xaf, 0x37, 0xb5, 0xa4, 0x2d, 0xa8, 0xf4, 0x2f, - 0x3c, 0x97, 0x6a, 0x83, 0xcb, 0x53, 0xea, 0x0b, 0x89, 0x49, 0x90, 0xfc, 0x5f, 0x05, 0xb8, 0x19, - 0x8b, 0x36, 0xe8, 0x65, 0xbf, 0x67, 0x86, 0x54, 0x88, 0x6f, 0x82, 0xf4, 0x55, 0x46, 0x1f, 0xfc, - 0x1b, 0x95, 0xdd, 0xd7, 0x23, 0x05, 0xee, 0x4c, 0x52, 0xdb, 0xe1, 0x0c, 0xc9, 0xb1, 0xa2, 0x8f, - 0xa1, 0x3c, 0xf0, 0xc5, 0xd4, 0xf9, 0x4c, 0x2a, 0xbb, 0xd5, 0x8c, 0x9c, 0xa1, 0x92, 0x0e, 0x67, - 0xc8, 0x88, 0x18, 0x7d, 0x0a, 0x60, 0x0d, 0x57, 0x5d, 0x9d, 0xe3, 0xac, 0xb7, 0x32, 0xac, 0x23, - 0xb5, 0x1c, 0xce, 0x90, 0x04, 0xf9, 0x9e, 0x04, 0x2b, 0x17, 0x82, 0x26, 0x82, 0xc8, 0x7d, 0x90, - 0x72, 0x76, 0x7e, 0x94, 0x57, 0x65, 0x65, 0xf7, 0x5e, 0xfc, 0x0d, 0xe7, 0xfc, 0xa2, 0x77, 0xd5, - 0x0e, 0xfd, 0x81, 0x15, 0x0e, 0x7c, 0x6a, 0x37, 0x69, 0x10, 0x98, 0xe7, 0x74, 0x7a, 0x3f, 0xf8, - 0x6d, 0x28, 0x8f, 0xec, 0xff, 0xcd, 0x3f, 0xf5, 0x70, 0xe4, 0x1f, 0x2f, 0xe6, 0xe4, 0xfe, 0xf3, - 0x47, 0x05, 0x80, 0x84, 0xe3, 0x7c, 0xf3, 0x29, 0x3c, 0xca, 0x3b, 0xd6, 0x14, 0x12, 0x92, 0x8e, - 0xf7, 0x8f, 0x05, 0x58, 0xc9, 0x38, 0x1c, 0x9e, 0xe8, 0x70, 0x9b, 0x42, 0xf2, 0x54, 0x8e, 0xf6, - 0x30, 0xef, 0x68, 0x92, 0xe0, 0x9f, 0xe0, 0x60, 0xef, 0x8f, 0x71, 0xb0, 0x35, 0xc1, 0x32, 0xd1, - 0xb1, 0x4a, 0xb0, 0x10, 0x19, 0x58, 0x0e, 0xa1, 0xd4, 0xf0, 0x2c, 0x33, 0x74, 0x3c, 0x17, 0x6d, - 0xc3, 0xaa, 0x4d, 0xcf, 0x7d, 0x4a, 0x83, 0x86, 0x19, 0x3a, 0xe1, 0xc0, 0xa6, 0x7c, 0x09, 0x05, - 0x92, 0x05, 0xa3, 0x07, 0x20, 0xc5, 0x20, 0xcf, 0x3d, 0x8f, 0x48, 0x67, 0x39, 0x69, 0x0e, 0x8e, - 0x10, 0x14, 0x5d, 0xf3, 0x92, 0xf2, 0xa9, 0x95, 0x09, 0xff, 0x2d, 0xdf, 0x87, 0xf9, 0x96, 0xe7, - 0xb8, 0x21, 0x5a, 0x82, 0xc2, 0x73, 0x8e, 0x29, 0x90, 0xc2, 0x73, 0x36, 0xba, 0xaa, 0x16, 0xa3, - 0xd1, 0x95, 0xfc, 0x07, 0x05, 0xd8, 0x50, 0xdd, 0x90, 0xfa, 0xa6, 0x15, 0x3a, 0xcf, 0xa8, 0xe2, - 0xba, 0x5e, 0x18, 0x4d, 0xf4, 0x43, 0x58, 0xed, 0x7b, 0xbd, 0xab, 0x73, 0xcf, 0x3d, 0xa2, 0x7e, - 0xe8, 0x58, 0x34, 0xa8, 0x16, 0xb6, 0xe6, 0xb6, 0x2b, 0xbb, 0x4b, 0x62, 0xe1, 0x5c, 0x38, 0xc9, - 0x12, 0xa1, 0x77, 0xa0, 0xd4, 0x13, 0x8b, 0x15, 0xca, 0x5d, 0x15, 0x0c, 0xb1, 0x0e, 0x0e, 0x67, - 0xc8, 0x90, 0x84, 0x69, 0x89, 0x7d, 0xda, 0x73, 0xe5, 0xff, 0x2e, 0x40, 0x45, 0xb1, 0xb9, 0xa1, - 0x54, 0xf7, 0xcc, 0x43, 0x6f, 0xc1, 0x8a, 0x69, 0x3f, 0x63, 0x62, 0x03, 0xea, 0x6b, 0x6c, 0x75, - 0x51, 0x02, 0xcb, 0x40, 0xd1, 0x21, 0x94, 0x2f, 0xa9, 0xed, 0x98, 0xc6, 0x55, 0x3f, 0x52, 0xd0, - 0xca, 0xee, 0x03, 0xf1, 0xc5, 0x84, 0xb8, 0x1d, 0xa5, 0xde, 0x25, 0xb8, 0xd5, 0x38, 0xe9, 0xaa, - 0xda, 0xbe, 0xde, 0x6d, 0xe2, 0xba, 0xaa, 0x18, 0x27, 0x2d, 0x4c, 0x46, 0xcc, 0xe8, 0x4d, 0x58, - 0xfe, 0xcd, 0x3e, 0x3d, 0x37, 0x2e, 0x06, 0x97, 0xa7, 0xae, 0xe9, 0xf4, 0xaa, 0xd2, 0x56, 0x61, - 0x7b, 0x89, 0xa4, 0x81, 0xa8, 0x0a, 0x8b, 0x96, 0xd9, 0xe7, 0xeb, 0x5b, 0xe3, 0x13, 0x8a, 0x87, - 0xf2, 0x27, 0xb0, 0x39, 0xe1, 0x2b, 0xa8, 0x04, 0x45, 0x4d, 0xd7, 0xb0, 0x34, 0x83, 0xca, 0x30, - 0xaf, 0x36, 0x95, 0x03, 0x2c, 0x15, 0xd8, 0xcf, 0x23, 0xb5, 0x8e, 0x75, 0x69, 0x56, 0xfe, 0xa7, - 0x39, 0xa8, 0xd4, 0x3c, 0x37, 0xa4, 0xcf, 0x43, 0xbe, 0xf8, 0xdb, 0x50, 0x0a, 0x42, 0xd3, 0xfd, - 0x91, 0xa9, 0xda, 0x62, 0xd9, 0xc3, 0x31, 0x4f, 0xda, 0x26, 0xd3, 0xb6, 0xd3, 0x37, 0xdd, 0x70, - 0x98, 0xb4, 0x47, 0x20, 0xf4, 0x01, 0x2c, 0x7f, 0x35, 0xf0, 0xc2, 0x61, 0x64, 0x09, 0x97, 0x5d, - 0x11, 0x6a, 0x89, 0xe3, 0x2d, 0x4d, 0x84, 0xee, 0x42, 0xd9, 0xa7, 0x97, 0x5e, 0x48, 0x3f, 0x77, - 0x6c, 0xee, 0x21, 0x65, 0x32, 0x02, 0x20, 0x19, 0x96, 0x2e, 0xa9, 0xcb, 0xd6, 0x49, 0x6d, 0x46, - 0xb0, 0xba, 0x35, 0xb7, 0x5d, 0x26, 0x29, 0x18, 0x73, 0x59, 0xcb, 0x73, 0x9f, 0x51, 0x3f, 0x70, - 0x3c, 0xb7, 0xed, 0x0d, 0x7c, 0x8b, 0x56, 0x11, 0x17, 0x94, 0x83, 0x33, 0xf3, 0x8e, 0x60, 0x75, - 0x33, 0x34, 0xab, 0xeb, 0x5c, 0xdb, 0x19, 0x28, 0xfa, 0x10, 0x6e, 0x26, 0x20, 0xb4, 0x67, 0x5e, - 0xb5, 0xa9, 0xe5, 0xb9, 0x76, 0x50, 0xbd, 0xb1, 0x55, 0xd8, 0x5e, 0x26, 0x13, 0xb0, 0x2c, 0xd0, - 0xce, 0x3c, 0xff, 0x6b, 0xd3, 0xb7, 0x1d, 0xf7, 0xbc, 0x6d, 0x79, 0x3e, 0xad, 0x6e, 0x70, 0x86, - 0x2c, 0x98, 0xe9, 0xd3, 0x09, 0xf6, 0x23, 0x20, 0xb5, 0xab, 0x37, 0xb7, 0x0a, 0xdb, 0x25, 0x92, - 0x04, 0xa1, 0x1d, 0x28, 0x45, 0xaa, 0x52, 0xec, 0xea, 0x26, 0x57, 0x25, 0xca, 0x7b, 0x18, 0x19, - 0xd2, 0xc8, 0x3f, 0x29, 0xc0, 0xdd, 0x36, 0x75, 0x6d, 0xea, 0x3f, 0xa6, 0x57, 0x75, 0x27, 0x08, - 0x7d, 0xe7, 0x74, 0xc0, 0xd4, 0x14, 0xab, 0xba, 0x0a, 0x8b, 0xe7, 0xbe, 0x37, 0xe8, 0x0f, 0xad, - 0x1b, 0x0f, 0x51, 0x0b, 0xee, 0x9b, 0xcf, 0xbd, 0x9e, 0x17, 0xf6, 0xae, 0x13, 0xc0, 0x8d, 0xbe, - 0x44, 0xa6, 0x21, 0x95, 0x7f, 0x32, 0x0f, 0x4b, 0xea, 0xa5, 0x79, 0x4e, 0xe3, 0x8f, 0x8b, 0xf2, - 0xa1, 0x30, 0x2c, 0x1f, 0x98, 0xb7, 0x5d, 0x3a, 0x97, 0x34, 0x8c, 0x23, 0xa8, 0x4c, 0x86, 0xe3, - 0xa4, 0xbb, 0xcf, 0xa5, 0xdc, 0x1d, 0xdd, 0x03, 0x38, 0x73, 0x7a, 0xb4, 0x7d, 0x61, 0xee, 0x7e, - 0xf7, 0x43, 0xee, 0x30, 0x4b, 0x24, 0x01, 0x89, 0xf1, 0x0d, 0xea, 0x9e, 0x87, 0x17, 0xd5, 0xf9, - 0xad, 0xc2, 0x76, 0x91, 0x24, 0x20, 0xe8, 0x26, 0x2c, 0x5c, 0x50, 0xe7, 0xfc, 0x22, 0xac, 0x2e, - 0x70, 0xc3, 0x88, 0x11, 0xba, 0x01, 0xf3, 0x5f, 0x3b, 0x76, 0x78, 0x51, 0x5d, 0xe4, 0xe0, 0x68, - 0xc0, 0xe7, 0xc8, 0x22, 0xf5, 0x31, 0xbd, 0xaa, 0x96, 0xf8, 0xb7, 0x86, 0x63, 0x16, 0xb8, 0x4c, - 0x2e, 0x76, 0x2d, 0x31, 0x99, 0x72, 0x14, 0xb8, 0x29, 0x20, 0x32, 0xe0, 0xa6, 0x33, 0x2e, 0xd5, - 0x05, 0x55, 0xe0, 0x89, 0xed, 0xae, 0xb0, 0xe9, 0xd8, 0x7c, 0x48, 0x26, 0xf0, 0xb2, 0x55, 0xda, - 0x8e, 0x4f, 0xad, 0xb0, 0x65, 0x86, 0x17, 0xd5, 0x0a, 0x57, 0x51, 0x02, 0x82, 0xde, 0x86, 0xb5, - 0x78, 0x9e, 0x86, 0x73, 0x49, 0x83, 0xd0, 0xbc, 0xec, 0x57, 0x97, 0xb6, 0x0a, 0xdb, 0x73, 0x24, - 0x8f, 0x98, 0x32, 0x05, 0x7d, 0x00, 0x15, 0x6b, 0x94, 0x2c, 0x78, 0x1a, 0x1a, 0xb9, 0x64, 0x22, - 0x8d, 0x90, 0x24, 0x19, 0x8b, 0xce, 0x33, 0xc7, 0x0f, 0xc2, 0xb6, 0x65, 0xba, 0x6d, 0xc7, 0xa6, - 0x96, 0xe9, 0xf3, 0xe8, 0x5c, 0x22, 0x39, 0x38, 0x8f, 0x9e, 0x18, 0x26, 0x0c, 0xb8, 0x2e, 0xa2, - 0x27, 0x0d, 0x66, 0xeb, 0xa3, 0xcf, 0xfb, 0xd4, 0x77, 0x58, 0x26, 0x38, 0x10, 0x4e, 0x1d, 0x85, - 0x66, 0x1e, 0x21, 0xff, 0x16, 0xac, 0xb0, 0xf9, 0x99, 0x56, 0x18, 0x7b, 0xe3, 0xa8, 0x48, 0x4d, - 0xe4, 0xf8, 0x24, 0x88, 0xf9, 0xc3, 0x33, 0xcb, 0xf4, 0x6d, 0xae, 0x8b, 0x32, 0x89, 0x06, 0xaf, - 0xa6, 0x03, 0xf9, 0xc7, 0xb3, 0xb0, 0x1a, 0xef, 0x43, 0xf1, 0x0c, 0x7e, 0x69, 0x5b, 0x32, 0x8b, - 0x25, 0xd3, 0xb6, 0x7d, 0x1a, 0x04, 0x22, 0xbf, 0xc6, 0xc3, 0x38, 0x26, 0xe7, 0x47, 0x31, 0xf9, - 0x0b, 0xf4, 0x04, 0xf9, 0xef, 0xe6, 0x61, 0x1d, 0x3f, 0x0f, 0x59, 0xd6, 0xb0, 0x59, 0xb9, 0x16, - 0x6b, 0x02, 0x41, 0x31, 0x1c, 0x9d, 0x14, 0xf8, 0x6f, 0x66, 0x9f, 0x4b, 0x33, 0xb4, 0x2e, 0x22, - 0xca, 0x78, 0xb7, 0x49, 0x80, 0xd8, 0xce, 0x60, 0x99, 0xae, 0xe7, 0x3a, 0x96, 0xd9, 0xeb, 0xf8, - 0x3d, 0xb1, 0xb4, 0x14, 0x8c, 0x5b, 0x99, 0x06, 0x96, 0xef, 0x44, 0x99, 0x64, 0x5e, 0x58, 0x79, - 0x04, 0x62, 0x56, 0x0e, 0x9d, 0xb0, 0x47, 0x79, 0x32, 0x28, 0x93, 0x68, 0xc0, 0xa2, 0x9e, 0xcd, - 0x42, 0xf1, 0xcf, 0x4f, 0x79, 0x3a, 0x58, 0x24, 0xc3, 0x31, 0xdb, 0x41, 0x4e, 0x4d, 0xeb, 0x29, - 0xcb, 0x9c, 0xae, 0xcd, 0x29, 0x4a, 0x9c, 0x22, 0x03, 0x45, 0x4d, 0x28, 0x9e, 0x79, 0x6e, 0xc8, - 0x93, 0xc2, 0xca, 0xee, 0x27, 0x42, 0x39, 0x63, 0xd6, 0xbf, 0x83, 0x9f, 0x18, 0x58, 0xab, 0xe3, - 0x7a, 0xd7, 0xc0, 0x4f, 0x8c, 0x6e, 0x13, 0xb7, 0xdb, 0xca, 0x01, 0xee, 0xee, 0xeb, 0x9a, 0xc1, - 0x4b, 0x05, 0x2e, 0x06, 0xfd, 0x06, 0x54, 0xfa, 0x3e, 0x7d, 0xe6, 0xd0, 0xaf, 0x79, 0xc5, 0x01, - 0x5c, 0xea, 0x67, 0x2f, 0x2d, 0xb5, 0x45, 0xf0, 0x91, 0x8a, 0x8f, 0xb9, 0xe0, 0xa4, 0xc0, 0x5f, - 0xa8, 0xe1, 0xff, 0xb0, 0x00, 0xf7, 0xae, 0x5f, 0x24, 0x5a, 0x01, 0x68, 0x2b, 0x5a, 0xbb, 0xdb, - 0xc6, 0x44, 0xdd, 0x8f, 0xea, 0x95, 0xe8, 0x67, 0x01, 0xad, 0xc3, 0xaa, 0xa6, 0x13, 0xb5, 0xa6, - 0x68, 0x5d, 0x82, 0x0f, 0x3a, 0x0d, 0x85, 0x48, 0xb3, 0x68, 0x0d, 0x96, 0xf7, 0xc8, 0x89, 0x56, - 0x57, 0xb4, 0xee, 0x31, 0x51, 0x0d, 0x2c, 0xcd, 0xa1, 0x0d, 0x58, 0xdb, 0xc3, 0x7b, 0x4a, 0x5b, - 0xc3, 0x1d, 0x3c, 0xa4, 0x2c, 0x22, 0x09, 0x96, 0xf4, 0xf6, 0xb1, 0xd2, 0xa8, 0x77, 0x0f, 0xb1, - 0x72, 0x74, 0x22, 0xcd, 0xcb, 0x1f, 0xc3, 0x1b, 0x2f, 0x54, 0x4e, 0xba, 0x74, 0x8a, 0xea, 0xa5, - 0x82, 0xfc, 0xd3, 0x39, 0x58, 0xad, 0x7b, 0xd6, 0x80, 0xe5, 0x96, 0x57, 0xdb, 0xd7, 0x86, 0xfe, - 0x36, 0x97, 0xf4, 0xb7, 0x6f, 0xba, 0xa7, 0xdd, 0x85, 0x72, 0xdf, 0x3c, 0xa7, 0x35, 0x6f, 0xe0, - 0xc6, 0xdb, 0xda, 0x08, 0x90, 0xda, 0xc3, 0x16, 0x33, 0x7b, 0xd8, 0x6d, 0x28, 0x31, 0x39, 0x3c, - 0x09, 0x96, 0xa2, 0xb9, 0xc6, 0xe3, 0x29, 0xf7, 0xb7, 0xf4, 0x4e, 0x04, 0xd3, 0xed, 0x44, 0x95, - 0x5f, 0xc1, 0x4e, 0x24, 0xff, 0xf9, 0x1c, 0x2c, 0x29, 0x03, 0xdb, 0xf1, 0x5e, 0xcd, 0x74, 0x69, - 0x23, 0xcd, 0xbd, 0xc0, 0x48, 0xc5, 0x9c, 0x91, 0xaa, 0xb0, 0x18, 0x88, 0x1a, 0x72, 0x9e, 0x9b, - 0x28, 0x1e, 0xb2, 0x79, 0xf4, 0xc3, 0xc8, 0x70, 0x25, 0xc2, 0x7e, 0x5e, 0x6b, 0xb2, 0x9c, 0x59, - 0x4a, 0x2f, 0x36, 0x4b, 0x79, 0x3a, 0xb3, 0xc0, 0x24, 0xb3, 0xbc, 0xf2, 0xd6, 0x1f, 0x84, 0x3e, - 0x35, 0x2f, 0x59, 0xd1, 0x9b, 0xde, 0xfa, 0xb3, 0x70, 0xf9, 0x77, 0x16, 0x60, 0xe9, 0xc8, 0xb1, - 0xe9, 0xff, 0x39, 0xe3, 0x24, 0x4d, 0xb1, 0x90, 0x31, 0x45, 0xa2, 0x4a, 0x5d, 0x4c, 0x57, 0xa9, - 0x5b, 0x50, 0x39, 0x77, 0xce, 0x5a, 0x3d, 0xf3, 0x8a, 0x6d, 0x0b, 0xdc, 0x44, 0x25, 0x92, 0x04, - 0x25, 0xea, 0xd0, 0xf2, 0xf8, 0x3a, 0x14, 0x92, 0x75, 0x68, 0xce, 0xe8, 0x95, 0x97, 0xab, 0x35, - 0x97, 0x7e, 0x6e, 0xb5, 0xe6, 0xf2, 0x74, 0xae, 0xb4, 0xf2, 0x2b, 0xaa, 0x35, 0xa7, 0x75, 0x38, - 0xd4, 0x81, 0x95, 0x73, 0xe7, 0x4c, 0x09, 0x87, 0x27, 0x17, 0x5e, 0x6a, 0xae, 0xec, 0xbe, 0x23, - 0x3e, 0x92, 0x74, 0xc6, 0x1d, 0xbe, 0x01, 0x0c, 0xf7, 0x09, 0xc5, 0x30, 0x88, 0xba, 0xd7, 0x31, - 0x54, 0x5d, 0x23, 0x19, 0x21, 0xf2, 0xa7, 0x70, 0x6b, 0x22, 0x71, 0x7a, 0x53, 0x39, 0x50, 0x5b, - 0x87, 0x27, 0xd1, 0x79, 0xdc, 0xc0, 0x9a, 0x4e, 0xa4, 0x59, 0x79, 0x0b, 0x8a, 0x35, 0xb3, 0x27, - 0x0e, 0xfb, 0xbd, 0x1e, 0x73, 0xb9, 0x02, 0x9f, 0x7e, 0x3c, 0x94, 0x3f, 0x86, 0x62, 0xed, 0xc2, - 0x0c, 0xa7, 0xa8, 0x5f, 0x57, 0x60, 0xd6, 0x89, 0x7b, 0x7e, 0xb3, 0x8e, 0x2d, 0xff, 0x45, 0x01, - 0x56, 0x5b, 0x6c, 0x65, 0x96, 0xd7, 0x8b, 0x63, 0xec, 0x3e, 0xcc, 0x3d, 0x15, 0xdf, 0x18, 0xb5, - 0x96, 0x04, 0xf2, 0x31, 0xbd, 0x22, 0x0c, 0x8b, 0x1e, 0x41, 0x31, 0x1c, 0x35, 0x39, 0xde, 0x8e, - 0xfb, 0x30, 0x69, 0x51, 0x3b, 0x2d, 0xa2, 0x1b, 0x7a, 0x4d, 0x6f, 0x0c, 0xd7, 0x1d, 0xd5, 0x2e, - 0x8c, 0x53, 0xbe, 0x0f, 0x1b, 0x63, 0xd1, 0x08, 0x60, 0x81, 0xe0, 0x23, 0xfd, 0x31, 0x96, 0x66, - 0xe4, 0xbf, 0x2c, 0xc0, 0x0d, 0x51, 0xa4, 0x07, 0x8a, 0xef, 0x9b, 0x57, 0xd3, 0x97, 0xea, 0xef, - 0x41, 0xc9, 0x12, 0x9c, 0xd5, 0x59, 0xee, 0xe8, 0x1b, 0x09, 0x4f, 0x19, 0x55, 0xfd, 0x64, 0x48, - 0xf6, 0x8a, 0x3b, 0xc8, 0x17, 0x50, 0x39, 0x6c, 0x37, 0x6b, 0x03, 0xdf, 0xa7, 0xae, 0x75, 0xc5, - 0x4b, 0x50, 0xf1, 0xbb, 0xe6, 0xd9, 0xf1, 0xd4, 0x52, 0x30, 0x16, 0x3c, 0xe6, 0x25, 0xdb, 0x86, - 0xdf, 0x7b, 0xf8, 0xf0, 0x21, 0xd7, 0xe1, 0x1c, 0x49, 0x40, 0xe4, 0x3f, 0x2b, 0xc2, 0x8d, 0xc3, - 0x76, 0xb3, 0x6e, 0x86, 0x94, 0xc5, 0x48, 0xcd, 0xbb, 0xec, 0x7b, 0x2e, 0x75, 0x43, 0xd4, 0x85, - 0xb2, 0x6d, 0x5e, 0xe9, 0x67, 0xc7, 0x94, 0x3e, 0xe5, 0x92, 0x57, 0x76, 0x95, 0xb8, 0x93, 0x39, - 0x86, 0x9e, 0x01, 0xbb, 0x75, 0xc5, 0xc0, 0x5d, 0x43, 0x6d, 0xe2, 0x6e, 0x4d, 0x6f, 0xb6, 0x74, - 0x0d, 0x6b, 0x46, 0xb7, 0xae, 0x9c, 0xe8, 0xfb, 0xc7, 0x18, 0x3f, 0x8e, 0xfa, 0x4e, 0x43, 0x99, - 0xac, 0xec, 0xbe, 0xa2, 0x66, 0xd4, 0x25, 0x5d, 0x26, 0xfc, 0x37, 0x4b, 0x3e, 0x97, 0x9e, 0x1b, - 0x5e, 0xf0, 0x0c, 0xba, 0x4c, 0xa2, 0x01, 0x4f, 0x00, 0x8c, 0xad, 0xc9, 0x51, 0x45, 0x8e, 0x4a, - 0x40, 0x98, 0xa4, 0x0b, 0x6f, 0xe0, 0x8b, 0xcc, 0xc9, 0x7f, 0xb3, 0xf4, 0x76, 0xe9, 0xb8, 0x83, - 0x90, 0xc6, 0xc7, 0xec, 0x68, 0x84, 0x7e, 0x08, 0x25, 0xcb, 0xec, 0x51, 0xd7, 0x36, 0x7d, 0x9e, - 0x33, 0x57, 0x76, 0x1f, 0xbd, 0xca, 0xaa, 0x6a, 0x4a, 0x03, 0x6b, 0x75, 0x85, 0xf0, 0x45, 0x0d, - 0x25, 0xca, 0x3f, 0x2e, 0xc0, 0xb7, 0xa6, 0x52, 0x04, 0x73, 0xbd, 0xa6, 0xae, 0xd5, 0x15, 0x16, - 0x81, 0x15, 0x58, 0x34, 0x3a, 0xb8, 0xcd, 0x06, 0xb3, 0x68, 0x19, 0xca, 0xc7, 0xb8, 0xae, 0x45, - 0xc3, 0x39, 0xb4, 0x04, 0x25, 0xe3, 0xb0, 0x43, 0xf8, 0xa8, 0xc8, 0xb8, 0xf6, 0x89, 0xca, 0x7e, - 0xcf, 0x33, 0x4c, 0x5b, 0x31, 0x3a, 0x84, 0x8d, 0x16, 0x18, 0xa6, 0xdd, 0xe1, 0xf2, 0x16, 0xe5, - 0x7d, 0x78, 0x73, 0x9a, 0x79, 0xb3, 0x4f, 0x1d, 0x10, 0x7c, 0xa0, 0x13, 0x55, 0xd1, 0xa4, 0x02, - 0x5a, 0x85, 0x4a, 0x5b, 0x6f, 0x28, 0xa4, 0x7b, 0xa8, 0x7e, 0x4e, 0x54, 0x69, 0x56, 0xfe, 0x20, - 0xe5, 0x1a, 0x1d, 0xd7, 0x79, 0x8e, 0xfb, 0x9e, 0xc5, 0xcb, 0xbd, 0x70, 0x98, 0x68, 0x0b, 0xdc, - 0xa5, 0x46, 0x00, 0xf9, 0x4f, 0x0b, 0xdc, 0x4b, 0x63, 0x36, 0xf4, 0x29, 0x94, 0xad, 0x58, 0x9f, - 0x22, 0xd4, 0xef, 0x5c, 0xa3, 0xf2, 0xc3, 0x19, 0x32, 0xa2, 0x67, 0xcc, 0x83, 0xf8, 0xbb, 0xa2, - 0xb1, 0x3a, 0x86, 0x79, 0x38, 0x35, 0xde, 0xc0, 0x8e, 0x07, 0x7b, 0xab, 0xb0, 0x6c, 0x9b, 0x21, - 0x65, 0x53, 0xd3, 0x5d, 0xea, 0x9d, 0xc9, 0x7f, 0x5d, 0x80, 0xcd, 0xc3, 0x76, 0x93, 0x1d, 0x85, - 0x7b, 0xce, 0x8f, 0xcc, 0xd3, 0x1e, 0x6d, 0x99, 0xbe, 0x79, 0x49, 0x43, 0xea, 0xb3, 0x9c, 0x67, - 0xd3, 0x33, 0x73, 0xd0, 0x8b, 0x0f, 0x82, 0xf1, 0x10, 0x3d, 0x84, 0x52, 0x1c, 0x52, 0x62, 0x0a, - 0x68, 0x34, 0x85, 0x38, 0x18, 0x0f, 0x67, 0xc8, 0x90, 0x8a, 0x71, 0xd8, 0x62, 0x6a, 0xa2, 0x09, - 0x89, 0xf2, 0x93, 0x66, 0x1c, 0x31, 0xd5, 0xde, 0x12, 0x40, 0x9f, 0x4d, 0x25, 0x9a, 0xe7, 0xbf, - 0xcd, 0xc2, 0xe6, 0x84, 0xeb, 0x02, 0xa6, 0x7c, 0x76, 0xaa, 0x0e, 0xfa, 0xa6, 0x15, 0x47, 0xfc, - 0x08, 0xc0, 0x92, 0x15, 0xed, 0x51, 0x76, 0x3e, 0xe0, 0xc9, 0x4a, 0x9c, 0x5b, 0x13, 0x20, 0x16, - 0x18, 0xfc, 0x4b, 0x41, 0x75, 0x8e, 0xf7, 0x32, 0xc5, 0x88, 0x57, 0x28, 0x66, 0xaf, 0xc7, 0x6a, - 0x83, 0xc6, 0xb9, 0x38, 0xcd, 0x26, 0x20, 0x29, 0xbc, 0x25, 0x8e, 0xb2, 0x09, 0x08, 0x6a, 0xc0, - 0x5a, 0x2f, 0xa3, 0xd7, 0xa0, 0xba, 0xc0, 0xb3, 0xe1, 0xbd, 0xd1, 0xe2, 0xc7, 0xa9, 0x9e, 0xe4, - 0x19, 0xa3, 0xee, 0x44, 0x48, 0xfd, 0x4b, 0xc7, 0x75, 0x82, 0xd0, 0xb1, 0x1a, 0xe7, 0xa2, 0xc2, - 0xc9, 0x82, 0xf3, 0x94, 0x96, 0x38, 0x48, 0x64, 0xc1, 0xf2, 0xef, 0x17, 0x00, 0xb5, 0xa9, 0x6b, - 0xb7, 0xcc, 0xab, 0xe4, 0x01, 0xea, 0x21, 0x54, 0x5c, 0x2f, 0xa4, 0xc9, 0x1e, 0x63, 0xbe, 0x69, - 0x9c, 0x24, 0x41, 0x3f, 0x80, 0x35, 0x9f, 0x7e, 0x35, 0xa0, 0x41, 0x38, 0xda, 0xab, 0x32, 0xf7, - 0x23, 0x89, 0x4d, 0x2c, 0x4f, 0x2b, 0xff, 0x67, 0x01, 0x36, 0x48, 0x04, 0xbd, 0x7e, 0x32, 0xc5, - 0x17, 0x4f, 0xe6, 0x21, 0xac, 0x27, 0x13, 0xbe, 0x1a, 0x78, 0x1f, 0xec, 0xbe, 0xf7, 0x91, 0xf0, - 0x8c, 0x71, 0xa8, 0x31, 0x5b, 0x42, 0x31, 0xb9, 0x25, 0x30, 0x1f, 0x12, 0x53, 0xde, 0xf7, 0xbd, - 0x4b, 0x71, 0x52, 0x4c, 0x82, 0x98, 0xce, 0xe9, 0xf3, 0xbe, 0xe3, 0x27, 0xea, 0xad, 0x79, 0x9e, - 0x06, 0xb2, 0x60, 0xb9, 0x06, 0x77, 0xeb, 0xd4, 0xea, 0x39, 0x2e, 0x15, 0x0b, 0x25, 0x29, 0x65, - 0x4c, 0x55, 0x01, 0xc8, 0x7b, 0x70, 0xa7, 0x66, 0xba, 0x16, 0xed, 0x7d, 0x03, 0x19, 0x7f, 0x3f, - 0x07, 0xeb, 0x0d, 0xe7, 0x19, 0xfd, 0xe5, 0xb4, 0xc1, 0x1e, 0x80, 0x64, 0x5a, 0xd6, 0xc0, 0x37, - 0xad, 0x2b, 0xd5, 0x6d, 0x32, 0x3f, 0x0c, 0xc4, 0x96, 0x96, 0x83, 0x33, 0x73, 0x04, 0x7d, 0x4a, - 0x6d, 0xd5, 0x6d, 0xf6, 0xa3, 0x0e, 0xd9, 0x2c, 0x49, 0x40, 0x50, 0x03, 0xde, 0x10, 0xf2, 0x6b, - 0x3d, 0xcf, 0x7a, 0xfa, 0xb5, 0x13, 0x50, 0x66, 0x84, 0xa6, 0x79, 0xee, 0xd2, 0xd0, 0xb1, 0x34, - 0xcf, 0x17, 0x67, 0xf2, 0x65, 0xf2, 0x62, 0xc2, 0xe4, 0x91, 0x61, 0x21, 0x7d, 0x64, 0x78, 0x0b, - 0x56, 0x02, 0xa6, 0x58, 0xd7, 0x8a, 0xef, 0x2f, 0x17, 0xb9, 0x4d, 0x33, 0x50, 0x36, 0x5f, 0x9e, - 0x51, 0xcf, 0xce, 0x02, 0x1a, 0xf2, 0x58, 0x5b, 0x26, 0x09, 0xc8, 0x2f, 0xf4, 0x08, 0xfd, 0xc7, - 0x73, 0xb0, 0xd2, 0x0e, 0x1d, 0xeb, 0x29, 0xf5, 0x27, 0x9f, 0xd3, 0xd2, 0x67, 0xb1, 0xd9, 0xdc, - 0x59, 0x2c, 0x77, 0x96, 0x99, 0x1b, 0x77, 0x96, 0x49, 0x9e, 0xbb, 0x8a, 0xf9, 0xae, 0xc5, 0xf0, - 0x24, 0x38, 0x9f, 0x39, 0x09, 0xbe, 0x5c, 0x7f, 0x3f, 0x7d, 0xb6, 0x29, 0xe5, 0xce, 0x36, 0xe9, - 0x73, 0x63, 0x39, 0x77, 0x6e, 0x7c, 0xb9, 0x63, 0xb4, 0x0c, 0x4b, 0x7d, 0x37, 0x67, 0x99, 0x14, - 0xec, 0x15, 0x0d, 0xf3, 0x27, 0x45, 0x58, 0xdd, 0xf7, 0x06, 0x3e, 0xf1, 0xbe, 0x8e, 0xaf, 0xaf, - 0xd1, 0xc7, 0xb0, 0xc8, 0x49, 0x44, 0x4f, 0xe8, 0xc5, 0x37, 0xe1, 0x31, 0x39, 0xfa, 0x10, 0x16, - 0xce, 0x3c, 0x2f, 0x14, 0x2e, 0xf8, 0x62, 0x46, 0x41, 0x8d, 0xde, 0x85, 0xc5, 0xe8, 0xf2, 0x39, - 0xa8, 0x96, 0x52, 0x75, 0x78, 0xfa, 0x4a, 0x9d, 0xc4, 0x54, 0x68, 0x0f, 0x56, 0xed, 0x74, 0x3f, - 0x4d, 0xa4, 0x91, 0x9b, 0x82, 0x31, 0xd3, 0x6d, 0x3b, 0x9c, 0x21, 0x59, 0x06, 0xf4, 0x25, 0x6c, - 0x5e, 0x8c, 0x9f, 0xd7, 0x74, 0x0f, 0x00, 0x0e, 0x67, 0xc8, 0x24, 0x01, 0xe8, 0x13, 0x58, 0x72, - 0x12, 0x97, 0x58, 0x62, 0x93, 0x59, 0x8f, 0x8f, 0xd1, 0x09, 0xd4, 0xe1, 0x0c, 0x49, 0x91, 0x32, - 0xd6, 0x67, 0x89, 0x23, 0xa4, 0xd8, 0x4a, 0xd6, 0xc7, 0x9c, 0x2e, 0x19, 0x6b, 0x92, 0x94, 0x69, - 0xa5, 0x97, 0x4e, 0x93, 0xdc, 0xcb, 0x47, 0x5a, 0xc9, 0x24, 0x51, 0xa6, 0x95, 0x0c, 0xc3, 0xde, - 0xa2, 0x68, 0x34, 0xca, 0xff, 0x33, 0x07, 0x9b, 0xf1, 0x73, 0x94, 0xac, 0x87, 0x3c, 0x84, 0xf5, - 0xf8, 0x15, 0x4a, 0x2d, 0x32, 0x3d, 0xef, 0xb6, 0x47, 0x89, 0x69, 0x1c, 0x0a, 0xed, 0x00, 0xba, - 0x18, 0x0a, 0x63, 0x36, 0xe7, 0x0c, 0x51, 0x69, 0x30, 0x06, 0x83, 0x0e, 0x60, 0x35, 0xfd, 0xce, - 0x25, 0xa8, 0x96, 0xb9, 0x67, 0xbc, 0x96, 0x79, 0x29, 0x93, 0xf1, 0x90, 0x2c, 0xd7, 0xcf, 0xc5, - 0x53, 0x76, 0x60, 0x2d, 0x16, 0x6b, 0x30, 0xdd, 0x8c, 0xae, 0x16, 0x0e, 0x67, 0x48, 0x1e, 0xf5, - 0xff, 0xc1, 0xfa, 0x3f, 0x2d, 0xc0, 0x6a, 0xac, 0xda, 0xc4, 0x07, 0xce, 0xd2, 0x8e, 0x90, 0x51, - 0x65, 0xc6, 0x4d, 0xd8, 0x07, 0x32, 0x0c, 0x3c, 0xe8, 0xc6, 0x3b, 0x55, 0x36, 0xe8, 0xc6, 0x53, - 0xf1, 0xa0, 0x1b, 0x8f, 0xda, 0x2b, 0xb1, 0xec, 0xe3, 0x5f, 0x9a, 0xa1, 0xfc, 0xb7, 0x05, 0xb8, - 0x9d, 0x71, 0x0c, 0xda, 0xef, 0x0d, 0x3b, 0x03, 0x0f, 0x40, 0x0a, 0x68, 0x8f, 0x5a, 0x43, 0x37, - 0x19, 0x5e, 0x6c, 0xe7, 0xe0, 0xe8, 0x33, 0xb8, 0x95, 0x86, 0xd5, 0x13, 0x4f, 0x8d, 0x66, 0x79, - 0x25, 0x3e, 0x99, 0x20, 0x9b, 0x94, 0xe7, 0xa6, 0x4b, 0xca, 0x3f, 0x9b, 0xe5, 0x2d, 0x17, 0x7b, - 0x60, 0x85, 0x6d, 0xd7, 0xec, 0x07, 0x17, 0x5e, 0x88, 0x3e, 0x82, 0xa5, 0x7e, 0x04, 0xe2, 0xfe, - 0x23, 0x34, 0x3f, 0xce, 0xa7, 0x48, 0x8a, 0x90, 0xf7, 0xf8, 0xc5, 0x38, 0x6e, 0xeb, 0x8c, 0x00, - 0x13, 0xee, 0x15, 0x32, 0xf7, 0x5f, 0xc5, 0xfc, 0xfd, 0x57, 0xb6, 0x85, 0x31, 0x3f, 0xa6, 0x85, - 0xb1, 0x0d, 0xab, 0x7d, 0xdf, 0xb1, 0xa8, 0x32, 0x2a, 0x5a, 0x17, 0xa2, 0x6a, 0x33, 0x03, 0x66, - 0xbb, 0xa5, 0x4f, 0x43, 0xd3, 0xe9, 0x51, 0x5f, 0xb5, 0x45, 0x56, 0x48, 0x40, 0xe2, 0x5a, 0xa1, - 0x34, 0xaa, 0x15, 0xde, 0x86, 0xb5, 0xe4, 0x2a, 0xa3, 0x1b, 0x8c, 0xa8, 0x21, 0x9a, 0x47, 0xc8, - 0x7f, 0x55, 0x80, 0x15, 0xa1, 0xd0, 0x51, 0xf9, 0xbd, 0x28, 0xe8, 0x32, 0x4e, 0x9c, 0x51, 0x3c, - 0x89, 0xc9, 0x98, 0xd7, 0x9c, 0x0e, 0x02, 0xc7, 0xa5, 0x41, 0xa0, 0x7f, 0xed, 0x52, 0xff, 0xf3, - 0x61, 0x9b, 0x2c, 0x07, 0x7f, 0xc5, 0xcd, 0xf8, 0x3f, 0x0a, 0x80, 0xa2, 0xab, 0x67, 0xf7, 0x99, - 0x33, 0x8a, 0xbb, 0xdb, 0x50, 0xe2, 0xef, 0x2d, 0xd8, 0x07, 0xc5, 0xeb, 0x9a, 0x78, 0xcc, 0x34, - 0xe7, 0x70, 0x62, 0x6e, 0x85, 0x68, 0x3a, 0x09, 0x08, 0x9b, 0x74, 0x34, 0xc2, 0xac, 0xc0, 0x37, - 0x87, 0x0f, 0x23, 0xe6, 0x48, 0x0e, 0xce, 0x3c, 0x85, 0xcb, 0xe5, 0x27, 0x50, 0xf1, 0xa2, 0x66, - 0x08, 0xc8, 0x97, 0x87, 0xf3, 0x2f, 0x78, 0x6e, 0x94, 0x2e, 0x53, 0xe5, 0x9f, 0x2d, 0xc3, 0x62, - 0xbc, 0x22, 0xe6, 0x3d, 0xd1, 0x3b, 0x98, 0x68, 0x46, 0x71, 0x03, 0x2c, 0x01, 0x43, 0xe7, 0x70, - 0x37, 0x78, 0xd1, 0x9b, 0x92, 0xca, 0xee, 0x7d, 0xa1, 0xd3, 0xeb, 0xde, 0x94, 0x90, 0x6b, 0x05, - 0xb1, 0xc8, 0x9a, 0x32, 0x5b, 0x67, 0x72, 0xf5, 0xf7, 0xf8, 0x9b, 0xa0, 0x44, 0x9f, 0x50, 0x64, - 0xeb, 0x09, 0x4d, 0xc4, 0x0c, 0x31, 0x7a, 0xf4, 0x92, 0xf9, 0x3a, 0x97, 0xad, 0x51, 0x03, 0xd6, - 0x69, 0xfe, 0x06, 0x57, 0x14, 0x6d, 0xb7, 0x27, 0xdf, 0xf1, 0x92, 0x71, 0x6c, 0x6c, 0x3e, 0xd9, - 0x9d, 0x72, 0xf1, 0xba, 0x9d, 0x32, 0xbf, 0x4f, 0x7e, 0x04, 0x4b, 0x66, 0xe2, 0x9e, 0x8c, 0xc7, - 0xeb, 0x48, 0x93, 0xc9, 0x2b, 0x34, 0x92, 0x22, 0x64, 0x8c, 0xa9, 0x5d, 0xaf, 0x3c, 0x71, 0xd7, - 0xcb, 0xec, 0x79, 0xaf, 0x43, 0xd1, 0x32, 0x7b, 0x3d, 0x5e, 0x39, 0x57, 0x76, 0x2b, 0x89, 0x47, - 0x8e, 0x84, 0x23, 0x38, 0xc1, 0x85, 0x19, 0xf2, 0x6b, 0x8f, 0x04, 0xc1, 0x85, 0x19, 0x12, 0x8e, - 0x60, 0xab, 0xee, 0xa7, 0x5b, 0xd2, 0xfc, 0xb9, 0x4b, 0x2a, 0x1f, 0x24, 0xb1, 0x24, 0x4b, 0x8e, - 0x74, 0xb8, 0x61, 0x8d, 0xe9, 0x3f, 0xf3, 0x0b, 0x8f, 0x51, 0xd7, 0x6b, 0x5c, 0x8b, 0x9a, 0x8c, - 0x65, 0x44, 0x4f, 0x26, 0x17, 0xa6, 0x2b, 0x53, 0x95, 0xd5, 0x13, 0xcb, 0xd2, 0x1f, 0x17, 0xe0, - 0xc1, 0x99, 0x19, 0x84, 0x84, 0xbf, 0x87, 0x08, 0x1f, 0xd3, 0xab, 0x6b, 0x9f, 0x6d, 0xad, 0x4e, - 0x1f, 0x62, 0x2f, 0x21, 0x16, 0xa9, 0x80, 0x82, 0x5c, 0x3b, 0x87, 0x9f, 0x69, 0x46, 0x0f, 0xa1, - 0xf3, 0xfd, 0x1e, 0x32, 0x86, 0x89, 0x45, 0x40, 0x2f, 0xdf, 0x1c, 0xe0, 0x77, 0x37, 0xa3, 0x08, - 0x18, 0xd3, 0x3e, 0x20, 0xe3, 0xd8, 0x10, 0x81, 0x0d, 0x7f, 0x5c, 0x77, 0x87, 0x3f, 0xb2, 0x1b, - 0xdd, 0x82, 0x8d, 0xed, 0x00, 0x91, 0xf1, 0xac, 0x2c, 0x8d, 0xd9, 0xd7, 0x34, 0x52, 0xc4, 0x03, - 0xbd, 0x58, 0xc7, 0xd7, 0xf5, 0x5c, 0xc8, 0xb5, 0x82, 0x90, 0x0d, 0x77, 0xac, 0xc9, 0xcd, 0x96, - 0x6a, 0x95, 0x7f, 0x47, 0x1e, 0x46, 0xc8, 0x44, 0x4a, 0x72, 0x9d, 0x18, 0x16, 0x2e, 0x61, 0xba, - 0x2c, 0xac, 0xde, 0x4a, 0x85, 0x4b, 0xa6, 0x68, 0x24, 0x59, 0x72, 0x96, 0x35, 0x83, 0x54, 0x27, - 0xa0, 0x7a, 0x3b, 0x95, 0x35, 0xd3, 0x6d, 0x02, 0x92, 0x21, 0x66, 0xec, 0xfd, 0xd4, 0x4e, 0x5e, - 0xbd, 0x93, 0x62, 0x4f, 0x6f, 0xf3, 0x24, 0x43, 0xcc, 0x7c, 0xef, 0x3c, 0xb7, 0xc3, 0x56, 0xef, - 0xa6, 0x7c, 0x2f, 0xbf, 0x05, 0x93, 0x31, 0x4c, 0x72, 0x08, 0x30, 0x6a, 0x56, 0xa5, 0x9f, 0xa3, - 0x16, 0xb2, 0xcf, 0x51, 0x6f, 0xc2, 0xc2, 0x99, 0xef, 0x5d, 0x36, 0xa3, 0x6d, 0xab, 0x44, 0xc4, - 0x48, 0x5c, 0xb6, 0xcd, 0xc5, 0x97, 0x6d, 0xd9, 0xc7, 0xb2, 0xc5, 0xdc, 0x63, 0x59, 0xf9, 0x5f, - 0x57, 0xa0, 0x72, 0x4c, 0x4f, 0xf7, 0xa9, 0xc9, 0x22, 0x3b, 0x40, 0x9f, 0xc3, 0x72, 0xcf, 0x3c, - 0xa5, 0xbd, 0x40, 0x94, 0x9d, 0xe2, 0xca, 0xe7, 0x4d, 0xb1, 0x96, 0x04, 0xe9, 0xce, 0x31, 0xde, - 0xeb, 0xee, 0x63, 0xc5, 0xe8, 0x10, 0xdc, 0xee, 0xee, 0x37, 0x94, 0x03, 0x92, 0x66, 0x45, 0x3f, - 0x84, 0x9b, 0xcf, 0x3c, 0xa7, 0xaf, 0xba, 0xb6, 0xf3, 0xcc, 0xb1, 0x07, 0x66, 0x4f, 0x1f, 0x84, - 0xe7, 0x9e, 0xe3, 0x9e, 0x8b, 0x3b, 0xbc, 0xe9, 0x84, 0x4e, 0x90, 0x81, 0x1e, 0x89, 0x32, 0x26, - 0x38, 0x7a, 0x9f, 0xaf, 0x78, 0x5a, 0x79, 0x43, 0x2e, 0xd4, 0x80, 0x95, 0xf8, 0x77, 0xcd, 0xa7, - 0xec, 0xcc, 0x50, 0x7c, 0x09, 0x39, 0x19, 0x5e, 0x26, 0xcd, 0xba, 0x30, 0xdd, 0x73, 0xd1, 0x1f, - 0x3b, 0xda, 0xe5, 0xdb, 0xef, 0xd4, 0xd2, 0xd2, 0xbc, 0x4c, 0x77, 0x5f, 0x0d, 0xa8, 0x7f, 0xd5, - 0x0e, 0xcd, 0x70, 0x10, 0x1c, 0xbd, 0x3f, 0xaa, 0x93, 0x16, 0x5e, 0x46, 0x77, 0xe3, 0x65, 0x70, - 0x2b, 0x27, 0x12, 0x56, 0x20, 0xae, 0xc0, 0xa6, 0xb5, 0x72, 0x92, 0x15, 0xd5, 0x01, 0xf8, 0x57, - 0x8e, 0xdc, 0xf8, 0xf1, 0xce, 0xb4, 0x82, 0x12, 0x7c, 0x79, 0x5f, 0x51, 0x5d, 0xcb, 0xbb, 0x64, - 0xbe, 0x52, 0x7e, 0x75, 0x5f, 0x89, 0x65, 0x20, 0x02, 0x6b, 0xc3, 0x7f, 0x84, 0x70, 0x68, 0xf0, - 0x05, 0xfb, 0xae, 0x78, 0xbb, 0x36, 0x9d, 0xe0, 0x3c, 0x3b, 0xf3, 0xbf, 0x7e, 0x94, 0xd3, 0x02, - 0x5e, 0x0e, 0x4c, 0xed, 0x7f, 0x31, 0x17, 0x6a, 0x81, 0x24, 0xb2, 0x51, 0xcb, 0xb4, 0x9e, 0x46, - 0x93, 0x5a, 0x7a, 0x09, 0x49, 0x39, 0x6e, 0x64, 0x00, 0x4a, 0x19, 0x67, 0xdf, 0x71, 0xcd, 0x1e, - 0xaf, 0x1c, 0xa6, 0x95, 0x39, 0x86, 0x9f, 0x59, 0x38, 0x0a, 0x6c, 0x6c, 0x3b, 0x21, 0xaf, 0x19, - 0xa6, 0xb6, 0xf0, 0x88, 0x0f, 0xed, 0x43, 0x85, 0x77, 0x22, 0x3b, 0xfd, 0x9e, 0x67, 0xda, 0xbc, - 0x18, 0x98, 0x56, 0x4c, 0x92, 0x11, 0x9d, 0xc1, 0x9d, 0xc4, 0x90, 0x38, 0xd6, 0xc5, 0x17, 0x09, - 0xdb, 0xf0, 0xbd, 0x7a, 0x5a, 0xb9, 0xd7, 0x09, 0x42, 0xdf, 0x87, 0xc5, 0x67, 0xcc, 0x35, 0x8f, - 0x76, 0xc5, 0x8b, 0x8c, 0xe9, 0x64, 0xc6, 0x4c, 0xcc, 0xba, 0xbc, 0xb6, 0x8c, 0x5f, 0xda, 0x74, - 0xfc, 0x1e, 0x7f, 0x19, 0x3c, 0xb5, 0x75, 0xb3, 0xdc, 0x2c, 0x6a, 0x03, 0x1e, 0xca, 0xc4, 0x74, - 0x9f, 0xb2, 0xd0, 0xd8, 0x78, 0x99, 0xa8, 0x4d, 0xb1, 0xa2, 0x23, 0x58, 0x4f, 0xc7, 0x0a, 0xaf, - 0x8a, 0x79, 0x65, 0x32, 0xad, 0xc4, 0x71, 0x02, 0x98, 0x07, 0x86, 0x17, 0x8e, 0x6f, 0xb7, 0x4c, - 0x3f, 0xbc, 0x12, 0x7b, 0x6f, 0xc0, 0xab, 0x92, 0xa9, 0x3d, 0x30, 0xcf, 0x8f, 0x6c, 0xb8, 0x7d, - 0xc6, 0xeb, 0x21, 0x37, 0xec, 0x5d, 0x0d, 0xff, 0x33, 0xa1, 0x4d, 0xc3, 0x90, 0xa9, 0xa1, 0xfa, - 0x12, 0xd2, 0xaf, 0x91, 0x23, 0x1f, 0xc0, 0x5a, 0x8e, 0x21, 0x7a, 0xf6, 0x69, 0x74, 0xd5, 0x66, - 0xab, 0x81, 0x9b, 0x58, 0x33, 0x70, 0x5d, 0x9a, 0x41, 0xab, 0x50, 0x49, 0x02, 0x0a, 0x68, 0x09, - 0x4a, 0x7a, 0xcb, 0x50, 0x75, 0x4d, 0x69, 0x48, 0xb3, 0xf2, 0xbf, 0x14, 0x60, 0xd3, 0x30, 0x4f, - 0x7b, 0x34, 0xd4, 0xbc, 0xd0, 0x39, 0x73, 0x44, 0x34, 0xf1, 0xb7, 0x41, 0xa9, 0x4b, 0xf3, 0xe8, - 0xd2, 0x6d, 0x04, 0x60, 0x1b, 0xf6, 0xc0, 0xf5, 0xa9, 0x69, 0xb3, 0x23, 0x45, 0x7c, 0x57, 0x94, - 0x04, 0xa1, 0x1d, 0x40, 0x2e, 0x13, 0x1a, 0x97, 0xf7, 0x51, 0xab, 0x22, 0x7a, 0x0c, 0x31, 0x06, - 0x83, 0xea, 0xb0, 0x9c, 0x82, 0x56, 0xe7, 0x53, 0x77, 0xb1, 0xc9, 0x09, 0x0a, 0x0a, 0xde, 0x48, - 0x48, 0x33, 0xc9, 0x7f, 0x53, 0x80, 0xcd, 0x09, 0xa4, 0xd3, 0xbd, 0xde, 0xd9, 0x86, 0xc5, 0xcb, - 0x6b, 0x6f, 0x56, 0x63, 0x34, 0x7a, 0x00, 0x92, 0xf8, 0x39, 0xba, 0xc9, 0x98, 0xe3, 0x7a, 0xca, - 0xc1, 0xa7, 0xa8, 0x6f, 0xfe, 0xa1, 0x00, 0x37, 0x8e, 0xe9, 0xe9, 0xaf, 0xde, 0x0e, 0xdf, 0x83, - 0x95, 0x14, 0x34, 0x10, 0x86, 0xd8, 0x18, 0xb9, 0x6d, 0x52, 0xff, 0x19, 0x62, 0xf9, 0x9f, 0x8b, - 0x50, 0x11, 0x25, 0x34, 0x9f, 0xfe, 0x54, 0x97, 0xb7, 0x16, 0x75, 0x9e, 0x45, 0x8d, 0xa5, 0xe1, - 0xe5, 0xed, 0x10, 0x84, 0xbe, 0x0f, 0x0b, 0x51, 0x4a, 0x10, 0x55, 0xcf, 0x5b, 0x71, 0xc5, 0x3b, - 0xfa, 0xca, 0x4e, 0x4b, 0x39, 0x61, 0x2e, 0x1e, 0xfd, 0x3f, 0x57, 0xdb, 0x50, 0x8c, 0x4e, 0x9b, - 0x08, 0x2e, 0xb4, 0x0b, 0x37, 0x42, 0xdf, 0x74, 0x83, 0xe8, 0x1f, 0xd8, 0xd2, 0x37, 0xc0, 0x45, - 0x32, 0x16, 0x37, 0xfe, 0xc6, 0x7c, 0x61, 0xfa, 0x1b, 0xf3, 0x71, 0x37, 0xce, 0x8b, 0xfc, 0x7b, - 0x59, 0x30, 0xbf, 0xdd, 0x1b, 0xb0, 0x2c, 0xd0, 0xf7, 0x3d, 0xef, 0x8c, 0xda, 0xe2, 0xed, 0x63, - 0x1a, 0x88, 0x6e, 0x27, 0xde, 0x74, 0x44, 0x8f, 0x53, 0x87, 0x63, 0xf9, 0xdf, 0x0b, 0xb0, 0x3e, - 0x46, 0x01, 0x08, 0xc1, 0x4a, 0x47, 0x7b, 0xac, 0xe9, 0xc7, 0x9a, 0x80, 0x48, 0x33, 0x68, 0x05, - 0xa0, 0x45, 0xf4, 0x1a, 0x6e, 0xb7, 0x55, 0xed, 0x40, 0x2a, 0xa0, 0x12, 0x14, 0xdb, 0x58, 0x33, - 0xa4, 0x59, 0x46, 0xad, 0x61, 0x5c, 0xef, 0x1a, 0x7a, 0x57, 0xa9, 0xd5, 0x70, 0xcb, 0x88, 0x1e, - 0xf3, 0xd4, 0x74, 0x96, 0x3f, 0x0c, 0x2c, 0x15, 0xd1, 0x4d, 0x40, 0x35, 0xbd, 0xd3, 0xa8, 0x77, - 0x59, 0x9e, 0x19, 0xc2, 0xf9, 0xc3, 0x1e, 0x82, 0xf7, 0x3b, 0x5a, 0x1d, 0xd7, 0xa5, 0x05, 0x54, - 0x81, 0x45, 0xfc, 0xa4, 0xa5, 0x12, 0x5c, 0x97, 0x16, 0x23, 0xd4, 0xe7, 0xb8, 0xc6, 0x92, 0x4f, - 0x09, 0x2d, 0x43, 0xb9, 0xa6, 0x68, 0x35, 0xdc, 0x68, 0xe0, 0xba, 0x54, 0x46, 0x1b, 0xb0, 0x76, - 0xac, 0xa8, 0x86, 0xaa, 0x1d, 0x74, 0xf7, 0x75, 0xd2, 0x6d, 0x29, 0x27, 0x98, 0x48, 0xc0, 0x04, - 0x08, 0xb0, 0x54, 0x91, 0x7f, 0xef, 0x16, 0xac, 0xa4, 0x3d, 0x6e, 0x14, 0xc6, 0xb3, 0xbf, 0xf4, - 0x30, 0xc6, 0x19, 0x57, 0x7c, 0x67, 0x6c, 0x4c, 0xf0, 0x6c, 0x1e, 0xbf, 0xdb, 0x1b, 0xe7, 0x91, - 0x99, 0x6c, 0x30, 0x9f, 0xff, 0xd7, 0xc0, 0x9b, 0xb0, 0xe0, 0x9c, 0xbb, 0x9e, 0x1f, 0xb5, 0x07, - 0x4a, 0x44, 0x8c, 0xf8, 0xb3, 0xdb, 0xd0, 0xf4, 0x7d, 0x6a, 0xf3, 0xde, 0x6a, 0x89, 0xc4, 0x43, - 0x96, 0x26, 0x4e, 0x7d, 0xcf, 0xb4, 0x2d, 0x33, 0x08, 0x79, 0x6d, 0x51, 0x22, 0x23, 0x00, 0x73, - 0x9f, 0xfe, 0x20, 0xb8, 0xe0, 0x1d, 0xce, 0xf5, 0xc8, 0x7d, 0xe2, 0x31, 0xfa, 0x00, 0x36, 0x78, - 0x79, 0x51, 0x73, 0xfa, 0x17, 0xd4, 0x0f, 0xe9, 0xf3, 0x50, 0x5c, 0x33, 0xdf, 0xe0, 0x8d, 0xce, - 0xf1, 0x48, 0xf6, 0xbd, 0xcb, 0x41, 0x2f, 0x74, 0xf8, 0xf7, 0x36, 0xa2, 0xef, 0x0d, 0x01, 0x6c, - 0x9e, 0x03, 0xbf, 0xc7, 0xef, 0x0a, 0xa2, 0x7f, 0xd4, 0x8b, 0x87, 0x8c, 0x6f, 0xe0, 0xf7, 0xc4, - 0x85, 0xfd, 0x66, 0xc4, 0x37, 0x04, 0xa0, 0x13, 0x58, 0x15, 0x4a, 0x6f, 0x87, 0x83, 0x53, 0xfe, - 0x9f, 0x1b, 0xd1, 0xa6, 0xf9, 0xee, 0xd4, 0x9a, 0xee, 0xec, 0xf1, 0x37, 0x6e, 0x59, 0x39, 0x2c, - 0x11, 0x59, 0x3d, 0x6a, 0xfa, 0x4d, 0xb6, 0x1c, 0x7e, 0x78, 0x2f, 0x91, 0x04, 0x24, 0x52, 0xc3, - 0x90, 0x65, 0xf8, 0xd8, 0x27, 0xa8, 0xde, 0xe6, 0x97, 0x1d, 0xe3, 0x91, 0x4c, 0xb1, 0xf6, 0x40, - 0xf4, 0x97, 0xef, 0xf0, 0x9c, 0x3a, 0x1c, 0x33, 0x23, 0x46, 0x65, 0x65, 0xf5, 0x6e, 0xf4, 0x72, - 0x29, 0x1a, 0xa1, 0x0f, 0x98, 0xf9, 0x87, 0xb9, 0xab, 0xfa, 0x5a, 0xaa, 0x49, 0x9e, 0xc8, 0x6a, - 0x24, 0x49, 0x86, 0x0e, 0x61, 0xed, 0x8c, 0x55, 0xb9, 0xc9, 0xae, 0x4e, 0xf5, 0xde, 0x0b, 0x1b, - 0x3e, 0x79, 0x26, 0xf4, 0x88, 0x1d, 0x32, 0xbc, 0x90, 0xda, 0x89, 0x6f, 0x55, 0x5f, 0x9f, 0x38, - 0x8b, 0x3c, 0xb1, 0xec, 0xc0, 0xe6, 0x04, 0x1f, 0x47, 0x65, 0x98, 0xc7, 0x84, 0xe8, 0x44, 0x9a, - 0x61, 0x81, 0xdc, 0xc2, 0x5a, 0x3d, 0x4a, 0x34, 0x2b, 0x00, 0x6d, 0x4c, 0x8e, 0x30, 0xe9, 0x2a, - 0xb5, 0xc7, 0xd2, 0x2c, 0x92, 0x60, 0xa9, 0x8e, 0x1b, 0xea, 0x11, 0x26, 0x27, 0x1c, 0x32, 0xc7, - 0x52, 0x11, 0xc1, 0x4a, 0x3d, 0x7a, 0x35, 0xd8, 0x6a, 0x28, 0x27, 0xb8, 0x2e, 0xcd, 0xcb, 0xbf, - 0xbb, 0x06, 0xb7, 0x26, 0x5a, 0x99, 0x7d, 0x42, 0xa4, 0x38, 0x69, 0x26, 0xf1, 0x3a, 0x96, 0x7f, - 0xae, 0xa6, 0xb6, 0x0e, 0x31, 0x31, 0xf0, 0x13, 0x96, 0xdd, 0x56, 0xa1, 0xb2, 0xdf, 0x61, 0xd5, - 0x52, 0x8b, 0xe8, 0xfa, 0xbe, 0x34, 0x87, 0xee, 0xc0, 0xa6, 0xa6, 0x6b, 0xdd, 0x23, 0x4c, 0xd4, - 0x7d, 0x95, 0xa5, 0x3d, 0xa2, 0x68, 0x6d, 0x95, 0x55, 0x46, 0x52, 0x11, 0xdd, 0x82, 0x8d, 0x8e, - 0x36, 0x0e, 0x35, 0x8f, 0x36, 0x61, 0x7d, 0x1c, 0x62, 0x01, 0x55, 0xe1, 0xc6, 0x10, 0xd1, 0xd0, - 0x8f, 0xbb, 0xf1, 0xbc, 0x16, 0xd1, 0x1a, 0x2c, 0x0f, 0x31, 0x87, 0xea, 0xc1, 0xa1, 0x54, 0x42, - 0x77, 0xa1, 0x3a, 0x04, 0xa9, 0x9a, 0x6a, 0xa8, 0x4a, 0x63, 0xc8, 0x50, 0x4e, 0x89, 0x8a, 0xb1, - 0x0d, 0xfd, 0x58, 0x02, 0x36, 0xb1, 0x1c, 0x86, 0x8b, 0xac, 0xa0, 0xfb, 0xf0, 0xfa, 0x98, 0x89, - 0x75, 0x15, 0xed, 0x84, 0xa5, 0x74, 0xfe, 0x8c, 0x7a, 0xe9, 0x05, 0x44, 0x5c, 0xd2, 0xf2, 0x24, - 0x22, 0x86, 0x65, 0x54, 0x6c, 0x26, 0x2b, 0xe8, 0xdb, 0x70, 0xff, 0x3a, 0xa2, 0x78, 0x31, 0xab, - 0xe8, 0x2d, 0x90, 0xc7, 0x11, 0xc6, 0x3b, 0x93, 0x10, 0x28, 0x4d, 0xa2, 0x63, 0xaa, 0x4c, 0xc8, - 0x5b, 0x9b, 0x34, 0x3b, 0xb6, 0xc0, 0x58, 0x18, 0x9a, 0x34, 0xbb, 0x98, 0x28, 0x96, 0xb6, 0xce, - 0xdc, 0xf0, 0x80, 0xe8, 0x9d, 0x56, 0xb7, 0x46, 0xb0, 0x62, 0x60, 0xe9, 0x06, 0x53, 0xbe, 0x80, - 0x1c, 0x2a, 0xda, 0x01, 0xee, 0xb6, 0x3b, 0x7b, 0x6c, 0x03, 0x93, 0x36, 0xd8, 0x7e, 0x95, 0xc2, - 0xa8, 0x35, 0x5d, 0x93, 0x6e, 0x32, 0x5b, 0xa6, 0xc1, 0xda, 0x91, 0x6a, 0xe0, 0x6e, 0x43, 0xd5, - 0x1e, 0x4b, 0x9b, 0x39, 0x6c, 0x1d, 0xb7, 0x6b, 0x44, 0xe5, 0x25, 0xb8, 0x54, 0x65, 0xf6, 0x4c, - 0x61, 0x09, 0x6e, 0x1b, 0x44, 0xad, 0x19, 0xd2, 0xad, 0x1c, 0x4a, 0xd1, 0x34, 0xbd, 0xa3, 0xd5, - 0xb0, 0x74, 0x7b, 0x84, 0x6a, 0x29, 0xc4, 0x50, 0x6b, 0x6a, 0x4b, 0xd1, 0x8c, 0xae, 0x52, 0xaf, - 0x4b, 0x77, 0x46, 0x9f, 0x4b, 0xa2, 0x08, 0x6e, 0xea, 0x47, 0x58, 0xba, 0x8b, 0x5e, 0x83, 0x5b, - 0x79, 0x6c, 0x8b, 0xe8, 0x4d, 0xdd, 0xc0, 0xd2, 0x6b, 0xe3, 0x99, 0xeb, 0x98, 0x63, 0xef, 0x8d, - 0xc7, 0x46, 0x8b, 0x95, 0x5e, 0x67, 0xf1, 0x94, 0xc7, 0x36, 0xb0, 0x72, 0x84, 0xa5, 0x2d, 0x66, - 0xb3, 0x3c, 0x52, 0xac, 0x4b, 0xeb, 0x34, 0xf7, 0x30, 0x91, 0xde, 0x40, 0x37, 0x40, 0xda, 0x23, - 0xba, 0x52, 0xaf, 0x29, 0x6d, 0x23, 0x36, 0x87, 0x1c, 0xfd, 0xe3, 0x5a, 0x0c, 0x65, 0x6b, 0xbc, - 0x9f, 0x26, 0x14, 0x6b, 0x7b, 0x93, 0xdb, 0x0d, 0x6b, 0x98, 0xa8, 0x35, 0x56, 0x9f, 0xa8, 0xfb, - 0x6a, 0x4d, 0xe1, 0x4a, 0xfe, 0x16, 0xc3, 0xe0, 0x5d, 0xdc, 0x55, 0xeb, 0x58, 0x33, 0x54, 0xe3, - 0x44, 0x7c, 0xb8, 0x2e, 0xbd, 0xc5, 0x84, 0x33, 0x0c, 0xd6, 0x6a, 0xe4, 0xa4, 0xc5, 0x6a, 0x94, - 0x6f, 0x33, 0x23, 0xd7, 0x94, 0x46, 0xa3, 0xdb, 0x54, 0xdb, 0x6d, 0x5c, 0xef, 0x1e, 0xe9, 0x6a, - 0x0d, 0x4b, 0xdb, 0x39, 0x30, 0xff, 0x07, 0xb7, 0xef, 0x30, 0x9d, 0xa8, 0x5a, 0x5d, 0x3d, 0x52, - 0xeb, 0x1d, 0xa5, 0x91, 0x59, 0xd1, 0x83, 0x91, 0x73, 0xd5, 0x31, 0x2f, 0x95, 0x7e, 0x8d, 0x39, - 0x79, 0x04, 0x89, 0xad, 0xd9, 0x6d, 0xea, 0x75, 0x3c, 0x4c, 0x6e, 0x7b, 0x91, 0x85, 0xdf, 0x66, - 0xda, 0x4c, 0x7e, 0x2e, 0xe2, 0x89, 0xe6, 0xf2, 0xce, 0x04, 0x24, 0x9f, 0xd1, 0x0e, 0x2b, 0xd2, - 0xe2, 0x5a, 0x30, 0x91, 0x00, 0xdf, 0x65, 0x79, 0x2b, 0x86, 0x27, 0x13, 0xe1, 0x43, 0xf4, 0x36, - 0x6c, 0xc7, 0x08, 0x1e, 0x29, 0x4a, 0x8d, 0x87, 0x4a, 0x94, 0xce, 0xbb, 0x9d, 0x16, 0x7f, 0x95, - 0xbd, 0xaf, 0xa8, 0xac, 0x66, 0x7b, 0x0f, 0xed, 0xc0, 0x83, 0x17, 0x53, 0x0f, 0xab, 0xc1, 0x5d, - 0xf4, 0x3e, 0xbc, 0x3b, 0x2d, 0x7d, 0xfc, 0x91, 0xf7, 0xd1, 0x77, 0xe1, 0xbd, 0x6b, 0x98, 0x08, - 0xae, 0x61, 0xb6, 0x6f, 0x74, 0xc5, 0xe6, 0xd2, 0x6d, 0x63, 0xa3, 0xd3, 0x92, 0x3e, 0x40, 0x9f, - 0xc1, 0xc7, 0xd3, 0xb0, 0xb5, 0x3b, 0x35, 0x56, 0xff, 0x76, 0x95, 0x7d, 0x03, 0x93, 0xee, 0xa1, - 0x5a, 0xab, 0x75, 0x5a, 0xd2, 0x77, 0xd1, 0x77, 0xe0, 0x5b, 0x31, 0xb7, 0x60, 0x54, 0x6a, 0x35, - 0xbd, 0xa3, 0x19, 0x91, 0x7c, 0xe6, 0x68, 0xaa, 0x56, 0xc7, 0x44, 0xfa, 0x10, 0x6d, 0xc3, 0x9b, - 0x19, 0xd2, 0x36, 0xd6, 0xea, 0xdd, 0x18, 0x36, 0xa4, 0xfc, 0x08, 0x3d, 0x80, 0xb7, 0xae, 0xa3, - 0xe4, 0xd1, 0x13, 0xb9, 0xe9, 0xc7, 0x2c, 0x48, 0x32, 0xb4, 0x04, 0x7f, 0xd1, 0xc1, 0x6d, 0x16, - 0x82, 0xb5, 0x86, 0xaa, 0xe1, 0xba, 0xf4, 0x09, 0x92, 0xe1, 0xde, 0x04, 0xa2, 0xb8, 0xe8, 0xfe, - 0x75, 0xf4, 0x26, 0x6c, 0x4d, 0xa0, 0x19, 0x55, 0xdf, 0x9f, 0xb2, 0xf5, 0xee, 0xa9, 0x5f, 0x8e, - 0xdb, 0x00, 0xbb, 0x86, 0xde, 0x62, 0x59, 0x72, 0x4f, 0x37, 0x0c, 0xbd, 0x29, 0x7d, 0x76, 0x1d, - 0x69, 0x44, 0xc3, 0xa8, 0x0d, 0xbd, 0x25, 0x7d, 0x8f, 0x87, 0xab, 0xfa, 0x65, 0x57, 0xd5, 0x0c, - 0x12, 0x81, 0xbe, 0xcf, 0xc3, 0x75, 0x08, 0x12, 0x32, 0x7f, 0x80, 0xd6, 0x61, 0x95, 0x41, 0x35, - 0xa5, 0x89, 0x45, 0xdc, 0x48, 0x8f, 0x58, 0x38, 0x31, 0x20, 0x8b, 0x68, 0x26, 0xb2, 0xa6, 0x6b, - 0xed, 0x4e, 0x93, 0x95, 0x0c, 0xad, 0x96, 0xa4, 0xa0, 0x7b, 0x70, 0x9b, 0x61, 0x8d, 0x63, 0xbd, - 0x6b, 0xa8, 0x98, 0x74, 0x9b, 0xea, 0x01, 0x51, 0xe2, 0x09, 0x4b, 0x7b, 0xe8, 0x0d, 0x78, 0x6d, - 0x02, 0x5e, 0x7c, 0xb5, 0xc6, 0x4e, 0x20, 0xfa, 0x11, 0x26, 0x6d, 0xf5, 0x4b, 0x5c, 0x97, 0xea, - 0xcc, 0x90, 0xa9, 0x1c, 0xab, 0xe9, 0xdd, 0x7d, 0xae, 0x2b, 0xcd, 0x68, 0x9c, 0xb0, 0x43, 0xc9, - 0xb1, 0x42, 0x98, 0x1f, 0xe3, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x2d, 0xd8, 0x08, 0x69, 0x70, - 0x4a, 0x00, 0x00, + // 6235 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x7b, 0x4b, 0x6f, 0x1c, 0x49, + 0x72, 0x30, 0x9b, 0xcf, 0x66, 0x34, 0x1f, 0xc5, 0xa4, 0x28, 0xf6, 0x48, 0x1a, 0x0d, 0xa7, 0x67, + 0x76, 0x96, 0xab, 0x6f, 0x46, 0xa3, 0xe1, 0x68, 0x67, 0x34, 0x3b, 0xfb, 0x50, 0xb1, 0xbb, 0x48, + 0x96, 0xd4, 0x5d, 0xd5, 0x93, 0x5d, 0x4d, 0x8a, 0x83, 0xc5, 0xd7, 0x28, 0x55, 0x25, 0xc9, 0xfa, + 0x54, 0x5d, 0xd5, 0x53, 0x55, 0xad, 0x11, 0xf7, 0xf0, 0x7d, 0xc0, 0xb7, 0x80, 0x6d, 0x18, 0x36, + 0xb0, 0x37, 0xbf, 0x4e, 0x06, 0x6c, 0xff, 0x04, 0x5f, 0x0c, 0x1b, 0x30, 0x0c, 0x5f, 0x8c, 0x05, + 0x0c, 0x1f, 0x7d, 0xf1, 0xd1, 0x8f, 0xab, 0x6f, 0xf6, 0xc9, 0xc8, 0xac, 0xac, 0x77, 0x35, 0xd5, + 0xd2, 0xec, 0xc3, 0xf0, 0xa9, 0x3b, 0x23, 0x23, 0x22, 0x33, 0x23, 0x22, 0x23, 0x23, 0x23, 0xa3, + 0x60, 0xd9, 0x24, 0x67, 0x77, 0x47, 0x9e, 0x1b, 0xb8, 0x68, 0x81, 0xfd, 0x34, 0xda, 0x50, 0x3f, + 0xba, 0x34, 0x3d, 0x3d, 0x20, 0xe6, 0x17, 0x63, 0xcb, 0x78, 0x86, 0xc9, 0xc8, 0xbe, 0xdc, 0x1f, + 0x07, 0x81, 0xeb, 0xa0, 0x1d, 0xa8, 0x99, 0x96, 0x3f, 0xb2, 0xf5, 0x4b, 0x8d, 0xbc, 0x08, 0xea, + 0x95, 0x9d, 0xca, 0xee, 0x32, 0x4e, 0x83, 0xd0, 0x1a, 0xcc, 0x5a, 0x66, 0x7d, 0x96, 0x75, 0xcc, + 0x5a, 0x66, 0xe3, 0x10, 0x36, 0x22, 0x6e, 0x7d, 0xdc, 0x9e, 0x9a, 0x8d, 0x00, 0x73, 0x63, 0xcf, + 0xe6, 0x7c, 0xe8, 0xdf, 0xc6, 0x13, 0x40, 0x11, 0xa3, 0xa6, 0x6e, 0xdb, 0x53, 0x73, 0xda, 0x81, + 0xda, 0xe8, 0xc2, 0x75, 0x88, 0x32, 0x1e, 0x3e, 0x25, 0x1e, 0xe7, 0x98, 0x06, 0x35, 0x7e, 0x63, + 0x16, 0xae, 0x47, 0xac, 0x35, 0x32, 0x1c, 0xd9, 0x7a, 0x40, 0x38, 0xfb, 0x6b, 0xb0, 0x60, 0x39, + 0x26, 0x79, 0x51, 0x9f, 0xdf, 0xa9, 0xec, 0xae, 0xe2, 0xb0, 0x81, 0x3a, 0x20, 0x7c, 0x95, 0x93, + 0x0c, 0x1b, 0xb9, 0xb6, 0xf7, 0x56, 0x28, 0xca, 0xbb, 0x93, 0x04, 0x78, 0x34, 0x83, 0x0b, 0xa4, + 0xe8, 0x01, 0x2c, 0x8f, 0x3d, 0xbe, 0x20, 0x36, 0xbf, 0xda, 0x5e, 0x3d, 0xc7, 0x27, 0x16, 0xdd, + 0xd1, 0x0c, 0x4e, 0x90, 0xd1, 0xe7, 0x00, 0x46, 0x2c, 0x8b, 0xfa, 0x1c, 0x23, 0x7d, 0x23, 0x47, + 0x9a, 0x08, 0xeb, 0x68, 0x06, 0xa7, 0xd0, 0xf7, 0x05, 0x58, 0xbb, 0xe0, 0x38, 0x21, 0xa4, 0x61, + 0x82, 0x50, 0xd0, 0xf8, 0xc3, 0xa2, 0x80, 0x6b, 0x7b, 0xb7, 0xa3, 0x31, 0xac, 0xf3, 0x0b, 0xfb, + 0xb2, 0x17, 0x78, 0x63, 0x23, 0x18, 0x7b, 0xc4, 0xec, 0x10, 0xdf, 0xd7, 0xcf, 0xc9, 0xd5, 0x16, + 0xf1, 0xff, 0x60, 0x39, 0xb1, 0x84, 0x6f, 0xce, 0xfe, 0x5e, 0x62, 0x29, 0x2f, 0xa7, 0x64, 0x96, + 0xf4, 0xb3, 0x0a, 0x40, 0xca, 0x84, 0xbe, 0xf9, 0x14, 0x1e, 0x16, 0x4d, 0x6c, 0x0a, 0x0e, 0x69, + 0x13, 0xfc, 0xa7, 0x0a, 0xac, 0x4d, 0x65, 0x7a, 0xd2, 0x44, 0xd3, 0xdb, 0xe6, 0xe3, 0x4d, 0x65, + 0x72, 0xf7, 0x8a, 0x26, 0x27, 0x70, 0xfa, 0x09, 0xa6, 0xf6, 0x71, 0x89, 0xa9, 0x6d, 0x70, 0x92, + 0x89, 0x26, 0x56, 0x85, 0xc5, 0xa7, 0xa1, 0x69, 0x05, 0x50, 0x6d, 0xbb, 0x86, 0x1e, 0x58, 0xae, + 0x83, 0x76, 0x61, 0xdd, 0x24, 0xe7, 0x1e, 0x21, 0x7e, 0x5b, 0x0f, 0xac, 0x60, 0x6c, 0x12, 0xb6, + 0x84, 0x0a, 0xce, 0x83, 0xd1, 0x1d, 0x10, 0x22, 0x90, 0xeb, 0x9c, 0x87, 0xa8, 0xb3, 0x0c, 0xb5, + 0x00, 0x47, 0x08, 0xe6, 0x1d, 0x7d, 0x48, 0xd8, 0xd4, 0x96, 0x31, 0xfb, 0xdf, 0x78, 0x07, 0x16, + 0xba, 0xae, 0xe5, 0x04, 0x68, 0x05, 0x2a, 0x2f, 0x58, 0x4f, 0x05, 0x57, 0x5e, 0xd0, 0xd6, 0x25, + 0x13, 0x6b, 0x05, 0x57, 0x2e, 0x1b, 0xbf, 0x55, 0x81, 0x2d, 0xd9, 0x09, 0x88, 0xa7, 0x1b, 0x81, + 0xf5, 0x9c, 0x88, 0x8e, 0xe3, 0x06, 0xe1, 0x44, 0x3f, 0x81, 0xf5, 0x91, 0x6b, 0x5f, 0x9e, 0xbb, + 0xce, 0x31, 0xf1, 0x02, 0xcb, 0x20, 0x7e, 0xbd, 0xb2, 0x33, 0xb7, 0x5b, 0xdb, 0x5b, 0xe1, 0x0b, + 0x67, 0xcc, 0x71, 0x1e, 0x09, 0x7d, 0x00, 0x55, 0x9b, 0x2f, 0x96, 0x0b, 0x77, 0x9d, 0x13, 0x44, + 0x32, 0x38, 0x9a, 0xc1, 0x31, 0x0a, 0x95, 0x12, 0x1d, 0xda, 0x75, 0x1a, 0xff, 0x59, 0x81, 0x9a, + 0x68, 0x32, 0x45, 0xc9, 0xce, 0x99, 0x8b, 0xde, 0x83, 0x35, 0xdd, 0x7c, 0x4e, 0xd9, 0xfa, 0xc4, + 0x53, 0xe8, 0xea, 0x42, 0x07, 0x97, 0x83, 0xa2, 0x23, 0x58, 0x1e, 0x12, 0xd3, 0xd2, 0xb5, 0xcb, + 0x51, 0x28, 0xa0, 0xb5, 0xbd, 0x3b, 0x7c, 0xc4, 0x14, 0xbb, 0xbb, 0x62, 0x6b, 0x80, 0xa5, 0x6e, + 0xfb, 0x74, 0x20, 0x2b, 0x07, 0xea, 0xa0, 0x23, 0xb5, 0x64, 0x51, 0x3b, 0xed, 0x4a, 0x38, 0x21, + 0x46, 0xef, 0xc2, 0xea, 0xff, 0x19, 0x91, 0x73, 0xed, 0x62, 0x3c, 0x7c, 0xea, 0xe8, 0x96, 0x5d, + 0x17, 0x76, 0x2a, 0xbb, 0x2b, 0x38, 0x0b, 0x44, 0x75, 0x58, 0x32, 0xf4, 0x11, 0x5b, 0xdf, 0x06, + 0x9b, 0x50, 0xd4, 0x6c, 0x7c, 0x06, 0xdb, 0x13, 0x46, 0x41, 0x55, 0x98, 0x57, 0x54, 0x45, 0x12, + 0x66, 0xd0, 0x32, 0x2c, 0xc8, 0x1d, 0xf1, 0x50, 0x12, 0x2a, 0xf4, 0xef, 0xb1, 0xdc, 0x92, 0x54, + 0x61, 0xb6, 0xf1, 0x67, 0xf3, 0x50, 0x6b, 0xba, 0x4e, 0x40, 0x5e, 0x04, 0x6c, 0xf1, 0x37, 0xa0, + 0xea, 0x07, 0xba, 0xf3, 0x13, 0x5d, 0x36, 0xf9, 0xb2, 0xe3, 0x36, 0x73, 0xea, 0x3a, 0x95, 0xb6, + 0x35, 0xd2, 0x9d, 0x20, 0x76, 0xea, 0x09, 0x08, 0xdd, 0x87, 0xd5, 0xaf, 0xc6, 0x6e, 0x10, 0xef, + 0x37, 0x6e, 0xb2, 0x6b, 0x5c, 0x2c, 0xd1, 0x2e, 0xcc, 0x22, 0xa1, 0x5b, 0xb0, 0xec, 0x91, 0xa1, + 0x1b, 0x90, 0x47, 0x96, 0xc9, 0x2c, 0x64, 0x19, 0x27, 0x00, 0xd4, 0x80, 0x95, 0x21, 0x71, 0xe8, + 0x3a, 0x89, 0x49, 0x11, 0xd6, 0x77, 0xe6, 0x76, 0x97, 0x71, 0x06, 0x46, 0x4d, 0xd6, 0x70, 0x9d, + 0xe7, 0xc4, 0xf3, 0x2d, 0xd7, 0xe9, 0xb9, 0x63, 0xcf, 0x20, 0x75, 0xc4, 0x18, 0x15, 0xe0, 0x54, + 0xbd, 0x09, 0xac, 0xa5, 0x07, 0x7a, 0x7d, 0x93, 0x49, 0x3b, 0x07, 0x45, 0x9f, 0xc0, 0xf5, 0x14, + 0x84, 0xd8, 0xfa, 0x65, 0x8f, 0x18, 0xae, 0x63, 0xfa, 0xf5, 0x6b, 0xcc, 0x37, 0x4c, 0xe8, 0xa5, + 0x1b, 0xed, 0xcc, 0xf5, 0xbe, 0xd6, 0x3d, 0xd3, 0x72, 0xce, 0x7b, 0x86, 0xeb, 0x91, 0xfa, 0x16, + 0x23, 0xc8, 0x83, 0xa9, 0x3c, 0x2d, 0xff, 0x20, 0x04, 0x12, 0xb3, 0x7e, 0x7d, 0xa7, 0xb2, 0x5b, + 0xc5, 0x69, 0x10, 0xba, 0x0b, 0xd5, 0x50, 0x54, 0xa2, 0x59, 0xdf, 0x66, 0xa2, 0x44, 0x45, 0x0b, + 0xc3, 0x31, 0x0e, 0xfa, 0x0c, 0xd6, 0x46, 0xb6, 0x6e, 0x90, 0x0b, 0xd7, 0x36, 0x89, 0xf7, 0x98, + 0x5c, 0xd6, 0xeb, 0x19, 0x9f, 0xc1, 0x25, 0xfe, 0x98, 0x5c, 0xe2, 0x1c, 0x22, 0xba, 0x0d, 0x40, + 0x5e, 0x8c, 0x2c, 0x2f, 0xdc, 0x40, 0x6f, 0xb0, 0x19, 0xa7, 0x20, 0x8d, 0xdf, 0xae, 0xc0, 0xad, + 0x1e, 0x71, 0x42, 0xec, 0x96, 0xe5, 0x07, 0x9e, 0xf5, 0x74, 0x4c, 0x7b, 0x22, 0x2d, 0xd6, 0x61, + 0xe9, 0xdc, 0x73, 0xc7, 0xa3, 0xd8, 0x70, 0xa2, 0x26, 0xea, 0xc2, 0x3b, 0xfa, 0x0b, 0xd7, 0x76, + 0x03, 0xfb, 0x2a, 0x06, 0xcc, 0x9e, 0x56, 0xf0, 0x34, 0xa8, 0x8d, 0xbf, 0x5a, 0x84, 0x15, 0x79, + 0xa8, 0x9f, 0x93, 0x68, 0x70, 0x1e, 0xb9, 0x54, 0xe2, 0xc8, 0x85, 0x1a, 0xf2, 0xd0, 0x1a, 0x92, + 0x20, 0xda, 0x9c, 0xcb, 0x38, 0x6e, 0xa7, 0x77, 0xd2, 0x5c, 0x66, 0x27, 0x51, 0x29, 0x9c, 0x59, + 0x36, 0xe9, 0x5d, 0xe8, 0x7b, 0xdf, 0xfd, 0x84, 0xd9, 0xe2, 0x0a, 0x4e, 0x41, 0xa2, 0xfe, 0x36, + 0x71, 0xce, 0x83, 0x8b, 0xfa, 0xc2, 0x4e, 0x65, 0x77, 0x1e, 0xa7, 0x20, 0xe8, 0x3a, 0x2c, 0x5e, + 0x10, 0xeb, 0xfc, 0x22, 0xa8, 0x2f, 0x32, 0x09, 0xf2, 0x16, 0x3d, 0x57, 0xbe, 0xb6, 0xcc, 0xe0, + 0xa2, 0xbe, 0x14, 0x9e, 0x2b, 0xac, 0xc1, 0xe6, 0x48, 0x9d, 0x00, 0x55, 0x54, 0x95, 0x8d, 0x15, + 0xb7, 0xa9, 0x4f, 0xa0, 0x7c, 0x25, 0xc7, 0xe0, 0x93, 0x59, 0x0e, 0x7d, 0x42, 0x06, 0x88, 0x34, + 0xb8, 0x6e, 0x95, 0x79, 0x51, 0xbf, 0x0e, 0xcc, 0x67, 0xde, 0xe2, 0x8a, 0x2f, 0x75, 0xb5, 0x78, + 0x02, 0x2d, 0x5d, 0xa5, 0x69, 0x79, 0xc4, 0x08, 0xba, 0x7a, 0x70, 0x51, 0xaf, 0x31, 0x11, 0xa5, + 0x20, 0xe8, 0x7d, 0xd8, 0x88, 0xe6, 0xa9, 0x59, 0x43, 0xe2, 0x07, 0xfa, 0x70, 0x54, 0x5f, 0xd9, + 0xa9, 0xec, 0xce, 0xe1, 0x62, 0xc7, 0x94, 0xde, 0xed, 0x3e, 0xd4, 0x8c, 0xc4, 0x0f, 0x31, 0x0f, + 0x97, 0x58, 0x7b, 0xca, 0x43, 0xe1, 0x34, 0x1a, 0xdd, 0xf8, 0x67, 0x96, 0xe7, 0x07, 0x3d, 0x43, + 0x77, 0x7a, 0x96, 0x49, 0x0c, 0xdd, 0x63, 0x1b, 0x7f, 0x05, 0x17, 0xe0, 0x6c, 0x63, 0x46, 0x30, + 0xae, 0xc0, 0x4d, 0xbe, 0x31, 0xb3, 0x60, 0xba, 0x3e, 0xf2, 0x62, 0x44, 0x3c, 0x8b, 0x3a, 0x99, + 0x43, 0x6e, 0xd4, 0xe1, 0xae, 0x2f, 0x76, 0x50, 0x07, 0xe5, 0x1b, 0xba, 0xe3, 0x47, 0xe3, 0x6f, + 0xb1, 0xf1, 0x33, 0x30, 0xba, 0xd5, 0xfd, 0x98, 0xbf, 0x5f, 0xbf, 0xbe, 0x33, 0xb7, 0xbb, 0x8a, + 0xd3, 0x20, 0xb4, 0x07, 0xd7, 0x86, 0x96, 0xf9, 0xc5, 0x58, 0xb7, 0xad, 0xe0, 0xf2, 0x20, 0xb1, + 0xc1, 0x6d, 0xc6, 0xad, 0xb4, 0x0f, 0x3d, 0x80, 0xed, 0x2c, 0x3c, 0xb1, 0x96, 0x3a, 0x23, 0x9b, + 0xd4, 0xdd, 0xf8, 0xbf, 0xb0, 0x46, 0x65, 0xaa, 0x1b, 0x41, 0xb4, 0x83, 0x92, 0x98, 0x3e, 0x75, + 0xe4, 0xa5, 0x41, 0xd4, 0x86, 0x9f, 0x1b, 0xba, 0x67, 0x32, 0xfd, 0x2d, 0xe3, 0xb0, 0xf1, 0x7a, + 0x7a, 0x6b, 0xfc, 0x74, 0x16, 0xd6, 0xa3, 0x63, 0x39, 0x9a, 0xc1, 0xaf, 0x2c, 0x42, 0xa1, 0xfb, + 0x5f, 0x37, 0x4d, 0x8f, 0xf8, 0x3e, 0x3f, 0x6e, 0xa2, 0x66, 0xe4, 0x47, 0x16, 0x12, 0x3f, 0xf2, + 0x4b, 0xb4, 0xde, 0xc6, 0xbf, 0x2d, 0xc0, 0xa6, 0xf4, 0x22, 0xa0, 0x9e, 0xce, 0xa4, 0x31, 0x6d, + 0x24, 0x09, 0x04, 0xf3, 0x41, 0x72, 0xb1, 0x62, 0xff, 0xa9, 0x7e, 0x86, 0x7a, 0x60, 0x5c, 0x84, + 0x98, 0xd1, 0xe1, 0x9b, 0x02, 0x51, 0x3b, 0x34, 0x74, 0xc7, 0x75, 0x2c, 0x43, 0xb7, 0xfb, 0x9e, + 0xcd, 0x97, 0x96, 0x81, 0x31, 0x2d, 0x13, 0xdf, 0xf0, 0xac, 0xd0, 0xfb, 0x2d, 0x70, 0x2d, 0x27, + 0x20, 0xaa, 0xe5, 0xc0, 0x0a, 0x6c, 0xc2, 0x1c, 0xd8, 0x32, 0x0e, 0x1b, 0xd4, 0x53, 0xd1, 0x59, + 0x88, 0xde, 0xf9, 0x53, 0xe6, 0xc2, 0x96, 0x70, 0xdc, 0xa6, 0x07, 0xea, 0x53, 0xdd, 0x78, 0x46, + 0xbd, 0xbd, 0x63, 0x32, 0x8c, 0x2a, 0xc3, 0xc8, 0x41, 0x51, 0x07, 0xe6, 0xcf, 0x5c, 0x27, 0x60, + 0x8e, 0x6c, 0x6d, 0xef, 0x33, 0x2e, 0x9c, 0x92, 0xf5, 0xdf, 0x95, 0x9e, 0x68, 0x92, 0xd2, 0x92, + 0x5a, 0x03, 0x4d, 0x7a, 0xa2, 0x0d, 0x3a, 0x52, 0xaf, 0x27, 0x1e, 0x4a, 0x83, 0x03, 0x55, 0xd1, + 0x58, 0xe4, 0xc4, 0xd8, 0xa0, 0xff, 0x0d, 0xb5, 0x91, 0x47, 0x9e, 0x5b, 0xe4, 0x6b, 0x16, 0x80, + 0x01, 0xe3, 0xfa, 0xfd, 0x57, 0xe6, 0xda, 0xc5, 0xd2, 0xb1, 0x2c, 0x9d, 0x30, 0xc6, 0x69, 0x86, + 0xbf, 0x54, 0xb7, 0x45, 0x4d, 0xdd, 0x55, 0xdc, 0xa0, 0x6b, 0xeb, 0x97, 0xb2, 0x63, 0x5b, 0x4e, + 0x18, 0xae, 0x54, 0x71, 0x1e, 0xdc, 0xf8, 0x9d, 0x0a, 0xdc, 0xbe, 0x5a, 0x1c, 0x68, 0x0d, 0xa0, + 0x27, 0x2a, 0xbd, 0x41, 0x4f, 0xc2, 0xf2, 0x41, 0x18, 0xe8, 0x85, 0x7f, 0x2b, 0x68, 0x13, 0xd6, + 0x15, 0x15, 0xcb, 0x4d, 0x51, 0x19, 0x60, 0xe9, 0xb0, 0xdf, 0x16, 0xb1, 0x30, 0x8b, 0x36, 0x60, + 0x75, 0x1f, 0x9f, 0x2a, 0x2d, 0x51, 0x19, 0x9c, 0x60, 0x59, 0x93, 0x84, 0x39, 0xb4, 0x05, 0x1b, + 0xfb, 0xd2, 0xbe, 0xd8, 0x53, 0xa4, 0xbe, 0x14, 0x63, 0xce, 0x23, 0x01, 0x56, 0xd4, 0xde, 0x89, + 0xd8, 0x6e, 0x0d, 0x8e, 0x24, 0xf1, 0xf8, 0x54, 0x58, 0x68, 0x3c, 0x80, 0xb7, 0x5f, 0x2a, 0xc6, + 0x6c, 0xcc, 0x19, 0x06, 0x9a, 0x95, 0xc6, 0x5f, 0xcc, 0xc1, 0x7a, 0xcb, 0x35, 0xc6, 0xd4, 0x73, + 0xbe, 0xde, 0xa9, 0x1d, 0x5b, 0xe6, 0x5c, 0xda, 0x32, 0xbf, 0xe9, 0x89, 0x7d, 0x0b, 0x96, 0x47, + 0xfa, 0x39, 0x69, 0xba, 0x63, 0x27, 0x3a, 0xb4, 0x13, 0x40, 0xe6, 0x84, 0x5e, 0xca, 0x9d, 0xd0, + 0x37, 0xa0, 0x4a, 0xf9, 0x30, 0x77, 0x59, 0x0d, 0xe7, 0x1a, 0xb5, 0xa7, 0x3c, 0xbd, 0xb3, 0xe7, + 0x2c, 0x4c, 0x77, 0xce, 0xd6, 0x7e, 0x0d, 0xe7, 0x6c, 0xe3, 0x0f, 0xe7, 0x60, 0x45, 0x1c, 0x9b, + 0x96, 0xfb, 0x7a, 0xaa, 0xcb, 0x2a, 0x69, 0xee, 0x25, 0x4a, 0x9a, 0x2f, 0x28, 0xa9, 0x0e, 0x4b, + 0x3e, 0x0f, 0xbe, 0x17, 0x98, 0x8a, 0xa2, 0x26, 0x9d, 0xc7, 0x28, 0x08, 0x15, 0x57, 0xc5, 0xf4, + 0xef, 0x95, 0x2a, 0x2b, 0xa8, 0xa5, 0xfa, 0x72, 0xb5, 0x2c, 0x4f, 0xa7, 0x16, 0x98, 0xa4, 0x96, + 0xd7, 0x0e, 0x6c, 0xfc, 0xc0, 0x23, 0xfa, 0x90, 0xde, 0x16, 0xb2, 0x81, 0x4d, 0x1e, 0xde, 0xf8, + 0xff, 0x8b, 0xb0, 0x72, 0x6c, 0x99, 0xe4, 0xbf, 0x9d, 0x72, 0xd2, 0xaa, 0x58, 0xcc, 0xa9, 0x22, + 0x15, 0x83, 0x2f, 0x65, 0x63, 0xf0, 0x1d, 0xa8, 0x9d, 0x5b, 0x67, 0xd4, 0x07, 0xd2, 0x03, 0x84, + 0xa9, 0xa8, 0x8a, 0xd3, 0xa0, 0x54, 0x94, 0xbd, 0x5c, 0x1e, 0x65, 0x43, 0x3a, 0xca, 0x2e, 0x28, + 0xbd, 0xf6, 0x6a, 0x91, 0xf4, 0xca, 0x2f, 0x2c, 0x92, 0x5e, 0x9d, 0xce, 0x94, 0xd6, 0x7e, 0x4d, + 0x91, 0xf4, 0xb4, 0x06, 0x87, 0xfa, 0xb0, 0x76, 0x6e, 0x9d, 0x89, 0x41, 0x7c, 0x2f, 0x63, 0x81, + 0xf4, 0xda, 0xde, 0x07, 0x7c, 0x90, 0xb4, 0x31, 0xde, 0x65, 0x07, 0x40, 0x7c, 0x4e, 0x88, 0x9a, + 0x86, 0xe5, 0xfd, 0xbe, 0x26, 0xab, 0x0a, 0xce, 0x31, 0x69, 0x7c, 0x0e, 0x6f, 0x4c, 0x44, 0xce, + 0x1e, 0x2a, 0x87, 0x72, 0xf7, 0xe8, 0x34, 0x4c, 0x64, 0x68, 0x92, 0xa2, 0x62, 0x61, 0xb6, 0xb1, + 0x03, 0xf3, 0x4d, 0xdd, 0xe6, 0x59, 0x12, 0xdb, 0xa6, 0x26, 0x57, 0x61, 0xd3, 0x8f, 0x9a, 0x8d, + 0x07, 0x30, 0xdf, 0xbc, 0xd0, 0x83, 0x29, 0x22, 0xdd, 0x7c, 0xf2, 0xf4, 0x9f, 0x2b, 0xb0, 0xde, + 0xa5, 0x2b, 0x33, 0x5c, 0x3b, 0xda, 0x63, 0xef, 0xc0, 0xdc, 0x33, 0x3e, 0x46, 0xe9, 0xfd, 0x9a, + 0xf6, 0xa2, 0x87, 0x30, 0x1f, 0x24, 0xd9, 0xa1, 0xf7, 0xa3, 0x04, 0x56, 0x96, 0xd5, 0xdd, 0x2e, + 0x56, 0x35, 0xb5, 0xa9, 0xb6, 0xe3, 0x75, 0x87, 0x51, 0x0e, 0xdb, 0x9c, 0xf7, 0x60, 0x93, 0x8c, + 0x2e, 0xc8, 0x90, 0x78, 0xba, 0x2d, 0x25, 0xf7, 0xf3, 0x30, 0x3d, 0x59, 0xd6, 0xd5, 0xf8, 0x1e, + 0x6c, 0x95, 0x32, 0x44, 0x00, 0x8b, 0x58, 0x3a, 0x56, 0x1f, 0x53, 0x19, 0x6e, 0xc1, 0x86, 0xd4, + 0x3d, 0x92, 0x3a, 0x12, 0x16, 0xdb, 0x83, 0x9e, 0xa4, 0x69, 0xb2, 0x72, 0x28, 0xcc, 0x35, 0xfe, + 0xb8, 0x02, 0xd7, 0xf8, 0xbd, 0xc0, 0x17, 0x3d, 0x4f, 0xbf, 0x9c, 0xfe, 0x76, 0xf0, 0x11, 0x54, + 0x0d, 0x4e, 0x59, 0x9f, 0x65, 0x3b, 0x66, 0x2b, 0x65, 0x72, 0xc9, 0x45, 0x03, 0xc7, 0x68, 0xaf, + 0x79, 0x14, 0x7d, 0x01, 0xb5, 0xa3, 0x5e, 0xa7, 0x39, 0xf6, 0x3c, 0xe2, 0x18, 0x97, 0x2c, 0xea, + 0xe5, 0xff, 0x9b, 0xae, 0x19, 0x4d, 0x2d, 0x03, 0xa3, 0xbb, 0x50, 0x1f, 0xd2, 0xf3, 0xfc, 0xa3, + 0x7b, 0xf7, 0xee, 0x31, 0x65, 0xcc, 0xe1, 0x14, 0xa4, 0xf1, 0x07, 0xf3, 0x70, 0xed, 0xa8, 0xd7, + 0x69, 0xe9, 0x01, 0xa1, 0x9b, 0xad, 0xe9, 0x0e, 0x47, 0xae, 0x43, 0x9c, 0x00, 0x0d, 0x60, 0xd9, + 0xd4, 0x2f, 0xd5, 0xb3, 0x13, 0x42, 0x9e, 0x31, 0xce, 0x6b, 0x7b, 0x62, 0x94, 0x61, 0x2e, 0xc1, + 0xa7, 0xc0, 0x41, 0x4b, 0xd4, 0xa4, 0x81, 0x26, 0x77, 0xa4, 0x41, 0x53, 0xed, 0x74, 0x55, 0x45, + 0x52, 0xb4, 0x41, 0x4b, 0x3c, 0x55, 0x0f, 0x4e, 0x24, 0xe9, 0x71, 0x98, 0xf9, 0x8b, 0x79, 0xd2, + 0x48, 0xff, 0x92, 0xe8, 0x61, 0xf6, 0x7a, 0x15, 0xb3, 0xff, 0xd4, 0x8b, 0x0d, 0x5d, 0x27, 0xb8, + 0x60, 0xae, 0x78, 0x15, 0x87, 0x0d, 0xe6, 0x49, 0x28, 0x59, 0x87, 0x75, 0x85, 0xfa, 0x4f, 0x41, + 0x28, 0xa7, 0x0b, 0x77, 0xec, 0x71, 0x17, 0xcc, 0xfe, 0x53, 0x3f, 0x39, 0xb4, 0x9c, 0x71, 0x40, + 0xa2, 0x6c, 0x44, 0xd8, 0x42, 0x3f, 0x86, 0xaa, 0xa1, 0xdb, 0xc4, 0x31, 0x75, 0x8f, 0x39, 0xdf, + 0xb5, 0xbd, 0x87, 0xaf, 0xb3, 0xaa, 0xa6, 0xd8, 0x96, 0x94, 0x96, 0x88, 0xd9, 0xa2, 0x62, 0x8e, + 0x8d, 0x9f, 0x56, 0xe0, 0x5b, 0x53, 0x09, 0x82, 0x5a, 0x64, 0x47, 0x55, 0x5a, 0x22, 0xdd, 0xca, + 0x35, 0x58, 0xd2, 0xfa, 0x52, 0x8f, 0x36, 0x66, 0xd1, 0x2a, 0x2c, 0x9f, 0x48, 0x2d, 0x25, 0x6c, + 0xce, 0xa1, 0x15, 0xa8, 0x6a, 0x47, 0x7d, 0xcc, 0x5a, 0xf3, 0x94, 0xea, 0x00, 0xcb, 0xf4, 0xff, + 0x02, 0xed, 0xe9, 0x89, 0x5a, 0x1f, 0xd3, 0xd6, 0x22, 0xed, 0xe9, 0xf5, 0x19, 0xbf, 0xa5, 0xc6, + 0x01, 0xbc, 0x3b, 0xcd, 0xbc, 0xe9, 0x50, 0x87, 0x58, 0x3a, 0x54, 0xb1, 0x2c, 0x2a, 0x42, 0x05, + 0xad, 0x43, 0xad, 0xa7, 0xb6, 0x45, 0x3c, 0x38, 0x92, 0x1f, 0x61, 0x59, 0x98, 0x6d, 0xdc, 0xcf, + 0x98, 0x46, 0xdf, 0xb1, 0x5e, 0x48, 0x23, 0xd7, 0x60, 0x71, 0x63, 0x10, 0x7b, 0xec, 0x0a, 0x33, + 0xa9, 0x04, 0xd0, 0xf8, 0xfd, 0x0a, 0xb3, 0xd2, 0x88, 0x0c, 0x7d, 0x0e, 0xcb, 0x46, 0x24, 0x4f, + 0xee, 0x33, 0x6e, 0x5e, 0x21, 0xf2, 0xa3, 0x19, 0x9c, 0xe0, 0x53, 0xe2, 0x71, 0x34, 0x2e, 0x4f, + 0x6d, 0x97, 0x10, 0xc7, 0x53, 0x63, 0x4f, 0x08, 0x51, 0x63, 0x7f, 0x1d, 0x56, 0x4d, 0x3d, 0x20, + 0x74, 0x6a, 0xaa, 0x43, 0xdc, 0xb3, 0xc6, 0x9f, 0x56, 0x60, 0xfb, 0xa8, 0xd7, 0xa1, 0xb7, 0x6f, + 0xdb, 0xfa, 0x89, 0xfe, 0xd4, 0x26, 0x5d, 0xdd, 0xd3, 0x87, 0x24, 0x20, 0x1e, 0x75, 0x9e, 0x26, + 0x39, 0xd3, 0xc7, 0x76, 0x74, 0xf7, 0x8c, 0x9a, 0xe8, 0x1e, 0x54, 0xa3, 0x2d, 0xc5, 0xa7, 0x80, + 0x92, 0x29, 0x44, 0x9b, 0xf1, 0x68, 0x06, 0xc7, 0x58, 0x94, 0xc2, 0xe4, 0x53, 0xe3, 0x69, 0x60, + 0x54, 0x9c, 0x34, 0xa5, 0x88, 0xb0, 0xf6, 0x57, 0x00, 0x46, 0x74, 0x2a, 0xe1, 0x3c, 0x7f, 0x77, + 0x0e, 0xb6, 0x27, 0x3c, 0xe3, 0x50, 0xe1, 0xd3, 0x8b, 0xbc, 0x3f, 0xd2, 0x8d, 0x68, 0xc7, 0x27, + 0x00, 0xea, 0xac, 0x88, 0x4d, 0xe8, 0x45, 0x83, 0x39, 0x2b, 0x7e, 0x55, 0x4e, 0x81, 0xe8, 0xc6, + 0x60, 0x23, 0xf9, 0xf5, 0x39, 0x96, 0x4d, 0xe6, 0x2d, 0x16, 0xea, 0xe8, 0xb6, 0x4d, 0x83, 0x8c, + 0xf6, 0x39, 0xbf, 0x40, 0xa7, 0x20, 0x99, 0x7e, 0x83, 0xdf, 0x9e, 0x53, 0x10, 0xd4, 0x86, 0x0d, + 0x3b, 0x27, 0x57, 0xbf, 0xbe, 0xc8, 0xbc, 0xe1, 0xed, 0x64, 0xf1, 0x65, 0xa2, 0xc7, 0x45, 0xc2, + 0x30, 0x21, 0x12, 0x10, 0x6f, 0x68, 0x39, 0x96, 0x1f, 0x58, 0x46, 0xfb, 0x9c, 0x87, 0x4a, 0x79, + 0x70, 0x11, 0xd3, 0xe0, 0x37, 0x92, 0x3c, 0x18, 0x3d, 0x80, 0x5a, 0xf4, 0xfe, 0x78, 0xe4, 0x0f, + 0x59, 0xfc, 0x54, 0xdb, 0xbb, 0xce, 0xe7, 0x16, 0x3d, 0x86, 0xc5, 0xaf, 0x65, 0x29, 0xd4, 0xc6, + 0x6f, 0x56, 0x00, 0xf5, 0x88, 0x63, 0x76, 0xf5, 0xcb, 0xf4, 0x1d, 0xee, 0x1e, 0xd4, 0x1c, 0x37, + 0x26, 0xe1, 0xb6, 0x91, 0x4f, 0xf8, 0xa7, 0x51, 0xd0, 0x8f, 0x60, 0xc3, 0x23, 0x5f, 0x8d, 0x89, + 0x1f, 0x24, 0xc7, 0x65, 0xee, 0x6d, 0x2b, 0x75, 0x8e, 0x16, 0x71, 0x1b, 0xff, 0x52, 0x81, 0x2d, + 0x1c, 0x42, 0xaf, 0x9e, 0xcc, 0xfc, 0xcb, 0x27, 0x73, 0x0f, 0x36, 0xd3, 0x47, 0x85, 0xec, 0xbb, + 0xf7, 0xf7, 0x3e, 0xfa, 0x94, 0xdb, 0x54, 0x59, 0x57, 0xc9, 0x61, 0x32, 0x9f, 0x3e, 0x4c, 0xa8, + 0xf5, 0xf1, 0x29, 0x1f, 0x78, 0xee, 0x90, 0x5f, 0x56, 0xd3, 0x20, 0xaa, 0x2d, 0x96, 0x58, 0x4f, + 0x85, 0x7c, 0x0b, 0xcc, 0x81, 0xe4, 0xc1, 0x8d, 0x26, 0xdc, 0x6a, 0x11, 0xc3, 0xb6, 0x1c, 0xc2, + 0x17, 0x8a, 0x33, 0xc2, 0x98, 0x2a, 0x08, 0x69, 0xec, 0xc3, 0xcd, 0xa6, 0xee, 0x18, 0xc4, 0xfe, + 0x06, 0x3c, 0xfe, 0x66, 0x0e, 0x36, 0xdb, 0xd6, 0x73, 0xf2, 0xab, 0xc9, 0xd9, 0xdd, 0x01, 0x41, + 0x37, 0x8c, 0xb1, 0xa7, 0x1b, 0x97, 0xb2, 0xd3, 0xa1, 0x16, 0xec, 0xf3, 0xc3, 0xb0, 0x00, 0xa7, + 0xea, 0xf0, 0x47, 0x84, 0x98, 0xb2, 0xd3, 0x19, 0x85, 0xe9, 0xbc, 0x59, 0x9c, 0x82, 0xa0, 0x36, + 0xbc, 0xcd, 0xf9, 0x37, 0x6d, 0xd7, 0x78, 0xf6, 0xb5, 0xe5, 0x13, 0xaa, 0x84, 0x8e, 0x7e, 0xee, + 0x90, 0xc0, 0x32, 0x14, 0xd7, 0xe3, 0x69, 0x81, 0x55, 0xfc, 0x72, 0xc4, 0xf4, 0xad, 0x65, 0x31, + 0x7b, 0x6b, 0x79, 0x0f, 0xd6, 0x7c, 0x2a, 0x58, 0xc7, 0x88, 0x5e, 0xa4, 0x97, 0x98, 0x4e, 0x73, + 0x50, 0x3a, 0x5f, 0xe6, 0x8b, 0xcf, 0xce, 0x7c, 0x12, 0xb0, 0x5d, 0xba, 0x8a, 0x53, 0x90, 0x5f, + 0xea, 0x2d, 0xfe, 0xe7, 0x73, 0xb0, 0xd6, 0x0b, 0x2c, 0xe3, 0x19, 0xf1, 0x26, 0x5f, 0x15, 0xb3, + 0xd7, 0xc1, 0xd9, 0xc2, 0x75, 0xb0, 0x70, 0x9d, 0x9a, 0x2b, 0xbb, 0x4e, 0xa5, 0xaf, 0x7e, 0xf3, + 0xc5, 0xc4, 0x49, 0x7c, 0x19, 0x5d, 0xc8, 0x5d, 0x46, 0x5f, 0xed, 0x01, 0x25, 0x7b, 0xbd, 0xaa, + 0x16, 0xae, 0x57, 0xd9, 0xab, 0xeb, 0x72, 0xe1, 0xea, 0xfa, 0x6a, 0x37, 0xf9, 0xe8, 0xb1, 0xe1, + 0x80, 0xfa, 0x6c, 0xce, 0xb3, 0x16, 0x9a, 0x65, 0x1e, 0x4e, 0x39, 0x27, 0xb0, 0xe8, 0x3e, 0xb5, + 0xc2, 0x04, 0x51, 0xec, 0x78, 0x4d, 0x75, 0xfe, 0xde, 0x3c, 0xac, 0x1f, 0xb8, 0x63, 0x0f, 0xbb, + 0x5f, 0x47, 0x9e, 0x1b, 0x3d, 0x80, 0x25, 0x86, 0xc2, 0x93, 0x59, 0x2f, 0xaf, 0x88, 0x88, 0xd0, + 0xd1, 0x27, 0xb0, 0x78, 0xe6, 0xba, 0x01, 0x37, 0xdc, 0x97, 0x13, 0x72, 0x6c, 0xf4, 0x21, 0x2c, + 0x85, 0xe5, 0x06, 0x7e, 0xbd, 0x9a, 0x89, 0xfb, 0xb3, 0xa5, 0x15, 0x38, 0xc2, 0x42, 0xfb, 0xb0, + 0x6e, 0x66, 0x13, 0x81, 0xdc, 0xf9, 0x44, 0xc7, 0x50, 0x2e, 0x4d, 0x78, 0x34, 0x83, 0xf3, 0x04, + 0xe8, 0x4b, 0xd8, 0xbe, 0x28, 0x9f, 0xd7, 0x74, 0x85, 0x20, 0x47, 0x33, 0x78, 0x12, 0x03, 0xf4, + 0x19, 0xac, 0x58, 0xa9, 0xb7, 0x45, 0x7e, 0x34, 0x6d, 0x46, 0xf7, 0xff, 0x54, 0xd7, 0xd1, 0x0c, + 0xce, 0xa0, 0x52, 0xd2, 0xe7, 0xa9, 0xbb, 0x2f, 0x3f, 0x80, 0x36, 0x4b, 0xae, 0xc5, 0x94, 0x34, + 0x8d, 0x4a, 0xa5, 0x62, 0x67, 0x9d, 0x2b, 0xdb, 0x1b, 0x89, 0x54, 0x72, 0xae, 0x97, 0x4a, 0x25, + 0x47, 0xb0, 0xbf, 0xc4, 0x33, 0xa4, 0x8d, 0x3f, 0x9a, 0x87, 0xed, 0xa8, 0x14, 0x29, 0x6f, 0x21, + 0xf7, 0x60, 0x33, 0x3a, 0xd6, 0x9b, 0xa1, 0xea, 0xd9, 0x83, 0x42, 0xe8, 0xce, 0xca, 0xba, 0xd0, + 0x5d, 0x40, 0x17, 0x31, 0x33, 0xaa, 0x73, 0x46, 0x10, 0x86, 0x22, 0x25, 0x3d, 0xe8, 0x10, 0xd6, + 0xb3, 0x35, 0x4e, 0x91, 0x65, 0xbc, 0x99, 0xab, 0x92, 0xca, 0x59, 0x48, 0x9e, 0x8a, 0xf9, 0x4a, + 0x8e, 0x22, 0x9b, 0x51, 0x22, 0x2e, 0x81, 0xfc, 0x42, 0x2c, 0xe9, 0x2e, 0x6c, 0x44, 0xc3, 0x6a, + 0x54, 0x76, 0xc9, 0xeb, 0xca, 0xd1, 0x0c, 0x2e, 0x76, 0xfd, 0x4f, 0xb0, 0x8e, 0xbf, 0x9c, 0x85, + 0xf5, 0x5c, 0xa8, 0x97, 0xf7, 0x40, 0x73, 0xd3, 0x25, 0x8d, 0x1e, 0x81, 0x70, 0x91, 0xd3, 0x25, + 0x5f, 0xd5, 0xed, 0x9c, 0xaa, 0x73, 0x56, 0x88, 0x0b, 0x74, 0x74, 0x89, 0x67, 0x59, 0xa4, 0x9c, + 0x32, 0x73, 0x2c, 0xe8, 0x12, 0x73, 0x04, 0xcc, 0x2d, 0x94, 0x0f, 0x98, 0x77, 0x0b, 0xe5, 0x58, + 0xcc, 0x2d, 0x94, 0x77, 0xed, 0x57, 0xa9, 0x7f, 0xf4, 0x86, 0x7a, 0xd0, 0xf8, 0xbb, 0x0a, 0xdc, + 0xc8, 0x99, 0x2e, 0x19, 0xd9, 0x71, 0xae, 0x84, 0x46, 0x24, 0xc4, 0x26, 0x46, 0x40, 0xcc, 0xb8, + 0x16, 0x22, 0x05, 0xa1, 0x1b, 0x30, 0x6a, 0xb5, 0x52, 0x25, 0x70, 0xe1, 0x35, 0xa5, 0xac, 0xeb, + 0x35, 0x95, 0xf3, 0x2e, 0xac, 0xc6, 0xa3, 0xa6, 0x6a, 0xda, 0xb2, 0xc0, 0xc6, 0xbf, 0xcf, 0xb2, + 0xdc, 0x96, 0x39, 0x36, 0x82, 0x9e, 0xa3, 0x8f, 0xfc, 0x0b, 0x37, 0x40, 0x9f, 0xc2, 0xca, 0x28, + 0x04, 0x31, 0x7b, 0xe6, 0x7a, 0x28, 0xb3, 0x71, 0x9c, 0x41, 0x64, 0x8f, 0x29, 0xbc, 0x1d, 0xe5, + 0xcf, 0x12, 0xc0, 0x84, 0x07, 0x9c, 0xdc, 0x93, 0xe4, 0x7c, 0xf1, 0x49, 0x32, 0x9f, 0xe2, 0x59, + 0x28, 0x49, 0xf1, 0xec, 0xc2, 0xfa, 0xc8, 0xb3, 0x0c, 0x22, 0x26, 0xa1, 0xf9, 0x62, 0x18, 0x53, + 0xe7, 0xc0, 0x54, 0x3d, 0x1e, 0x09, 0x74, 0xcb, 0x26, 0x9e, 0x6c, 0x72, 0x2f, 0x96, 0x82, 0x44, + 0x11, 0x51, 0x35, 0x89, 0x88, 0xde, 0x87, 0x8d, 0xf4, 0x2a, 0xc3, 0xa7, 0xa2, 0x30, 0xf3, 0x5c, + 0xec, 0xa0, 0xb3, 0x65, 0x07, 0x3c, 0x03, 0xc9, 0x26, 0x2f, 0x9f, 0xc8, 0xc0, 0x1a, 0x7f, 0x52, + 0x81, 0x35, 0x2e, 0xf4, 0xe4, 0x22, 0xb2, 0xc4, 0x79, 0xe5, 0xcc, 0x3e, 0xa7, 0x1c, 0x1c, 0xa1, + 0xd1, 0x70, 0xe4, 0xe9, 0xd8, 0xb7, 0x1c, 0xe2, 0xfb, 0xea, 0xd7, 0x0e, 0xf1, 0x1e, 0xc5, 0x39, + 0xcb, 0x02, 0xfc, 0x35, 0x03, 0x8c, 0x9f, 0xcd, 0x02, 0x0a, 0xab, 0x1c, 0x9c, 0xe7, 0x56, 0xe2, + 0x2b, 0x6e, 0x40, 0x95, 0x95, 0xf6, 0xd0, 0x01, 0x79, 0x8d, 0x58, 0xd4, 0xa6, 0xd2, 0xb5, 0x18, + 0x32, 0xd3, 0x54, 0x38, 0x9d, 0x14, 0x84, 0x4e, 0x3a, 0x6c, 0xa5, 0x92, 0x99, 0x73, 0x4c, 0x51, + 0x05, 0x38, 0xb5, 0x26, 0xc6, 0x97, 0xdd, 0xe2, 0x79, 0x5d, 0x58, 0x0c, 0x28, 0x06, 0xca, 0x0b, + 0x2f, 0x29, 0x9a, 0xcb, 0x05, 0xec, 0x39, 0x91, 0x2c, 0x4d, 0x27, 0x12, 0x02, 0x1b, 0x2d, 0xf2, + 0xdc, 0x32, 0x48, 0x2f, 0x75, 0x86, 0xbc, 0x07, 0x6b, 0x26, 0xf1, 0x03, 0xcb, 0x61, 0xf3, 0x4e, + 0xc4, 0x92, 0x83, 0xa2, 0x5d, 0x58, 0x1a, 0x5e, 0x79, 0x4f, 0x8e, 0xba, 0x1b, 0xcd, 0x78, 0x98, + 0x4b, 0xc7, 0x48, 0x8e, 0x2a, 0xe4, 0x13, 0xcf, 0xd2, 0x6d, 0xeb, 0x27, 0xc4, 0x7c, 0x32, 0xb4, + 0xf7, 0x2f, 0x03, 0x56, 0x1c, 0x49, 0x97, 0x5d, 0xd2, 0xd3, 0xf8, 0xeb, 0x75, 0x58, 0x8a, 0x68, + 0xe9, 0x1e, 0x0a, 0xeb, 0xd5, 0x42, 0x99, 0x47, 0x69, 0xd2, 0x14, 0x0c, 0x9d, 0xc3, 0x2d, 0xff, + 0x65, 0x05, 0x5a, 0xb5, 0xbd, 0x77, 0xf8, 0x9c, 0xaf, 0x2a, 0xd0, 0xc2, 0x57, 0x32, 0xa2, 0xfe, + 0x65, 0xca, 0x33, 0x34, 0x77, 0x82, 0xfe, 0x80, 0xd5, 0xee, 0xa5, 0xb2, 0xc9, 0xfc, 0xb4, 0x99, + 0x90, 0x6a, 0xce, 0x21, 0xa3, 0x87, 0xaf, 0x78, 0x8a, 0x16, 0xce, 0x50, 0xd4, 0x86, 0x4d, 0x52, + 0x2c, 0x2d, 0xe0, 0xa1, 0xf6, 0x8d, 0xc9, 0xc5, 0x07, 0xb8, 0x8c, 0x8c, 0xce, 0x27, 0x1f, 0xbf, + 0x2c, 0x5d, 0x15, 0xbf, 0x14, 0xa3, 0x97, 0x4f, 0x61, 0x45, 0x4f, 0x3d, 0xcb, 0x32, 0xaf, 0x95, + 0x48, 0x32, 0xfd, 0x62, 0x8b, 0x33, 0x88, 0x94, 0x30, 0x13, 0x8b, 0x2c, 0x4f, 0x8c, 0x45, 0x72, + 0x91, 0xc8, 0x5b, 0x30, 0x6f, 0xe8, 0xb6, 0xcd, 0x6e, 0x49, 0xb5, 0xbd, 0x5a, 0xaa, 0x18, 0x19, + 0xb3, 0x0e, 0x86, 0x70, 0xa1, 0x07, 0xcc, 0xef, 0xa5, 0x10, 0x2e, 0xf4, 0x00, 0xb3, 0x0e, 0xba, + 0xea, 0x51, 0xf6, 0x05, 0x84, 0x5d, 0x8c, 0x32, 0x1e, 0x2f, 0xdd, 0x8b, 0xf3, 0xe8, 0x48, 0x85, + 0x6b, 0x46, 0xc9, 0x2b, 0x05, 0x7b, 0x5f, 0x4b, 0x72, 0xa3, 0x65, 0x0f, 0x19, 0xb8, 0x94, 0x10, + 0x3d, 0x99, 0x7c, 0x9d, 0x58, 0x9b, 0xea, 0x32, 0x34, 0xf1, 0x32, 0xf1, 0xd3, 0x0a, 0xdc, 0x39, + 0xd3, 0xfd, 0x00, 0xb3, 0x42, 0x9d, 0xe0, 0x31, 0xb9, 0xbc, 0xb2, 0x06, 0x72, 0x7d, 0xfa, 0x2d, + 0xf6, 0x0a, 0x6c, 0x91, 0x4c, 0x3d, 0x47, 0x3e, 0x75, 0xc7, 0x32, 0x0b, 0xc9, 0xa7, 0x0b, 0xc5, + 0xdc, 0x1e, 0x2e, 0x21, 0xa2, 0x3b, 0xc0, 0x2e, 0x26, 0x82, 0xd8, 0x53, 0x61, 0xb2, 0x03, 0x4a, + 0x52, 0x45, 0xb8, 0x8c, 0x0c, 0x61, 0xd8, 0xf2, 0xca, 0x32, 0x79, 0xac, 0x18, 0x36, 0x79, 0x74, + 0x2d, 0xcd, 0xf6, 0xe1, 0x72, 0x52, 0xea, 0xc6, 0xcc, 0x2b, 0x92, 0x66, 0xbc, 0x90, 0x36, 0x92, + 0xf1, 0x55, 0xf9, 0x35, 0x7c, 0x25, 0x23, 0x64, 0xc2, 0x4d, 0x63, 0x72, 0x62, 0x8d, 0x97, 0xde, + 0x36, 0xe2, 0x1d, 0x32, 0x11, 0x13, 0x5f, 0xc5, 0x86, 0x6e, 0x97, 0x20, 0x1b, 0xac, 0xb3, 0xea, + 0xdc, 0xc9, 0x59, 0xdb, 0x3c, 0x3a, 0xf5, 0x9a, 0x7e, 0x26, 0xeb, 0x53, 0xbf, 0x91, 0xf1, 0x9a, + 0xd9, 0x94, 0x10, 0xce, 0x21, 0x53, 0xe3, 0x39, 0x2f, 0x04, 0x01, 0xf5, 0x5b, 0x19, 0xe3, 0x29, + 0x46, 0x09, 0xb8, 0x84, 0x08, 0xe9, 0x70, 0x23, 0x98, 0x18, 0x38, 0xd7, 0xdf, 0x64, 0x2c, 0xdf, + 0x2e, 0x4f, 0x1f, 0xa4, 0x10, 0xf1, 0x15, 0x4c, 0xe8, 0x62, 0x47, 0x99, 0xc8, 0xaa, 0x7e, 0x3b, + 0xb3, 0xd8, 0x6c, 0xd8, 0x85, 0x73, 0xc8, 0xe8, 0x00, 0x36, 0xcc, 0xfc, 0xf9, 0x5e, 0x7f, 0x2b, + 0xf3, 0x79, 0x50, 0xe1, 0xfc, 0xc7, 0x45, 0x92, 0x14, 0x9f, 0xe4, 0x00, 0xaf, 0xef, 0x94, 0xf1, + 0x49, 0xfa, 0x71, 0x91, 0xa4, 0x11, 0x00, 0x24, 0xb9, 0xd8, 0x6c, 0xa5, 0x7c, 0x25, 0x5f, 0x29, + 0x7f, 0x1d, 0x16, 0xcf, 0x3c, 0x77, 0xd8, 0x09, 0x4f, 0xea, 0x2a, 0xe6, 0x2d, 0xfe, 0x9c, 0x3d, + 0x17, 0x3d, 0x67, 0xe7, 0xeb, 0xf8, 0xe7, 0x0b, 0x75, 0xfc, 0x8d, 0xff, 0xd8, 0x84, 0xda, 0x09, + 0x79, 0x7a, 0x40, 0x74, 0xea, 0xcc, 0x7c, 0xf4, 0x08, 0x56, 0x6d, 0xfd, 0x29, 0xb1, 0x7d, 0x7e, + 0x2b, 0xe1, 0x6f, 0xa1, 0xef, 0xf2, 0x95, 0xa4, 0x50, 0xef, 0x9e, 0x48, 0xfb, 0x83, 0x03, 0x49, + 0xd4, 0xfa, 0x58, 0xea, 0x0d, 0x0e, 0xda, 0xe2, 0x21, 0xce, 0x92, 0xa2, 0x1f, 0xc3, 0xf5, 0xe7, + 0xae, 0x35, 0x92, 0x1d, 0xd3, 0x7a, 0x6e, 0x99, 0x63, 0xdd, 0x56, 0xc7, 0xc1, 0xb9, 0x6b, 0x39, + 0xe7, 0xfc, 0x95, 0x7c, 0x3a, 0xa6, 0x13, 0x78, 0xa0, 0x87, 0x3c, 0x36, 0xf5, 0x8f, 0x3f, 0x66, + 0x2b, 0x9e, 0x96, 0x5f, 0x4c, 0x85, 0xda, 0xb0, 0x16, 0xfd, 0x6f, 0x7a, 0x24, 0xba, 0xd1, 0x4e, + 0xcb, 0x27, 0x47, 0x4b, 0xb9, 0x19, 0x17, 0xba, 0x73, 0xce, 0xd3, 0xbf, 0xc7, 0x7b, 0x2c, 0xe2, + 0x98, 0x9a, 0x5b, 0x96, 0x96, 0xca, 0xee, 0xab, 0x31, 0xf1, 0x2e, 0x7b, 0x81, 0x1e, 0x8c, 0xfd, + 0xe3, 0x8f, 0x93, 0xe0, 0x77, 0xf1, 0x55, 0x64, 0x57, 0xce, 0x83, 0x69, 0x39, 0xe5, 0xa3, 0x7d, + 0xfe, 0x36, 0x3c, 0xad, 0x96, 0xd3, 0xa4, 0xa8, 0x05, 0xc0, 0x46, 0x39, 0x76, 0xa2, 0xf2, 0xb8, + 0x69, 0x19, 0xa5, 0xe8, 0x8a, 0xb6, 0x22, 0x3b, 0x86, 0x3b, 0xa4, 0xb6, 0xb2, 0xfc, 0xfa, 0xb6, + 0x12, 0xf1, 0x40, 0x18, 0x36, 0xe2, 0x6f, 0xb4, 0x2c, 0xe2, 0x7f, 0x41, 0xc7, 0xe5, 0x75, 0xa4, + 0xd3, 0x31, 0x2e, 0x92, 0x53, 0xfb, 0x1b, 0x85, 0x6e, 0xdc, 0x67, 0x11, 0xd0, 0xd4, 0xf6, 0x17, + 0x51, 0xa1, 0x2e, 0x08, 0xdc, 0x01, 0x77, 0x75, 0xe3, 0x59, 0x38, 0xa9, 0x95, 0x57, 0xe0, 0x54, + 0xa0, 0x46, 0x1a, 0xa0, 0x8c, 0x72, 0x0e, 0x2c, 0x47, 0xb7, 0x59, 0xb0, 0x34, 0x2d, 0xcf, 0x12, + 0x7a, 0xaa, 0xe1, 0x70, 0x63, 0x4b, 0xa6, 0x15, 0xb0, 0x30, 0x69, 0x6a, 0x0d, 0x27, 0x74, 0xe8, + 0x00, 0x6a, 0x2c, 0xd1, 0xde, 0x1f, 0xd9, 0xae, 0x6e, 0xb2, 0xf8, 0x67, 0x5a, 0x36, 0x69, 0x42, + 0x74, 0x06, 0x37, 0x53, 0x4d, 0x6c, 0x19, 0x17, 0x5f, 0xa4, 0x74, 0xc3, 0xc2, 0x93, 0x69, 0xf9, + 0x5e, 0xc5, 0x08, 0xfd, 0x10, 0x96, 0x9e, 0x53, 0xd3, 0x3c, 0xde, 0xe3, 0x35, 0x4f, 0xd3, 0xf1, + 0x8c, 0x88, 0xa8, 0x76, 0x59, 0x38, 0x1d, 0xd5, 0xb2, 0xf5, 0x3d, 0x9b, 0x7d, 0x59, 0x30, 0xb5, + 0x76, 0xf3, 0xd4, 0x74, 0xd7, 0xfa, 0x6c, 0x2b, 0x63, 0xdd, 0x79, 0x46, 0xb7, 0xc6, 0xd6, 0xab, + 0xec, 0xda, 0x0c, 0x29, 0x3a, 0x86, 0xcd, 0xec, 0x5e, 0x61, 0x17, 0x01, 0x16, 0x8c, 0x4d, 0xcb, + 0xb1, 0x8c, 0x01, 0xb5, 0xc0, 0xe0, 0xc2, 0xf2, 0xcc, 0xae, 0xee, 0x05, 0x97, 0x3c, 0xdc, 0xf0, + 0x59, 0x20, 0x36, 0xb5, 0x05, 0x16, 0xe9, 0x91, 0x09, 0x37, 0xce, 0x58, 0x08, 0xe8, 0x04, 0xf6, + 0x65, 0xfc, 0xd1, 0x54, 0x8f, 0x04, 0x01, 0x15, 0x43, 0xfd, 0x15, 0xb8, 0x5f, 0xc1, 0x87, 0xfa, + 0x20, 0xee, 0xd3, 0xef, 0x3f, 0x72, 0x2d, 0xa7, 0x4b, 0xbc, 0xa1, 0xe5, 0xfb, 0xd1, 0x47, 0x52, + 0x53, 0xfb, 0xa0, 0x72, 0x1e, 0xf4, 0x7c, 0xf0, 0x88, 0x41, 0x9c, 0x20, 0x96, 0xca, 0x8d, 0x57, + 0x39, 0x1f, 0xb2, 0xb4, 0xd4, 0x3a, 0x0d, 0x3d, 0xd0, 0x6d, 0xf7, 0xbc, 0x7e, 0xf3, 0x55, 0xac, + 0x93, 0x13, 0x21, 0x05, 0xd6, 0xfd, 0x40, 0xf7, 0x3c, 0x62, 0xc6, 0xd3, 0xb9, 0xf5, 0x0a, 0x7c, + 0xf2, 0xc4, 0xd4, 0x36, 0xa9, 0x39, 0xb0, 0xe8, 0x90, 0x5e, 0x11, 0x59, 0x88, 0x37, 0xb5, 0x6d, + 0x66, 0x48, 0xe9, 0xdc, 0xf2, 0x71, 0xf0, 0xed, 0x57, 0x99, 0x5b, 0x3e, 0x2a, 0xbe, 0x80, 0x5b, + 0x39, 0x50, 0x52, 0xda, 0x69, 0x05, 0x97, 0x2c, 0xe8, 0x9b, 0x96, 0xf9, 0x95, 0x9c, 0xe8, 0x39, + 0x13, 0x17, 0xea, 0x71, 0x04, 0x9f, 0xc5, 0x82, 0x53, 0x9f, 0x33, 0x05, 0xf2, 0xc6, 0x13, 0xd8, + 0x28, 0xe0, 0xa1, 0x75, 0xa8, 0x29, 0xaa, 0x36, 0xe8, 0x69, 0x22, 0xd6, 0xa4, 0x96, 0x30, 0x83, + 0x36, 0x60, 0xf5, 0x40, 0xc5, 0x4d, 0x69, 0xd0, 0xef, 0x1e, 0x62, 0xb1, 0x25, 0x85, 0x05, 0x4e, + 0x2d, 0xe9, 0x58, 0x6a, 0xab, 0xdd, 0x8e, 0xa4, 0x68, 0xc2, 0x2c, 0x5a, 0x03, 0xe8, 0x62, 0xb5, + 0xd5, 0x6f, 0x6a, 0xb2, 0xaa, 0x08, 0x73, 0x8d, 0xbf, 0xaf, 0xc0, 0xb6, 0xa6, 0x3f, 0xb5, 0x49, + 0xa0, 0xb8, 0x81, 0x75, 0x66, 0x71, 0xa7, 0xcf, 0x52, 0xca, 0x99, 0xa2, 0xa7, 0xb0, 0xf4, 0x21, + 0x01, 0xd0, 0xb8, 0x72, 0xec, 0x78, 0x44, 0x37, 0xe9, 0x65, 0x3f, 0x7a, 0xb1, 0x4f, 0x83, 0xd0, + 0x5d, 0x40, 0x0e, 0x65, 0x1a, 0x45, 0xeb, 0x61, 0x2a, 0x35, 0xcc, 0x4b, 0x97, 0xf4, 0xa0, 0x16, + 0xac, 0x66, 0xa0, 0xf5, 0x85, 0x4c, 0x2d, 0x4d, 0x7a, 0x82, 0xb1, 0xe4, 0xcf, 0x5c, 0x9c, 0x25, + 0x6a, 0xfc, 0x79, 0x05, 0xb6, 0x27, 0xa0, 0x4e, 0x57, 0xc6, 0x39, 0x75, 0xde, 0x0e, 0xdd, 0x01, + 0x81, 0xff, 0x4d, 0xde, 0x93, 0xe7, 0x98, 0x9c, 0x0a, 0xf0, 0x29, 0xc2, 0xf0, 0xbf, 0xad, 0xc0, + 0xb5, 0x13, 0xf2, 0xf4, 0xd7, 0xaf, 0x87, 0x1f, 0xc0, 0x5a, 0x06, 0xea, 0x73, 0x45, 0x6c, 0x25, + 0xe6, 0x9b, 0x96, 0x7f, 0x0e, 0xb9, 0xf1, 0xf3, 0x79, 0xa8, 0xf1, 0xcb, 0x2d, 0x9b, 0xfe, 0x54, + 0x25, 0x34, 0x06, 0xb1, 0x9e, 0x87, 0x49, 0xed, 0xb8, 0x84, 0x26, 0x06, 0xa1, 0x1f, 0xc2, 0x62, + 0x78, 0x72, 0xf1, 0xe0, 0xfc, 0xbd, 0xe8, 0x76, 0x97, 0x8c, 0x72, 0xb7, 0x2b, 0x9e, 0x52, 0x13, + 0x0f, 0xbf, 0x88, 0xee, 0x69, 0xa2, 0xd6, 0xef, 0x61, 0x4e, 0x85, 0xf6, 0xe0, 0x5a, 0xe0, 0xe9, + 0x8e, 0x1f, 0x7e, 0x02, 0x9e, 0xad, 0xc3, 0x99, 0xc7, 0xa5, 0x7d, 0xe5, 0x75, 0x4b, 0x8b, 0xd3, + 0xd7, 0x2d, 0x95, 0xd5, 0xfd, 0x2c, 0xb1, 0xf1, 0xf2, 0x60, 0x56, 0x63, 0x31, 0xa6, 0xde, 0x60, + 0xe4, 0xb9, 0xee, 0x19, 0x31, 0x79, 0x11, 0x7c, 0x16, 0x88, 0x6e, 0xa4, 0x6a, 0xf2, 0xc2, 0xc7, + 0xd1, 0xb8, 0xdd, 0xf8, 0xc7, 0x0a, 0x6c, 0x96, 0x08, 0x00, 0x21, 0x58, 0xeb, 0x2b, 0x8f, 0x15, + 0xf5, 0x44, 0xe1, 0x10, 0x61, 0x86, 0x7b, 0x80, 0xa6, 0xd4, 0xeb, 0xc9, 0xca, 0xa1, 0x50, 0x41, + 0x55, 0x98, 0xef, 0x85, 0xbe, 0x01, 0xc1, 0x9a, 0x22, 0x49, 0xad, 0x81, 0xa6, 0x0e, 0xc4, 0x66, + 0x53, 0xea, 0x6a, 0x61, 0x31, 0x66, 0x53, 0xed, 0x74, 0xdb, 0x92, 0x26, 0x09, 0xf3, 0xe8, 0x3a, + 0xa0, 0xa6, 0xda, 0x6f, 0xb7, 0x06, 0xd4, 0xf1, 0xc4, 0x70, 0x56, 0x98, 0x89, 0xa5, 0x83, 0xbe, + 0xd2, 0x92, 0x5a, 0xc2, 0x22, 0xaa, 0xc1, 0x92, 0xf4, 0xa4, 0x2b, 0x63, 0xa9, 0x25, 0x2c, 0x85, + 0x5d, 0x8f, 0xa4, 0x26, 0x75, 0x51, 0x55, 0xb4, 0x0a, 0xcb, 0x4d, 0x51, 0x69, 0x4a, 0xed, 0xb6, + 0xd4, 0x12, 0x96, 0xd1, 0x16, 0x6c, 0x9c, 0x88, 0xb2, 0x26, 0x2b, 0x87, 0x83, 0x03, 0x15, 0x0f, + 0xba, 0xe2, 0xa9, 0x84, 0x05, 0xa0, 0x0c, 0x38, 0x58, 0xa8, 0x35, 0xfe, 0xe1, 0x06, 0xac, 0x65, + 0x2d, 0x2e, 0xd9, 0xc6, 0xb3, 0xbf, 0xf2, 0x6d, 0x2c, 0xe5, 0x4c, 0xf1, 0x83, 0xd2, 0x3d, 0xc1, + 0xbc, 0x7a, 0x54, 0x8e, 0x5d, 0x66, 0x91, 0x39, 0x6f, 0xb0, 0x50, 0xfc, 0xb8, 0xfe, 0x3a, 0x2c, + 0x5a, 0xe7, 0x8e, 0xeb, 0x85, 0x89, 0xbb, 0x2a, 0xe6, 0x2d, 0xf6, 0xfd, 0x45, 0x78, 0xee, 0xb2, + 0x77, 0x9d, 0x2a, 0x8e, 0x9a, 0xd4, 0x4d, 0x3c, 0xf5, 0x5c, 0xdd, 0x34, 0x74, 0x3f, 0xe0, 0x1f, + 0x98, 0x25, 0x00, 0x6a, 0x3e, 0xa3, 0xb1, 0x7f, 0xc1, 0x5e, 0x57, 0x36, 0x43, 0xf3, 0x89, 0xda, + 0xe8, 0x3e, 0x6c, 0xb1, 0x28, 0xb8, 0x69, 0x8d, 0x2e, 0x88, 0x17, 0x90, 0x17, 0x01, 0x2f, 0xf6, + 0xb9, 0xc6, 0x5e, 0x1b, 0xca, 0x3b, 0xe9, 0x78, 0xc3, 0xb1, 0x1d, 0x58, 0x6c, 0xbc, 0xad, 0x70, + 0xbc, 0x18, 0x40, 0xe7, 0x39, 0xf6, 0x6c, 0xf6, 0xd6, 0x19, 0x7e, 0xea, 0x1e, 0x35, 0x29, 0xdd, + 0xd8, 0xb3, 0x79, 0xd9, 0xd4, 0x76, 0x48, 0x17, 0x03, 0xd0, 0x29, 0xac, 0x73, 0xa1, 0xf7, 0x82, + 0xf1, 0x53, 0xf6, 0xb1, 0x5f, 0x18, 0xdb, 0x7d, 0x38, 0xb5, 0xa4, 0xfb, 0xfb, 0xac, 0x46, 0x39, + 0xcf, 0x87, 0x3a, 0x22, 0xc3, 0x26, 0xba, 0xd7, 0xa1, 0xcb, 0x61, 0xf1, 0x5c, 0x15, 0xa7, 0x20, + 0xa1, 0x18, 0x62, 0x92, 0xb8, 0x58, 0x93, 0x06, 0x69, 0x73, 0xbb, 0xcb, 0xb8, 0xbc, 0x93, 0x0a, + 0xd6, 0x1c, 0xf3, 0xb7, 0xad, 0x9b, 0xcc, 0xa7, 0xc6, 0x6d, 0xaa, 0xc4, 0xf0, 0xf6, 0x53, 0xbf, + 0x15, 0x56, 0x9e, 0x86, 0x2d, 0x74, 0x9f, 0xaa, 0x3f, 0xf6, 0x5d, 0x3c, 0x15, 0x86, 0x8a, 0x5e, + 0x0d, 0xa7, 0xd1, 0xd0, 0x11, 0x6c, 0x9c, 0xd1, 0xcb, 0x58, 0x3a, 0xdf, 0xca, 0xf3, 0x5d, 0x57, + 0xa5, 0x62, 0x8b, 0x44, 0xe8, 0x21, 0xbd, 0x0b, 0xbb, 0x01, 0x31, 0x53, 0x63, 0xf1, 0xbc, 0x57, + 0xd9, 0x2c, 0x8a, 0xc8, 0xe8, 0x01, 0x6c, 0xc7, 0x61, 0x4a, 0x2f, 0xd0, 0xbd, 0x20, 0xd9, 0x3a, + 0x3b, 0x6c, 0xeb, 0x4c, 0xea, 0x66, 0x9f, 0x5b, 0x47, 0x5d, 0xad, 0x48, 0x70, 0x6f, 0xf3, 0xcf, + 0xad, 0xf3, 0x1d, 0x0d, 0x0b, 0xb6, 0x27, 0xec, 0x25, 0xb4, 0x0c, 0x0b, 0x12, 0xc6, 0x2a, 0x16, + 0x66, 0xa8, 0xc3, 0xe8, 0x4a, 0x4a, 0x2b, 0x74, 0x68, 0x6b, 0x00, 0x3d, 0x09, 0x1f, 0x4b, 0x78, + 0x20, 0x36, 0x1f, 0x0b, 0xb3, 0x48, 0x80, 0x95, 0x96, 0xd4, 0x96, 0x8f, 0x25, 0x7c, 0xca, 0x20, + 0x73, 0xd4, 0xe5, 0x61, 0x49, 0x6c, 0x85, 0xd5, 0xe5, 0xdd, 0xb6, 0x78, 0x2a, 0xb5, 0x84, 0x85, + 0xc6, 0xbf, 0x6e, 0xc0, 0x1b, 0x13, 0xad, 0x89, 0x0e, 0xc1, 0x5d, 0xa9, 0x30, 0x93, 0xfa, 0xb8, + 0x82, 0x0d, 0xd7, 0x94, 0xbb, 0x47, 0x12, 0xd6, 0xa4, 0x27, 0xd4, 0x8b, 0xae, 0x43, 0xed, 0xa0, + 0x4f, 0xc3, 0xb4, 0x2e, 0x56, 0xd5, 0x03, 0x61, 0x0e, 0xdd, 0x84, 0x6d, 0x45, 0x55, 0x06, 0xc7, + 0x12, 0x96, 0x0f, 0x64, 0xea, 0x5e, 0xb1, 0xa8, 0xf4, 0x64, 0x16, 0x7f, 0xcd, 0xa3, 0x37, 0x60, + 0xab, 0xaf, 0x94, 0x75, 0x2d, 0xa0, 0x6d, 0xd8, 0x2c, 0xeb, 0x58, 0x44, 0x75, 0xb8, 0x16, 0x77, + 0xb4, 0xd5, 0x93, 0x41, 0x34, 0xaf, 0x25, 0x1a, 0x01, 0xc6, 0x3d, 0x47, 0xf2, 0xe1, 0x91, 0x50, + 0x45, 0xb7, 0xa0, 0x1e, 0x83, 0x64, 0x45, 0xd6, 0x64, 0xb1, 0x1d, 0x13, 0x2c, 0x67, 0x58, 0x45, + 0xbd, 0x6d, 0xf5, 0x44, 0x00, 0x3a, 0xb1, 0x42, 0x0f, 0x63, 0x59, 0x43, 0xef, 0xc0, 0x5b, 0x25, + 0x13, 0x1b, 0x88, 0xca, 0x29, 0x3d, 0x3a, 0xd8, 0x77, 0x3b, 0x2b, 0x2f, 0x41, 0x62, 0x9c, 0x56, + 0x27, 0x21, 0xd1, 0x5e, 0x8a, 0x45, 0x67, 0xb2, 0x86, 0xbe, 0x0d, 0xef, 0x5c, 0x85, 0x14, 0x2d, + 0x66, 0x1d, 0xbd, 0x07, 0x8d, 0x32, 0xc4, 0xe8, 0x04, 0xe4, 0x0c, 0x85, 0x49, 0x78, 0x54, 0x94, + 0x29, 0x7e, 0x1b, 0x93, 0x66, 0x47, 0x17, 0x18, 0x31, 0x43, 0x93, 0x66, 0x17, 0x21, 0x45, 0xdc, + 0x36, 0xa9, 0x19, 0x1e, 0x62, 0xb5, 0xdf, 0x1d, 0x34, 0xb1, 0x24, 0x6a, 0x92, 0x70, 0x8d, 0x0a, + 0x9f, 0x43, 0x8e, 0x44, 0xe5, 0x50, 0x1a, 0xf4, 0xfa, 0xfb, 0xf4, 0xa0, 0x14, 0xb6, 0xe8, 0xb9, + 0x98, 0xe9, 0x91, 0x9b, 0xaa, 0x22, 0x5c, 0xa7, 0xba, 0xcc, 0x82, 0x95, 0x63, 0x59, 0x93, 0x06, + 0x6d, 0x59, 0x79, 0x2c, 0x6c, 0x17, 0x7a, 0x5b, 0x52, 0xaf, 0x89, 0xe5, 0x2e, 0x33, 0x9a, 0x3a, + 0xd5, 0x67, 0xa6, 0x17, 0x4b, 0x3d, 0x0d, 0xcb, 0x4d, 0x4d, 0x78, 0xa3, 0xd0, 0x25, 0x2a, 0x8a, + 0xda, 0x57, 0x9a, 0x92, 0x70, 0x23, 0xe9, 0xea, 0x8a, 0x58, 0x93, 0x9b, 0x72, 0x57, 0x54, 0xb4, + 0x81, 0xd8, 0x6a, 0x09, 0x37, 0x93, 0xe1, 0xd2, 0x5d, 0x58, 0xea, 0xa8, 0xc7, 0x92, 0x70, 0x0b, + 0xbd, 0x09, 0x6f, 0x14, 0x7b, 0xbb, 0x58, 0xed, 0xa8, 0x9a, 0x24, 0xbc, 0x59, 0x4e, 0xdc, 0x92, + 0x58, 0xef, 0xed, 0xf2, 0xde, 0x70, 0xb1, 0xc2, 0x5b, 0x74, 0x3f, 0x15, 0x7b, 0xdb, 0x92, 0x78, + 0x2c, 0x09, 0x3b, 0x54, 0x67, 0xc5, 0x4e, 0xbe, 0x2e, 0xa5, 0xdf, 0xd9, 0x97, 0xb0, 0xf0, 0x36, + 0xba, 0x06, 0xc2, 0x3e, 0x56, 0xc5, 0x56, 0x53, 0xec, 0x69, 0x91, 0x3a, 0x1a, 0xe1, 0x97, 0xd2, + 0x11, 0x94, 0xae, 0xf1, 0x9d, 0x2c, 0x22, 0x5f, 0xdb, 0xbb, 0x4c, 0x6f, 0x92, 0x22, 0x61, 0xb9, + 0x49, 0xe3, 0x20, 0xf9, 0x40, 0x6e, 0x8a, 0x4c, 0xc8, 0xdf, 0xa2, 0x3d, 0xd2, 0x9e, 0x34, 0x90, + 0x5b, 0x92, 0xa2, 0xc9, 0xda, 0x29, 0x1f, 0xb8, 0x25, 0xbc, 0x47, 0x99, 0xd3, 0x1e, 0x49, 0x69, + 0xe2, 0xd3, 0x2e, 0x8d, 0x85, 0xbe, 0x4d, 0x95, 0xdc, 0x14, 0xdb, 0xed, 0x41, 0x47, 0xee, 0xf5, + 0xa4, 0xd6, 0xe0, 0x58, 0x95, 0x9b, 0x92, 0xb0, 0x5b, 0x00, 0xb3, 0x2f, 0xaa, 0xbf, 0x43, 0x65, + 0x22, 0x2b, 0x2d, 0xf9, 0x58, 0x6e, 0xf5, 0xc5, 0x76, 0x6e, 0x45, 0x77, 0x12, 0xe3, 0x6a, 0x49, + 0x2c, 0x24, 0xfb, 0x5f, 0xd4, 0xc8, 0x43, 0x48, 0xa4, 0xcd, 0x41, 0x47, 0x6d, 0x49, 0xb1, 0x73, + 0xdb, 0x0f, 0x35, 0xfc, 0x3e, 0x95, 0x66, 0x7a, 0xb8, 0x90, 0x26, 0x9c, 0xcb, 0x07, 0x13, 0x3a, + 0xd9, 0x8c, 0xee, 0xd2, 0x60, 0x30, 0x8a, 0x39, 0x53, 0x0e, 0xf0, 0x43, 0xea, 0xb7, 0x22, 0x78, + 0xda, 0x11, 0xde, 0x43, 0xef, 0xc3, 0x6e, 0xd4, 0xc1, 0x76, 0x8a, 0xc8, 0x2e, 0xa1, 0xdc, 0x9d, + 0x0f, 0xfa, 0x5d, 0xf6, 0xf5, 0xce, 0x81, 0x28, 0xd3, 0xd8, 0xf0, 0x23, 0x74, 0x17, 0xee, 0xbc, + 0x1c, 0x3b, 0x8e, 0x3a, 0xf7, 0xd0, 0xc7, 0xf0, 0xe1, 0xb4, 0xf8, 0xd1, 0x20, 0x1f, 0xa3, 0xef, + 0xc2, 0x47, 0x57, 0x10, 0x61, 0xa9, 0x29, 0xd1, 0x73, 0x63, 0xc0, 0x0f, 0x97, 0x41, 0x4f, 0xd2, + 0xfa, 0x5d, 0xe1, 0x3e, 0xfa, 0x3e, 0x3c, 0x98, 0x86, 0xac, 0xd7, 0x6f, 0xd2, 0x38, 0x7b, 0x20, + 0x1e, 0x68, 0x12, 0x1e, 0x1c, 0xc9, 0xcd, 0x66, 0xbf, 0x2b, 0x7c, 0x17, 0x7d, 0x07, 0xbe, 0x15, + 0x51, 0x73, 0x42, 0xb1, 0xd9, 0x54, 0xfb, 0x8a, 0x16, 0xf2, 0xa7, 0x86, 0x26, 0x2b, 0x2d, 0x09, + 0x0b, 0x9f, 0xa0, 0x5d, 0x78, 0x37, 0x87, 0xda, 0x93, 0x94, 0xd6, 0x20, 0x82, 0xc5, 0x98, 0x9f, + 0xa2, 0x3b, 0xf0, 0xde, 0x55, 0x98, 0x6c, 0xf7, 0x84, 0x66, 0xfa, 0x80, 0x6e, 0x92, 0x1c, 0x2e, + 0x96, 0xbe, 0xe8, 0x4b, 0x3d, 0xba, 0x05, 0x9b, 0x6d, 0x59, 0x91, 0x5a, 0xc2, 0x67, 0xa8, 0x01, + 0xb7, 0x27, 0x20, 0x45, 0xc1, 0xfd, 0xf7, 0xd0, 0xbb, 0xb0, 0x33, 0x01, 0x27, 0x89, 0xf2, 0x3f, + 0xa7, 0xeb, 0xdd, 0x97, 0xbf, 0x2c, 0x3b, 0x00, 0x07, 0x9a, 0xda, 0xa5, 0x5e, 0x72, 0x5f, 0xd5, + 0x34, 0xb5, 0x23, 0x7c, 0xff, 0x2a, 0xd4, 0x10, 0x87, 0x62, 0x6b, 0x6a, 0x57, 0xf8, 0x01, 0xdb, + 0xae, 0xf2, 0x97, 0x03, 0x59, 0xd1, 0x70, 0x08, 0xfa, 0x21, 0xdb, 0xae, 0x31, 0x88, 0xf3, 0xfc, + 0x11, 0xda, 0x84, 0x75, 0x0a, 0x55, 0xc4, 0x8e, 0xc4, 0xf7, 0x8d, 0xf0, 0x90, 0x6e, 0x27, 0x0a, + 0xa4, 0x3b, 0x9a, 0xb2, 0x6c, 0xaa, 0x4a, 0xaf, 0xdf, 0xa1, 0x21, 0x43, 0xb7, 0x2b, 0x88, 0xe8, + 0x36, 0xdc, 0xa0, 0xbd, 0xda, 0x89, 0x3a, 0xd0, 0x64, 0x09, 0x0f, 0x3a, 0xf2, 0x21, 0x16, 0xa3, + 0x09, 0x0b, 0xfb, 0xe8, 0x6d, 0x78, 0x73, 0x42, 0x3f, 0x1f, 0xb5, 0x49, 0x6f, 0x3a, 0xea, 0xb1, + 0x84, 0x7b, 0xf2, 0x97, 0x52, 0x4b, 0x68, 0x51, 0x45, 0x66, 0x7c, 0xac, 0xa2, 0x0e, 0x0e, 0x98, + 0xac, 0x14, 0xad, 0x7d, 0x4a, 0x2f, 0x3f, 0x27, 0x22, 0xa6, 0x76, 0x2c, 0x25, 0xce, 0xef, 0xf8, + 0x3e, 0xf5, 0x42, 0x91, 0x93, 0x67, 0x77, 0xb4, 0x83, 0x64, 0x5b, 0xe7, 0x1c, 0x72, 0x2c, 0xf8, + 0x47, 0xaa, 0xac, 0x08, 0x87, 0x94, 0x0b, 0x1f, 0xa9, 0xf8, 0xe5, 0xe7, 0xd1, 0x7f, 0x05, 0x00, + 0x00, 0xff, 0xff, 0x82, 0xf8, 0x8e, 0x8c, 0x92, 0x52, 0x00, 0x00, } diff --git a/vendor/github.com/Rhymen/go-whatsapp/binary/proto/def.proto b/vendor/github.com/Rhymen/go-whatsapp/binary/proto/def.proto index d5f70cc1..6d4006d7 100644 --- a/vendor/github.com/Rhymen/go-whatsapp/binary/proto/def.proto +++ b/vendor/github.com/Rhymen/go-whatsapp/binary/proto/def.proto @@ -3,7 +3,7 @@ package proto; message HydratedQuickReplyButton { optional string displayText = 1; - optional string buttonId = 2; + optional string id = 2; } message HydratedURLButton { @@ -17,6 +17,7 @@ message HydratedCallButton { } message HydratedTemplateButton { + optional uint32 index = 4; oneof hydratedButton { HydratedQuickReplyButton quickReplyButton = 1; HydratedURLButton urlButton = 2; @@ -26,7 +27,7 @@ message HydratedTemplateButton { message QuickReplyButton { optional HighlyStructuredMessage displayText = 1; - optional string buttonId = 2; + optional string id = 2; } message URLButton { @@ -40,6 +41,7 @@ message CallButton { } message TemplateButton { + optional uint32 index = 4; oneof button { QuickReplyButton quickReplyButton = 1; URLButton urlButton = 2; @@ -89,6 +91,8 @@ message ContextInfo { optional uint32 forwardingScore = 21; optional bool isForwarded = 22; optional AdReplyInfo quotedAd = 23; + optional MessageKey placeholderKey = 24; + optional uint32 expiration = 25; } message SenderKeyDistributionMessage { @@ -114,6 +118,10 @@ message ImageMessage { optional bytes firstScanSidecar = 18; optional uint32 firstScanLength = 19; optional uint32 experimentGroupId = 20; + optional bytes scansSidecar = 21; + repeated uint32 scanLengths = 22; + optional bytes midQualityFileSha256 = 23; + optional bytes midQualityFileEncSha256 = 24; } message ContactMessage { @@ -156,6 +164,7 @@ message ExtendedTextMessage { optional EXTENDED_TEXT_MESSAGE_PREVIEWTYPE previewType = 10; optional bytes jpegThumbnail = 16; optional ContextInfo contextInfo = 17; + optional bool doNotPlayInline = 18; } message DocumentMessage { @@ -228,8 +237,10 @@ message ProtocolMessage { optional MessageKey key = 1; enum PROTOCOL_MESSAGE_TYPE { REVOKE = 0; + EPHEMERAL_SETTING = 3; } optional PROTOCOL_MESSAGE_TYPE type = 2; + optional uint32 ephemeralExpiration = 4; } message ContactsArrayMessage { @@ -294,6 +305,7 @@ message HighlyStructuredMessage { repeated HSMLocalizableParameter localizableParams = 6; optional string deterministicLg = 7; optional string deterministicLc = 8; + optional TemplateMessage hydratedHsm = 9; } message SendPaymentMessage { @@ -341,7 +353,8 @@ message StickerMessage { optional string directPath = 8; optional uint64 fileLength = 9; optional int64 mediaKeyTimestamp = 10; - optional bytes pngThumbnail = 16; + optional uint32 firstFrameLength = 11; + optional bytes firstFrameSidecar = 12; optional ContextInfo contextInfo = 17; } @@ -361,7 +374,8 @@ message FourRowTemplate { message HydratedFourRowTemplate { optional string hydratedContentText = 6; optional string hydratedFooterText = 7; - repeated HydratedTemplateButton hydratedButtons = 9; + repeated HydratedTemplateButton hydratedButtons = 8; + optional string templateId = 9; oneof title { DocumentMessage documentMessage = 1; string hydratedTitleText = 2; @@ -372,6 +386,8 @@ message HydratedFourRowTemplate { } message TemplateMessage { + optional ContextInfo contextInfo = 3; + optional HydratedFourRowTemplate hydratedTemplate = 4; oneof format { FourRowTemplate fourRowTemplate = 1; HydratedFourRowTemplate hydratedFourRowTemplate = 2; @@ -379,9 +395,10 @@ message TemplateMessage { } message TemplateButtonReplyMessage { - optional string selectedButtonId = 1; - repeated string selectedButtonDisplayText = 2; + optional string selectedId = 1; + optional string selectedDisplayText = 2; optional ContextInfo contextInfo = 3; + optional uint32 selectedIndex = 4; } message ProductSnapshot { @@ -394,6 +411,7 @@ message ProductSnapshot { optional string retailerId = 7; optional string url = 8; optional uint32 productImageCount = 9; + optional string firstImageId = 11; } message ProductMessage { @@ -409,6 +427,16 @@ message GroupInviteMessage { optional string groupName = 4; optional bytes jpegThumbnail = 5; optional string caption = 6; + optional ContextInfo contextInfo = 7; +} + +message DeviceSentMessage { + optional string destinationJid = 1; + optional Message message = 2; +} + +message DeviceSyncMessage { + optional bytes serializedXmlBytes = 1; } message Message { @@ -434,8 +462,11 @@ message Message { optional CancelPaymentRequestMessage cancelPaymentRequestMessage = 24; optional TemplateMessage templateMessage = 25; optional StickerMessage stickerMessage = 26; - optional ProductMessage productMessage = 27; optional GroupInviteMessage groupInviteMessage = 28; + optional TemplateButtonReplyMessage templateButtonReplyMessage = 29; + optional ProductMessage productMessage = 30; + optional DeviceSentMessage deviceSentMessage = 31; + optional DeviceSyncMessage deviceSyncMessage = 32; } message MessageKey { @@ -447,9 +478,10 @@ message MessageKey { message WebFeatures { enum WEB_FEATURES_FLAG { - NOT_IMPLEMENTED = 0; - IMPLEMENTED = 1; - OPTIONAL = 2; + NOT_STARTED = 0; + FORCE_UPGRADE = 1; + DEVELOPMENT = 2; + PRODUCTION = 3; } optional WEB_FEATURES_FLAG labelsDisplay = 1; optional WEB_FEATURES_FLAG voipIndividualOutgoing = 2; @@ -473,6 +505,14 @@ message WebFeatures { optional WEB_FEATURES_FLAG voipIndividualVideo = 22; optional WEB_FEATURES_FLAG thirdPartyStickers = 23; optional WEB_FEATURES_FLAG frequentlyForwardedSetting = 24; + optional WEB_FEATURES_FLAG groupsV4JoinPermission = 25; + optional WEB_FEATURES_FLAG recentStickers = 26; + optional WEB_FEATURES_FLAG catalog = 27; + optional WEB_FEATURES_FLAG starredStickers = 28; + optional WEB_FEATURES_FLAG voipGroupCall = 29; + optional WEB_FEATURES_FLAG templateMessage = 30; + optional WEB_FEATURES_FLAG templateMessageInteractivity = 31; + optional WEB_FEATURES_FLAG ephemeralMessages = 32; } message TabletNotificationsInfo { @@ -614,6 +654,9 @@ message WebMessageInfo { 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; } optional WEB_MESSAGE_INFO_STUBTYPE messageStubType = 24; optional bool clearMedia = 25; @@ -623,4 +666,6 @@ message WebMessageInfo { optional PaymentInfo paymentInfo = 29; optional LiveLocationMessage finalLiveLocation = 30; optional PaymentInfo quotedPaymentInfo = 31; -} + optional uint64 ephemeralStartTimestamp = 32; + optional uint32 ephemeralDuration = 33; +}
\ No newline at end of file |