// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: internal.proto

/*
Package internal is a generated protocol buffer package.

It is generated from these files:
	internal.proto

It has these top-level messages:
	Source
	Dashboard
	DashboardCell
	DecimalPlaces
	TableOptions
	RenamableField
	Color
	Legend
	Axis
	Template
	TemplateValue
	TemplateQuery
	Server
	Layout
	Cell
	Query
	TimeShift
	Range
	AlertRule
	User
	Role
	Mapping
	Organization
	Config
	AuthConfig
	BuildInfo
*/
package internal

import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"

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

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

type Source struct {
	ID                 int64  `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name               string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
	Type               string `protobuf:"bytes,3,opt,name=Type,proto3" json:"Type,omitempty"`
	Username           string `protobuf:"bytes,4,opt,name=Username,proto3" json:"Username,omitempty"`
	Password           string `protobuf:"bytes,5,opt,name=Password,proto3" json:"Password,omitempty"`
	URL                string `protobuf:"bytes,6,opt,name=URL,proto3" json:"URL,omitempty"`
	Default            bool   `protobuf:"varint,7,opt,name=Default,proto3" json:"Default,omitempty"`
	Telegraf           string `protobuf:"bytes,8,opt,name=Telegraf,proto3" json:"Telegraf,omitempty"`
	InsecureSkipVerify bool   `protobuf:"varint,9,opt,name=InsecureSkipVerify,proto3" json:"InsecureSkipVerify,omitempty"`
	MetaURL            string `protobuf:"bytes,10,opt,name=MetaURL,proto3" json:"MetaURL,omitempty"`
	SharedSecret       string `protobuf:"bytes,11,opt,name=SharedSecret,proto3" json:"SharedSecret,omitempty"`
	Organization       string `protobuf:"bytes,12,opt,name=Organization,proto3" json:"Organization,omitempty"`
	Role               string `protobuf:"bytes,13,opt,name=Role,proto3" json:"Role,omitempty"`
	DefaultRP          string `protobuf:"bytes,14,opt,name=DefaultRP,proto3" json:"DefaultRP,omitempty"`
}

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

func (m *Source) GetID() int64 {
	if m != nil {
		return m.ID
	}
	return 0
}

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

func (m *Source) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Source) GetUsername() string {
	if m != nil {
		return m.Username
	}
	return ""
}

func (m *Source) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *Source) GetURL() string {
	if m != nil {
		return m.URL
	}
	return ""
}

func (m *Source) GetDefault() bool {
	if m != nil {
		return m.Default
	}
	return false
}

func (m *Source) GetTelegraf() string {
	if m != nil {
		return m.Telegraf
	}
	return ""
}

func (m *Source) GetInsecureSkipVerify() bool {
	if m != nil {
		return m.InsecureSkipVerify
	}
	return false
}

func (m *Source) GetMetaURL() string {
	if m != nil {
		return m.MetaURL
	}
	return ""
}

func (m *Source) GetSharedSecret() string {
	if m != nil {
		return m.SharedSecret
	}
	return ""
}

func (m *Source) GetOrganization() string {
	if m != nil {
		return m.Organization
	}
	return ""
}

func (m *Source) GetRole() string {
	if m != nil {
		return m.Role
	}
	return ""
}

func (m *Source) GetDefaultRP() string {
	if m != nil {
		return m.DefaultRP
	}
	return ""
}

type Dashboard struct {
	ID           int64            `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name         string           `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
	Cells        []*DashboardCell `protobuf:"bytes,3,rep,name=cells" json:"cells,omitempty"`
	Templates    []*Template      `protobuf:"bytes,4,rep,name=templates" json:"templates,omitempty"`
	Organization string           `protobuf:"bytes,5,opt,name=Organization,proto3" json:"Organization,omitempty"`
}

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

func (m *Dashboard) GetID() int64 {
	if m != nil {
		return m.ID
	}
	return 0
}

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

func (m *Dashboard) GetCells() []*DashboardCell {
	if m != nil {
		return m.Cells
	}
	return nil
}

func (m *Dashboard) GetTemplates() []*Template {
	if m != nil {
		return m.Templates
	}
	return nil
}

func (m *Dashboard) GetOrganization() string {
	if m != nil {
		return m.Organization
	}
	return ""
}

type DashboardCell struct {
	X             int32             `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
	Y             int32             `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
	W             int32             `protobuf:"varint,3,opt,name=w,proto3" json:"w,omitempty"`
	H             int32             `protobuf:"varint,4,opt,name=h,proto3" json:"h,omitempty"`
	Queries       []*Query          `protobuf:"bytes,5,rep,name=queries" json:"queries,omitempty"`
	Name          string            `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	Type          string            `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
	ID            string            `protobuf:"bytes,8,opt,name=ID,proto3" json:"ID,omitempty"`
	Axes          map[string]*Axis  `protobuf:"bytes,9,rep,name=axes" json:"axes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"`
	Colors        []*Color          `protobuf:"bytes,10,rep,name=colors" json:"colors,omitempty"`
	Legend        *Legend           `protobuf:"bytes,11,opt,name=legend" json:"legend,omitempty"`
	TableOptions  *TableOptions     `protobuf:"bytes,12,opt,name=tableOptions" json:"tableOptions,omitempty"`
	FieldOptions  []*RenamableField `protobuf:"bytes,13,rep,name=fieldOptions" json:"fieldOptions,omitempty"`
	TimeFormat    string            `protobuf:"bytes,14,opt,name=timeFormat,proto3" json:"timeFormat,omitempty"`
	DecimalPlaces *DecimalPlaces    `protobuf:"bytes,15,opt,name=decimalPlaces" json:"decimalPlaces,omitempty"`
}

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

func (m *DashboardCell) GetX() int32 {
	if m != nil {
		return m.X
	}
	return 0
}

func (m *DashboardCell) GetY() int32 {
	if m != nil {
		return m.Y
	}
	return 0
}

func (m *DashboardCell) GetW() int32 {
	if m != nil {
		return m.W
	}
	return 0
}

func (m *DashboardCell) GetH() int32 {
	if m != nil {
		return m.H
	}
	return 0
}

func (m *DashboardCell) GetQueries() []*Query {
	if m != nil {
		return m.Queries
	}
	return nil
}

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

func (m *DashboardCell) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *DashboardCell) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

func (m *DashboardCell) GetAxes() map[string]*Axis {
	if m != nil {
		return m.Axes
	}
	return nil
}

func (m *DashboardCell) GetColors() []*Color {
	if m != nil {
		return m.Colors
	}
	return nil
}

func (m *DashboardCell) GetLegend() *Legend {
	if m != nil {
		return m.Legend
	}
	return nil
}

func (m *DashboardCell) GetTableOptions() *TableOptions {
	if m != nil {
		return m.TableOptions
	}
	return nil
}

func (m *DashboardCell) GetFieldOptions() []*RenamableField {
	if m != nil {
		return m.FieldOptions
	}
	return nil
}

func (m *DashboardCell) GetTimeFormat() string {
	if m != nil {
		return m.TimeFormat
	}
	return ""
}

func (m *DashboardCell) GetDecimalPlaces() *DecimalPlaces {
	if m != nil {
		return m.DecimalPlaces
	}
	return nil
}

type DecimalPlaces struct {
	IsEnforced bool  `protobuf:"varint,1,opt,name=isEnforced,proto3" json:"isEnforced,omitempty"`
	Digits     int32 `protobuf:"varint,2,opt,name=digits,proto3" json:"digits,omitempty"`
}

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

func (m *DecimalPlaces) GetIsEnforced() bool {
	if m != nil {
		return m.IsEnforced
	}
	return false
}

func (m *DecimalPlaces) GetDigits() int32 {
	if m != nil {
		return m.Digits
	}
	return 0
}

type TableOptions struct {
	VerticalTimeAxis bool            `protobuf:"varint,2,opt,name=verticalTimeAxis,proto3" json:"verticalTimeAxis,omitempty"`
	SortBy           *RenamableField `protobuf:"bytes,3,opt,name=sortBy" json:"sortBy,omitempty"`
	Wrapping         string          `protobuf:"bytes,4,opt,name=wrapping,proto3" json:"wrapping,omitempty"`
	FixFirstColumn   bool            `protobuf:"varint,6,opt,name=fixFirstColumn,proto3" json:"fixFirstColumn,omitempty"`
}

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

func (m *TableOptions) GetVerticalTimeAxis() bool {
	if m != nil {
		return m.VerticalTimeAxis
	}
	return false
}

func (m *TableOptions) GetSortBy() *RenamableField {
	if m != nil {
		return m.SortBy
	}
	return nil
}

func (m *TableOptions) GetWrapping() string {
	if m != nil {
		return m.Wrapping
	}
	return ""
}

func (m *TableOptions) GetFixFirstColumn() bool {
	if m != nil {
		return m.FixFirstColumn
	}
	return false
}

type RenamableField struct {
	InternalName string `protobuf:"bytes,1,opt,name=internalName,proto3" json:"internalName,omitempty"`
	DisplayName  string `protobuf:"bytes,2,opt,name=displayName,proto3" json:"displayName,omitempty"`
	Visible      bool   `protobuf:"varint,3,opt,name=visible,proto3" json:"visible,omitempty"`
}

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

func (m *RenamableField) GetInternalName() string {
	if m != nil {
		return m.InternalName
	}
	return ""
}

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

func (m *RenamableField) GetVisible() bool {
	if m != nil {
		return m.Visible
	}
	return false
}

type Color struct {
	ID    string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Type  string `protobuf:"bytes,2,opt,name=Type,proto3" json:"Type,omitempty"`
	Hex   string `protobuf:"bytes,3,opt,name=Hex,proto3" json:"Hex,omitempty"`
	Name  string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"`
	Value string `protobuf:"bytes,5,opt,name=Value,proto3" json:"Value,omitempty"`
}

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

func (m *Color) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

func (m *Color) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Color) GetHex() string {
	if m != nil {
		return m.Hex
	}
	return ""
}

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

func (m *Color) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

type Legend struct {
	Type        string `protobuf:"bytes,1,opt,name=Type,proto3" json:"Type,omitempty"`
	Orientation string `protobuf:"bytes,2,opt,name=Orientation,proto3" json:"Orientation,omitempty"`
}

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

func (m *Legend) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Legend) GetOrientation() string {
	if m != nil {
		return m.Orientation
	}
	return ""
}

type Axis struct {
	LegacyBounds []int64  `protobuf:"varint,1,rep,packed,name=legacyBounds" json:"legacyBounds,omitempty"`
	Bounds       []string `protobuf:"bytes,2,rep,name=bounds" json:"bounds,omitempty"`
	Label        string   `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"`
	Prefix       string   `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"`
	Suffix       string   `protobuf:"bytes,5,opt,name=suffix,proto3" json:"suffix,omitempty"`
	Base         string   `protobuf:"bytes,6,opt,name=base,proto3" json:"base,omitempty"`
	Scale        string   `protobuf:"bytes,7,opt,name=scale,proto3" json:"scale,omitempty"`
}

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

func (m *Axis) GetLegacyBounds() []int64 {
	if m != nil {
		return m.LegacyBounds
	}
	return nil
}

func (m *Axis) GetBounds() []string {
	if m != nil {
		return m.Bounds
	}
	return nil
}

func (m *Axis) GetLabel() string {
	if m != nil {
		return m.Label
	}
	return ""
}

func (m *Axis) GetPrefix() string {
	if m != nil {
		return m.Prefix
	}
	return ""
}

func (m *Axis) GetSuffix() string {
	if m != nil {
		return m.Suffix
	}
	return ""
}

func (m *Axis) GetBase() string {
	if m != nil {
		return m.Base
	}
	return ""
}

func (m *Axis) GetScale() string {
	if m != nil {
		return m.Scale
	}
	return ""
}

type Template struct {
	ID      string           `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	TempVar string           `protobuf:"bytes,2,opt,name=temp_var,json=tempVar,proto3" json:"temp_var,omitempty"`
	Values  []*TemplateValue `protobuf:"bytes,3,rep,name=values" json:"values,omitempty"`
	Type    string           `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"`
	Label   string           `protobuf:"bytes,5,opt,name=label,proto3" json:"label,omitempty"`
	Query   *TemplateQuery   `protobuf:"bytes,6,opt,name=query" json:"query,omitempty"`
}

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

func (m *Template) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

func (m *Template) GetTempVar() string {
	if m != nil {
		return m.TempVar
	}
	return ""
}

func (m *Template) GetValues() []*TemplateValue {
	if m != nil {
		return m.Values
	}
	return nil
}

func (m *Template) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Template) GetLabel() string {
	if m != nil {
		return m.Label
	}
	return ""
}

func (m *Template) GetQuery() *TemplateQuery {
	if m != nil {
		return m.Query
	}
	return nil
}

type TemplateValue struct {
	Type     string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Value    string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	Selected bool   `protobuf:"varint,3,opt,name=selected,proto3" json:"selected,omitempty"`
}

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

func (m *TemplateValue) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *TemplateValue) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

func (m *TemplateValue) GetSelected() bool {
	if m != nil {
		return m.Selected
	}
	return false
}

type TemplateQuery struct {
	Command     string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"`
	Db          string `protobuf:"bytes,2,opt,name=db,proto3" json:"db,omitempty"`
	Rp          string `protobuf:"bytes,3,opt,name=rp,proto3" json:"rp,omitempty"`
	Measurement string `protobuf:"bytes,4,opt,name=measurement,proto3" json:"measurement,omitempty"`
	TagKey      string `protobuf:"bytes,5,opt,name=tag_key,json=tagKey,proto3" json:"tag_key,omitempty"`
	FieldKey    string `protobuf:"bytes,6,opt,name=field_key,json=fieldKey,proto3" json:"field_key,omitempty"`
}

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

func (m *TemplateQuery) GetCommand() string {
	if m != nil {
		return m.Command
	}
	return ""
}

func (m *TemplateQuery) GetDb() string {
	if m != nil {
		return m.Db
	}
	return ""
}

func (m *TemplateQuery) GetRp() string {
	if m != nil {
		return m.Rp
	}
	return ""
}

func (m *TemplateQuery) GetMeasurement() string {
	if m != nil {
		return m.Measurement
	}
	return ""
}

func (m *TemplateQuery) GetTagKey() string {
	if m != nil {
		return m.TagKey
	}
	return ""
}

func (m *TemplateQuery) GetFieldKey() string {
	if m != nil {
		return m.FieldKey
	}
	return ""
}

type Server struct {
	ID                 int64  `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name               string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
	Username           string `protobuf:"bytes,3,opt,name=Username,proto3" json:"Username,omitempty"`
	Password           string `protobuf:"bytes,4,opt,name=Password,proto3" json:"Password,omitempty"`
	URL                string `protobuf:"bytes,5,opt,name=URL,proto3" json:"URL,omitempty"`
	SrcID              int64  `protobuf:"varint,6,opt,name=SrcID,proto3" json:"SrcID,omitempty"`
	Active             bool   `protobuf:"varint,7,opt,name=Active,proto3" json:"Active,omitempty"`
	Organization       string `protobuf:"bytes,8,opt,name=Organization,proto3" json:"Organization,omitempty"`
	InsecureSkipVerify bool   `protobuf:"varint,9,opt,name=InsecureSkipVerify,proto3" json:"InsecureSkipVerify,omitempty"`
}

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

func (m *Server) GetID() int64 {
	if m != nil {
		return m.ID
	}
	return 0
}

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

func (m *Server) GetUsername() string {
	if m != nil {
		return m.Username
	}
	return ""
}

func (m *Server) GetPassword() string {
	if m != nil {
		return m.Password
	}
	return ""
}

func (m *Server) GetURL() string {
	if m != nil {
		return m.URL
	}
	return ""
}

func (m *Server) GetSrcID() int64 {
	if m != nil {
		return m.SrcID
	}
	return 0
}

func (m *Server) GetActive() bool {
	if m != nil {
		return m.Active
	}
	return false
}

func (m *Server) GetOrganization() string {
	if m != nil {
		return m.Organization
	}
	return ""
}

func (m *Server) GetInsecureSkipVerify() bool {
	if m != nil {
		return m.InsecureSkipVerify
	}
	return false
}

type Layout struct {
	ID          string  `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Application string  `protobuf:"bytes,2,opt,name=Application,proto3" json:"Application,omitempty"`
	Measurement string  `protobuf:"bytes,3,opt,name=Measurement,proto3" json:"Measurement,omitempty"`
	Cells       []*Cell `protobuf:"bytes,4,rep,name=Cells" json:"Cells,omitempty"`
	Autoflow    bool    `protobuf:"varint,5,opt,name=Autoflow,proto3" json:"Autoflow,omitempty"`
}

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

func (m *Layout) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

func (m *Layout) GetApplication() string {
	if m != nil {
		return m.Application
	}
	return ""
}

func (m *Layout) GetMeasurement() string {
	if m != nil {
		return m.Measurement
	}
	return ""
}

func (m *Layout) GetCells() []*Cell {
	if m != nil {
		return m.Cells
	}
	return nil
}

func (m *Layout) GetAutoflow() bool {
	if m != nil {
		return m.Autoflow
	}
	return false
}

type Cell struct {
	X       int32            `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
	Y       int32            `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
	W       int32            `protobuf:"varint,3,opt,name=w,proto3" json:"w,omitempty"`
	H       int32            `protobuf:"varint,4,opt,name=h,proto3" json:"h,omitempty"`
	Queries []*Query         `protobuf:"bytes,5,rep,name=queries" json:"queries,omitempty"`
	I       string           `protobuf:"bytes,6,opt,name=i,proto3" json:"i,omitempty"`
	Name    string           `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
	Yranges []int64          `protobuf:"varint,8,rep,packed,name=yranges" json:"yranges,omitempty"`
	Ylabels []string         `protobuf:"bytes,9,rep,name=ylabels" json:"ylabels,omitempty"`
	Type    string           `protobuf:"bytes,10,opt,name=type,proto3" json:"type,omitempty"`
	Axes    map[string]*Axis `protobuf:"bytes,11,rep,name=axes" json:"axes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value"`
}

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

func (m *Cell) GetX() int32 {
	if m != nil {
		return m.X
	}
	return 0
}

func (m *Cell) GetY() int32 {
	if m != nil {
		return m.Y
	}
	return 0
}

func (m *Cell) GetW() int32 {
	if m != nil {
		return m.W
	}
	return 0
}

func (m *Cell) GetH() int32 {
	if m != nil {
		return m.H
	}
	return 0
}

func (m *Cell) GetQueries() []*Query {
	if m != nil {
		return m.Queries
	}
	return nil
}

func (m *Cell) GetI() string {
	if m != nil {
		return m.I
	}
	return ""
}

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

func (m *Cell) GetYranges() []int64 {
	if m != nil {
		return m.Yranges
	}
	return nil
}

func (m *Cell) GetYlabels() []string {
	if m != nil {
		return m.Ylabels
	}
	return nil
}

func (m *Cell) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Cell) GetAxes() map[string]*Axis {
	if m != nil {
		return m.Axes
	}
	return nil
}

type Query struct {
	Command  string       `protobuf:"bytes,1,opt,name=Command,proto3" json:"Command,omitempty"`
	DB       string       `protobuf:"bytes,2,opt,name=DB,proto3" json:"DB,omitempty"`
	RP       string       `protobuf:"bytes,3,opt,name=RP,proto3" json:"RP,omitempty"`
	GroupBys []string     `protobuf:"bytes,4,rep,name=GroupBys" json:"GroupBys,omitempty"`
	Wheres   []string     `protobuf:"bytes,5,rep,name=Wheres" json:"Wheres,omitempty"`
	Label    string       `protobuf:"bytes,6,opt,name=Label,proto3" json:"Label,omitempty"`
	Range    *Range       `protobuf:"bytes,7,opt,name=Range" json:"Range,omitempty"`
	Source   string       `protobuf:"bytes,8,opt,name=Source,proto3" json:"Source,omitempty"`
	Shifts   []*TimeShift `protobuf:"bytes,9,rep,name=Shifts" json:"Shifts,omitempty"`
}

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

func (m *Query) GetCommand() string {
	if m != nil {
		return m.Command
	}
	return ""
}

func (m *Query) GetDB() string {
	if m != nil {
		return m.DB
	}
	return ""
}

func (m *Query) GetRP() string {
	if m != nil {
		return m.RP
	}
	return ""
}

func (m *Query) GetGroupBys() []string {
	if m != nil {
		return m.GroupBys
	}
	return nil
}

func (m *Query) GetWheres() []string {
	if m != nil {
		return m.Wheres
	}
	return nil
}

func (m *Query) GetLabel() string {
	if m != nil {
		return m.Label
	}
	return ""
}

func (m *Query) GetRange() *Range {
	if m != nil {
		return m.Range
	}
	return nil
}

func (m *Query) GetSource() string {
	if m != nil {
		return m.Source
	}
	return ""
}

func (m *Query) GetShifts() []*TimeShift {
	if m != nil {
		return m.Shifts
	}
	return nil
}

type TimeShift struct {
	Label    string `protobuf:"bytes,1,opt,name=Label,proto3" json:"Label,omitempty"`
	Unit     string `protobuf:"bytes,2,opt,name=Unit,proto3" json:"Unit,omitempty"`
	Quantity string `protobuf:"bytes,3,opt,name=Quantity,proto3" json:"Quantity,omitempty"`
}

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

func (m *TimeShift) GetLabel() string {
	if m != nil {
		return m.Label
	}
	return ""
}

func (m *TimeShift) GetUnit() string {
	if m != nil {
		return m.Unit
	}
	return ""
}

func (m *TimeShift) GetQuantity() string {
	if m != nil {
		return m.Quantity
	}
	return ""
}

type Range struct {
	Upper int64 `protobuf:"varint,1,opt,name=Upper,proto3" json:"Upper,omitempty"`
	Lower int64 `protobuf:"varint,2,opt,name=Lower,proto3" json:"Lower,omitempty"`
}

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

func (m *Range) GetUpper() int64 {
	if m != nil {
		return m.Upper
	}
	return 0
}

func (m *Range) GetLower() int64 {
	if m != nil {
		return m.Lower
	}
	return 0
}

type AlertRule struct {
	ID     string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	JSON   string `protobuf:"bytes,2,opt,name=JSON,proto3" json:"JSON,omitempty"`
	SrcID  int64  `protobuf:"varint,3,opt,name=SrcID,proto3" json:"SrcID,omitempty"`
	KapaID int64  `protobuf:"varint,4,opt,name=KapaID,proto3" json:"KapaID,omitempty"`
}

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

func (m *AlertRule) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

func (m *AlertRule) GetJSON() string {
	if m != nil {
		return m.JSON
	}
	return ""
}

func (m *AlertRule) GetSrcID() int64 {
	if m != nil {
		return m.SrcID
	}
	return 0
}

func (m *AlertRule) GetKapaID() int64 {
	if m != nil {
		return m.KapaID
	}
	return 0
}

type User struct {
	ID         uint64  `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name       string  `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
	Provider   string  `protobuf:"bytes,3,opt,name=Provider,proto3" json:"Provider,omitempty"`
	Scheme     string  `protobuf:"bytes,4,opt,name=Scheme,proto3" json:"Scheme,omitempty"`
	Roles      []*Role `protobuf:"bytes,5,rep,name=Roles" json:"Roles,omitempty"`
	SuperAdmin bool    `protobuf:"varint,6,opt,name=SuperAdmin,proto3" json:"SuperAdmin,omitempty"`
}

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

func (m *User) GetID() uint64 {
	if m != nil {
		return m.ID
	}
	return 0
}

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

func (m *User) GetProvider() string {
	if m != nil {
		return m.Provider
	}
	return ""
}

func (m *User) GetScheme() string {
	if m != nil {
		return m.Scheme
	}
	return ""
}

func (m *User) GetRoles() []*Role {
	if m != nil {
		return m.Roles
	}
	return nil
}

func (m *User) GetSuperAdmin() bool {
	if m != nil {
		return m.SuperAdmin
	}
	return false
}

type Role struct {
	Organization string `protobuf:"bytes,1,opt,name=Organization,proto3" json:"Organization,omitempty"`
	Name         string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
}

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

func (m *Role) GetOrganization() string {
	if m != nil {
		return m.Organization
	}
	return ""
}

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

type Mapping struct {
	Provider             string `protobuf:"bytes,1,opt,name=Provider,proto3" json:"Provider,omitempty"`
	Scheme               string `protobuf:"bytes,2,opt,name=Scheme,proto3" json:"Scheme,omitempty"`
	ProviderOrganization string `protobuf:"bytes,3,opt,name=ProviderOrganization,proto3" json:"ProviderOrganization,omitempty"`
	ID                   string `protobuf:"bytes,4,opt,name=ID,proto3" json:"ID,omitempty"`
	Organization         string `protobuf:"bytes,5,opt,name=Organization,proto3" json:"Organization,omitempty"`
}

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

func (m *Mapping) GetProvider() string {
	if m != nil {
		return m.Provider
	}
	return ""
}

func (m *Mapping) GetScheme() string {
	if m != nil {
		return m.Scheme
	}
	return ""
}

func (m *Mapping) GetProviderOrganization() string {
	if m != nil {
		return m.ProviderOrganization
	}
	return ""
}

func (m *Mapping) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

func (m *Mapping) GetOrganization() string {
	if m != nil {
		return m.Organization
	}
	return ""
}

type Organization struct {
	ID          string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name        string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"`
	DefaultRole string `protobuf:"bytes,3,opt,name=DefaultRole,proto3" json:"DefaultRole,omitempty"`
}

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

func (m *Organization) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

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

func (m *Organization) GetDefaultRole() string {
	if m != nil {
		return m.DefaultRole
	}
	return ""
}

type Config struct {
	Auth *AuthConfig `protobuf:"bytes,1,opt,name=Auth" json:"Auth,omitempty"`
}

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

func (m *Config) GetAuth() *AuthConfig {
	if m != nil {
		return m.Auth
	}
	return nil
}

type AuthConfig struct {
	SuperAdminNewUsers bool `protobuf:"varint,1,opt,name=SuperAdminNewUsers,proto3" json:"SuperAdminNewUsers,omitempty"`
}

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

func (m *AuthConfig) GetSuperAdminNewUsers() bool {
	if m != nil {
		return m.SuperAdminNewUsers
	}
	return false
}

type BuildInfo struct {
	Version string `protobuf:"bytes,1,opt,name=Version,proto3" json:"Version,omitempty"`
	Commit  string `protobuf:"bytes,2,opt,name=Commit,proto3" json:"Commit,omitempty"`
}

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

func (m *BuildInfo) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

func (m *BuildInfo) GetCommit() string {
	if m != nil {
		return m.Commit
	}
	return ""
}

func init() {
	proto.RegisterType((*Source)(nil), "internal.Source")
	proto.RegisterType((*Dashboard)(nil), "internal.Dashboard")
	proto.RegisterType((*DashboardCell)(nil), "internal.DashboardCell")
	proto.RegisterType((*DecimalPlaces)(nil), "internal.DecimalPlaces")
	proto.RegisterType((*TableOptions)(nil), "internal.TableOptions")
	proto.RegisterType((*RenamableField)(nil), "internal.RenamableField")
	proto.RegisterType((*Color)(nil), "internal.Color")
	proto.RegisterType((*Legend)(nil), "internal.Legend")
	proto.RegisterType((*Axis)(nil), "internal.Axis")
	proto.RegisterType((*Template)(nil), "internal.Template")
	proto.RegisterType((*TemplateValue)(nil), "internal.TemplateValue")
	proto.RegisterType((*TemplateQuery)(nil), "internal.TemplateQuery")
	proto.RegisterType((*Server)(nil), "internal.Server")
	proto.RegisterType((*Layout)(nil), "internal.Layout")
	proto.RegisterType((*Cell)(nil), "internal.Cell")
	proto.RegisterType((*Query)(nil), "internal.Query")
	proto.RegisterType((*TimeShift)(nil), "internal.TimeShift")
	proto.RegisterType((*Range)(nil), "internal.Range")
	proto.RegisterType((*AlertRule)(nil), "internal.AlertRule")
	proto.RegisterType((*User)(nil), "internal.User")
	proto.RegisterType((*Role)(nil), "internal.Role")
	proto.RegisterType((*Mapping)(nil), "internal.Mapping")
	proto.RegisterType((*Organization)(nil), "internal.Organization")
	proto.RegisterType((*Config)(nil), "internal.Config")
	proto.RegisterType((*AuthConfig)(nil), "internal.AuthConfig")
	proto.RegisterType((*BuildInfo)(nil), "internal.BuildInfo")
}

func init() { proto.RegisterFile("internal.proto", fileDescriptorInternal) }

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