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

package channel_points_custom_reward

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "code.justin.tv/eventbus/schema/pkg/eventbus/owner"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import wrappers "github.com/golang/protobuf/ptypes/wrappers"

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

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

// ChannelPointsCustomRewardCreate triggers when a new custom reward is created on a channel.
type ChannelPointsCustomRewardCreate struct {
	// The reward’s unique ID.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The ID of the channel the reward belongs to.
	UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// CDN URLs for reward icons at different resolutions.
	Image *ImageURLs `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"`
	// Background color for reward icons in hex.
	BackgroundColor string `protobuf:"bytes,4,opt,name=background_color,json=backgroundColor,proto3" json:"background_color,omitempty"`
	// Whether this reward is enabled by the broadcaster. Disabled rewards won't show to viewers.
	Enabled bool `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// Whether this reward is usable by subs only.
	SubOnly bool `protobuf:"varint,6,opt,name=sub_only,json=subOnly,proto3" json:"sub_only,omitempty"`
	// Number of points a reward costs to redeem.
	Cost int64 `protobuf:"varint,7,opt,name=cost,proto3" json:"cost,omitempty"`
	// A short title used to describe the reward.
	Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"`
	// The user-facing prompt that will be shown when users want to redeem the reward.
	Prompt string `protobuf:"bytes,9,opt,name=prompt,proto3" json:"prompt,omitempty"`
	// Whether this reward requires viewer input.
	UserInputRequired bool `protobuf:"varint,10,opt,name=user_input_required,json=userInputRequired,proto3" json:"user_input_required,omitempty"`
	// Setting for the maximum number of rewards of this type that can be redeemed per stream.
	// Can be disabled.
	MaxPerStreamSetting *MaxPerStreamSetting `protobuf:"bytes,11,opt,name=max_per_stream_setting,json=maxPerStreamSetting,proto3" json:"max_per_stream_setting,omitempty"`
	// Whether this reward is paused. Paused rewards will show to viewers but can't be redeemed.
	Paused bool `protobuf:"varint,12,opt,name=paused,proto3" json:"paused,omitempty"`
	// Whether this reward is out of stock. If this reward been redeemed the maximum number of times per stream, or if the stream is not live.
	InStock bool `protobuf:"varint,13,opt,name=in_stock,json=inStock,proto3" json:"in_stock,omitempty"`
	// Default CDN URLs for custom reward icons at different resolutions.
	DefaultImage *ImageURLs `protobuf:"bytes,14,opt,name=default_image,json=defaultImage,proto3" json:"default_image,omitempty"`
	// Whether this reward should skip appearing in the broadcaster's reward request queue.
	// Redemptions will be created in the FULFILLED state instead of UNFULFILLED.
	RedemptionsSkipRequestQueue bool `protobuf:"varint,15,opt,name=redemptions_skip_request_queue,json=redemptionsSkipRequestQueue,proto3" json:"redemptions_skip_request_queue,omitempty"`
	// The template the reward was created from. Blank if not created from a template.
	TemplateId string `protobuf:"bytes,16,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
	// Setting for the maximum number of rewards of this type that can be redeemed per user per stream.
	// Can be disabled.
	MaxPerUserPerStreamSetting *MaxPerUserPerStreamSetting `protobuf:"bytes,17,opt,name=max_per_user_per_stream_setting,json=maxPerUserPerStreamSetting,proto3" json:"max_per_user_per_stream_setting,omitempty"`
	// Setting for the global cooldown for rewards of this type that can be redeemed if not in cooldown
	// Can be disabled.
	GlobalCooldownSetting *GlobalCooldownSetting `protobuf:"bytes,18,opt,name=global_cooldown_setting,json=globalCooldownSetting,proto3" json:"global_cooldown_setting,omitempty"`
	// Timestamp of the cooldown expiration for the reward.
	// Null if the reward isn't on cooldown.
	CooldownExpiresAt *timestamp.Timestamp `protobuf:"bytes,19,opt,name=cooldown_expires_at,json=cooldownExpiresAt,proto3" json:"cooldown_expires_at,omitempty"`
	// Number of redemptions redeemed for this reward during the current live stream.
	// This will reset everytime a new stream is started.
	// Null if the channel isn't currently live or the max_per_stream_setting isn't enabled.
	RedemptionsRedeemedCurrentStream *wrappers.Int64Value `protobuf:"bytes,20,opt,name=redemptions_redeemed_current_stream,json=redemptionsRedeemedCurrentStream,proto3" json:"redemptions_redeemed_current_stream,omitempty"`
	XXX_NoUnkeyedLiteral             struct{}             `json:"-"`
	XXX_unrecognized                 []byte               `json:"-"`
	XXX_sizecache                    int32                `json:"-"`
}

func (m *ChannelPointsCustomRewardCreate) Reset()         { *m = ChannelPointsCustomRewardCreate{} }
func (m *ChannelPointsCustomRewardCreate) String() string { return proto.CompactTextString(m) }
func (*ChannelPointsCustomRewardCreate) ProtoMessage()    {}
func (*ChannelPointsCustomRewardCreate) Descriptor() ([]byte, []int) {
	return fileDescriptor_create_82558ccadb66e999, []int{0}
}
func (m *ChannelPointsCustomRewardCreate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ChannelPointsCustomRewardCreate.Unmarshal(m, b)
}
func (m *ChannelPointsCustomRewardCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ChannelPointsCustomRewardCreate.Marshal(b, m, deterministic)
}
func (dst *ChannelPointsCustomRewardCreate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ChannelPointsCustomRewardCreate.Merge(dst, src)
}
func (m *ChannelPointsCustomRewardCreate) XXX_Size() int {
	return xxx_messageInfo_ChannelPointsCustomRewardCreate.Size(m)
}
func (m *ChannelPointsCustomRewardCreate) XXX_DiscardUnknown() {
	xxx_messageInfo_ChannelPointsCustomRewardCreate.DiscardUnknown(m)
}

var xxx_messageInfo_ChannelPointsCustomRewardCreate proto.InternalMessageInfo

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

func (m *ChannelPointsCustomRewardCreate) GetUserId() string {
	if m != nil {
		return m.UserId
	}
	return ""
}

func (m *ChannelPointsCustomRewardCreate) GetImage() *ImageURLs {
	if m != nil {
		return m.Image
	}
	return nil
}

func (m *ChannelPointsCustomRewardCreate) GetBackgroundColor() string {
	if m != nil {
		return m.BackgroundColor
	}
	return ""
}

func (m *ChannelPointsCustomRewardCreate) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

func (m *ChannelPointsCustomRewardCreate) GetSubOnly() bool {
	if m != nil {
		return m.SubOnly
	}
	return false
}

func (m *ChannelPointsCustomRewardCreate) GetCost() int64 {
	if m != nil {
		return m.Cost
	}
	return 0
}

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

func (m *ChannelPointsCustomRewardCreate) GetPrompt() string {
	if m != nil {
		return m.Prompt
	}
	return ""
}

func (m *ChannelPointsCustomRewardCreate) GetUserInputRequired() bool {
	if m != nil {
		return m.UserInputRequired
	}
	return false
}

func (m *ChannelPointsCustomRewardCreate) GetMaxPerStreamSetting() *MaxPerStreamSetting {
	if m != nil {
		return m.MaxPerStreamSetting
	}
	return nil
}

func (m *ChannelPointsCustomRewardCreate) GetPaused() bool {
	if m != nil {
		return m.Paused
	}
	return false
}

func (m *ChannelPointsCustomRewardCreate) GetInStock() bool {
	if m != nil {
		return m.InStock
	}
	return false
}

func (m *ChannelPointsCustomRewardCreate) GetDefaultImage() *ImageURLs {
	if m != nil {
		return m.DefaultImage
	}
	return nil
}

func (m *ChannelPointsCustomRewardCreate) GetRedemptionsSkipRequestQueue() bool {
	if m != nil {
		return m.RedemptionsSkipRequestQueue
	}
	return false
}

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

func (m *ChannelPointsCustomRewardCreate) GetMaxPerUserPerStreamSetting() *MaxPerUserPerStreamSetting {
	if m != nil {
		return m.MaxPerUserPerStreamSetting
	}
	return nil
}

func (m *ChannelPointsCustomRewardCreate) GetGlobalCooldownSetting() *GlobalCooldownSetting {
	if m != nil {
		return m.GlobalCooldownSetting
	}
	return nil
}

func (m *ChannelPointsCustomRewardCreate) GetCooldownExpiresAt() *timestamp.Timestamp {
	if m != nil {
		return m.CooldownExpiresAt
	}
	return nil
}

func (m *ChannelPointsCustomRewardCreate) GetRedemptionsRedeemedCurrentStream() *wrappers.Int64Value {
	if m != nil {
		return m.RedemptionsRedeemedCurrentStream
	}
	return nil
}

// ImageURLs contains the URLs for an image asset at 1x, 2x and 4x sizes.
type ImageURLs struct {
	Url_1X               string   `protobuf:"bytes,1,opt,name=url_1x,json=url1x,proto3" json:"url_1x,omitempty"`
	Url_2X               string   `protobuf:"bytes,2,opt,name=url_2x,json=url2x,proto3" json:"url_2x,omitempty"`
	Url_4X               string   `protobuf:"bytes,3,opt,name=url_4x,json=url4x,proto3" json:"url_4x,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ImageURLs) Reset()         { *m = ImageURLs{} }
func (m *ImageURLs) String() string { return proto.CompactTextString(m) }
func (*ImageURLs) ProtoMessage()    {}
func (*ImageURLs) Descriptor() ([]byte, []int) {
	return fileDescriptor_create_82558ccadb66e999, []int{1}
}
func (m *ImageURLs) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ImageURLs.Unmarshal(m, b)
}
func (m *ImageURLs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ImageURLs.Marshal(b, m, deterministic)
}
func (dst *ImageURLs) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ImageURLs.Merge(dst, src)
}
func (m *ImageURLs) XXX_Size() int {
	return xxx_messageInfo_ImageURLs.Size(m)
}
func (m *ImageURLs) XXX_DiscardUnknown() {
	xxx_messageInfo_ImageURLs.DiscardUnknown(m)
}

var xxx_messageInfo_ImageURLs proto.InternalMessageInfo

func (m *ImageURLs) GetUrl_1X() string {
	if m != nil {
		return m.Url_1X
	}
	return ""
}

func (m *ImageURLs) GetUrl_2X() string {
	if m != nil {
		return m.Url_2X
	}
	return ""
}

func (m *ImageURLs) GetUrl_4X() string {
	if m != nil {
		return m.Url_4X
	}
	return ""
}

// MaxPerStreamSetting contains the information for limiting the redemptions of the reward to a maximum per stream.
type MaxPerStreamSetting struct {
	// Whether the max per stream limit is enabled.
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// The maximum number of this reward that can be redeemed per stream.
	MaxPerStream         int64    `protobuf:"varint,2,opt,name=max_per_stream,json=maxPerStream,proto3" json:"max_per_stream,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MaxPerStreamSetting) Reset()         { *m = MaxPerStreamSetting{} }
func (m *MaxPerStreamSetting) String() string { return proto.CompactTextString(m) }
func (*MaxPerStreamSetting) ProtoMessage()    {}
func (*MaxPerStreamSetting) Descriptor() ([]byte, []int) {
	return fileDescriptor_create_82558ccadb66e999, []int{2}
}
func (m *MaxPerStreamSetting) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MaxPerStreamSetting.Unmarshal(m, b)
}
func (m *MaxPerStreamSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MaxPerStreamSetting.Marshal(b, m, deterministic)
}
func (dst *MaxPerStreamSetting) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MaxPerStreamSetting.Merge(dst, src)
}
func (m *MaxPerStreamSetting) XXX_Size() int {
	return xxx_messageInfo_MaxPerStreamSetting.Size(m)
}
func (m *MaxPerStreamSetting) XXX_DiscardUnknown() {
	xxx_messageInfo_MaxPerStreamSetting.DiscardUnknown(m)
}

var xxx_messageInfo_MaxPerStreamSetting proto.InternalMessageInfo

func (m *MaxPerStreamSetting) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

func (m *MaxPerStreamSetting) GetMaxPerStream() int64 {
	if m != nil {
		return m.MaxPerStream
	}
	return 0
}

// MaxPerUserPerStreamSetting contains the information for limiting the redemptions of the reward to a maximum per user per stream.
type MaxPerUserPerStreamSetting struct {
	// Whether the max per user per stream limit is enabled.
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// The maximum number of this reward that can be redeemed per stream.
	MaxPerUserPerStream  int64    `protobuf:"varint,2,opt,name=max_per_user_per_stream,json=maxPerUserPerStream,proto3" json:"max_per_user_per_stream,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MaxPerUserPerStreamSetting) Reset()         { *m = MaxPerUserPerStreamSetting{} }
func (m *MaxPerUserPerStreamSetting) String() string { return proto.CompactTextString(m) }
func (*MaxPerUserPerStreamSetting) ProtoMessage()    {}
func (*MaxPerUserPerStreamSetting) Descriptor() ([]byte, []int) {
	return fileDescriptor_create_82558ccadb66e999, []int{3}
}
func (m *MaxPerUserPerStreamSetting) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MaxPerUserPerStreamSetting.Unmarshal(m, b)
}
func (m *MaxPerUserPerStreamSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MaxPerUserPerStreamSetting.Marshal(b, m, deterministic)
}
func (dst *MaxPerUserPerStreamSetting) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MaxPerUserPerStreamSetting.Merge(dst, src)
}
func (m *MaxPerUserPerStreamSetting) XXX_Size() int {
	return xxx_messageInfo_MaxPerUserPerStreamSetting.Size(m)
}
func (m *MaxPerUserPerStreamSetting) XXX_DiscardUnknown() {
	xxx_messageInfo_MaxPerUserPerStreamSetting.DiscardUnknown(m)
}

var xxx_messageInfo_MaxPerUserPerStreamSetting proto.InternalMessageInfo

func (m *MaxPerUserPerStreamSetting) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

func (m *MaxPerUserPerStreamSetting) GetMaxPerUserPerStream() int64 {
	if m != nil {
		return m.MaxPerUserPerStream
	}
	return 0
}

// GlobalCoolDownSetting contains the information for limiting the redemptions of the reward to a set global cooldown.
type GlobalCooldownSetting struct {
	// Whether the global cooldown limit is enabled.
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// The cooldown between redeeming a reward per stream set by the broadcaster
	GlobalCooldownSeconds int64    `protobuf:"varint,2,opt,name=global_cooldown_seconds,json=globalCooldownSeconds,proto3" json:"global_cooldown_seconds,omitempty"`
	XXX_NoUnkeyedLiteral  struct{} `json:"-"`
	XXX_unrecognized      []byte   `json:"-"`
	XXX_sizecache         int32    `json:"-"`
}

func (m *GlobalCooldownSetting) Reset()         { *m = GlobalCooldownSetting{} }
func (m *GlobalCooldownSetting) String() string { return proto.CompactTextString(m) }
func (*GlobalCooldownSetting) ProtoMessage()    {}
func (*GlobalCooldownSetting) Descriptor() ([]byte, []int) {
	return fileDescriptor_create_82558ccadb66e999, []int{4}
}
func (m *GlobalCooldownSetting) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GlobalCooldownSetting.Unmarshal(m, b)
}
func (m *GlobalCooldownSetting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GlobalCooldownSetting.Marshal(b, m, deterministic)
}
func (dst *GlobalCooldownSetting) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GlobalCooldownSetting.Merge(dst, src)
}
func (m *GlobalCooldownSetting) XXX_Size() int {
	return xxx_messageInfo_GlobalCooldownSetting.Size(m)
}
func (m *GlobalCooldownSetting) XXX_DiscardUnknown() {
	xxx_messageInfo_GlobalCooldownSetting.DiscardUnknown(m)
}

var xxx_messageInfo_GlobalCooldownSetting proto.InternalMessageInfo

func (m *GlobalCooldownSetting) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

func (m *GlobalCooldownSetting) GetGlobalCooldownSeconds() int64 {
	if m != nil {
		return m.GlobalCooldownSeconds
	}
	return 0
}

func init() {
	proto.RegisterType((*ChannelPointsCustomRewardCreate)(nil), "channel_points_custom_reward.ChannelPointsCustomRewardCreate")
	proto.RegisterType((*ImageURLs)(nil), "channel_points_custom_reward.ImageURLs")
	proto.RegisterType((*MaxPerStreamSetting)(nil), "channel_points_custom_reward.MaxPerStreamSetting")
	proto.RegisterType((*MaxPerUserPerStreamSetting)(nil), "channel_points_custom_reward.MaxPerUserPerStreamSetting")
	proto.RegisterType((*GlobalCooldownSetting)(nil), "channel_points_custom_reward.GlobalCooldownSetting")
}

func init() {
	proto.RegisterFile("channel_points_custom_reward/create.proto", fileDescriptor_create_82558ccadb66e999)
}

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