// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        (unknown)
// source: masjid_service.proto

package proto

import (
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Defines the calculation method to use. If this field is set (excluding OTHER), then the Fajr
// and Isha angle fields are automatically set.
type PrayerTimesConfiguration_CalculationMethod int32

const (
	// A custom calculation method.
	PrayerTimesConfiguration_OTHER PrayerTimesConfiguration_CalculationMethod = 0
	// Muslim World League
	// Uses Fajr angle of 18 and an Isha angle of 17
	PrayerTimesConfiguration_MUSLIM_WORLD_LEAGUE PrayerTimesConfiguration_CalculationMethod = 1
	// Egyptian General Authority of Survey
	// Uses Fajr angle of 19.5 and an Isha angle of 17.5
	PrayerTimesConfiguration_EGYPTIAN PrayerTimesConfiguration_CalculationMethod = 2
	// University of Islamic Sciences, Karachi
	// Uses Fajr angle of 18 and an Isha angle of 18
	PrayerTimesConfiguration_KARACHI PrayerTimesConfiguration_CalculationMethod = 3
	// Umm al-Qura University, Makkah
	// Uses a Fajr angle of 18.5 and an Isha angle of 90. Note: You should add a +30 minute custom
	// adjustment of Isha during Ramadan.
	PrayerTimesConfiguration_UMM_AL_QURA PrayerTimesConfiguration_CalculationMethod = 4
	// The Gulf Region
	// Uses Fajr and Isha angles of 18.2 degrees.
	PrayerTimesConfiguration_DUBAI PrayerTimesConfiguration_CalculationMethod = 5
	// Moonsighting Committee
	// Uses a Fajr angle of 18 and an Isha angle of 18. Also uses seasonal adjustment values.
	PrayerTimesConfiguration_MOON_SIGHTING_COMMITTEE PrayerTimesConfiguration_CalculationMethod = 6
	// Referred to as the ISNA method
	// This method is included for completeness, but is not recommended.
	// Uses a Fajr angle of 15 and an Isha angle of 15.
	PrayerTimesConfiguration_NORTH_AMERICA PrayerTimesConfiguration_CalculationMethod = 7
	// Kuwait
	// Uses a Fajr angle of 18 and an Isha angle of 17.5
	PrayerTimesConfiguration_KUWAIT PrayerTimesConfiguration_CalculationMethod = 8
	// Qatar
	// Modified version of Umm al-Qura that uses a Fajr angle of 18.
	PrayerTimesConfiguration_QATAR PrayerTimesConfiguration_CalculationMethod = 9
	// Singapore
	// Uses a Fajr angle of 20 and an Isha angle of 18
	PrayerTimesConfiguration_SINGAPORE PrayerTimesConfiguration_CalculationMethod = 10
	// UOIF
	// Uses a Fajr angle of 12 and an Isha angle of 12
	PrayerTimesConfiguration_UOIF PrayerTimesConfiguration_CalculationMethod = 11
)

// Enum value maps for PrayerTimesConfiguration_CalculationMethod.
var (
	PrayerTimesConfiguration_CalculationMethod_name = map[int32]string{
		0:  "OTHER",
		1:  "MUSLIM_WORLD_LEAGUE",
		2:  "EGYPTIAN",
		3:  "KARACHI",
		4:  "UMM_AL_QURA",
		5:  "DUBAI",
		6:  "MOON_SIGHTING_COMMITTEE",
		7:  "NORTH_AMERICA",
		8:  "KUWAIT",
		9:  "QATAR",
		10: "SINGAPORE",
		11: "UOIF",
	}
	PrayerTimesConfiguration_CalculationMethod_value = map[string]int32{
		"OTHER":                   0,
		"MUSLIM_WORLD_LEAGUE":     1,
		"EGYPTIAN":                2,
		"KARACHI":                 3,
		"UMM_AL_QURA":             4,
		"DUBAI":                   5,
		"MOON_SIGHTING_COMMITTEE": 6,
		"NORTH_AMERICA":           7,
		"KUWAIT":                  8,
		"QATAR":                   9,
		"SINGAPORE":               10,
		"UOIF":                    11,
	}
)

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

func (x PrayerTimesConfiguration_CalculationMethod) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PrayerTimesConfiguration_CalculationMethod) Descriptor() protoreflect.EnumDescriptor {
	return file_masjid_service_proto_enumTypes[0].Descriptor()
}

func (PrayerTimesConfiguration_CalculationMethod) Type() protoreflect.EnumType {
	return &file_masjid_service_proto_enumTypes[0]
}

func (x PrayerTimesConfiguration_CalculationMethod) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PrayerTimesConfiguration_CalculationMethod.Descriptor instead.
func (PrayerTimesConfiguration_CalculationMethod) EnumDescriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{0, 0}
}

// The Juristic method to use for calculating Asr prayer times.
type PrayerTimesConfiguration_AsrJuristicMethod int32

const (
	// Use the Shafi/Hanbali/Maliki method to calculate Asr timings.
	PrayerTimesConfiguration_SHAFI_HANBALI_MALIKI PrayerTimesConfiguration_AsrJuristicMethod = 0
	// Use the Hanafi method to calculate Asr timings.
	PrayerTimesConfiguration_HANAFI PrayerTimesConfiguration_AsrJuristicMethod = 1
)

// Enum value maps for PrayerTimesConfiguration_AsrJuristicMethod.
var (
	PrayerTimesConfiguration_AsrJuristicMethod_name = map[int32]string{
		0: "SHAFI_HANBALI_MALIKI",
		1: "HANAFI",
	}
	PrayerTimesConfiguration_AsrJuristicMethod_value = map[string]int32{
		"SHAFI_HANBALI_MALIKI": 0,
		"HANAFI":               1,
	}
)

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

func (x PrayerTimesConfiguration_AsrJuristicMethod) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PrayerTimesConfiguration_AsrJuristicMethod) Descriptor() protoreflect.EnumDescriptor {
	return file_masjid_service_proto_enumTypes[1].Descriptor()
}

func (PrayerTimesConfiguration_AsrJuristicMethod) Type() protoreflect.EnumType {
	return &file_masjid_service_proto_enumTypes[1]
}

func (x PrayerTimesConfiguration_AsrJuristicMethod) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PrayerTimesConfiguration_AsrJuristicMethod.Descriptor instead.
func (PrayerTimesConfiguration_AsrJuristicMethod) EnumDescriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{0, 1}
}

// The high latitude rule for calculating Fajr and Isha prayers.
type PrayerTimesConfiguration_HighLatitudeRule int32

const (
	PrayerTimesConfiguration_NO_HIGH_LATITUDE_RULE PrayerTimesConfiguration_HighLatitudeRule = 0
	// Fajr will never be earlier than the middle of the night, and Isha will never be later than
	// the middle of the night.
	PrayerTimesConfiguration_MIDDLE_OF_THE_NIGHT PrayerTimesConfiguration_HighLatitudeRule = 1
	// Fajr will never be earlier than the beginning of the last seventh of the night, and Isha will
	// never be later than the end of the first seventh of the night.
	PrayerTimesConfiguration_SEVENTH_OF_THE_NIGHT PrayerTimesConfiguration_HighLatitudeRule = 2
	// Similar to SEVENTH_OF_THE_NIGHT, but instead of 1/7th, the fraction of the night used
	// is fajr_angle / 60 and isha_angle / 60.
	PrayerTimesConfiguration_TWILIGHT_ANGLE PrayerTimesConfiguration_HighLatitudeRule = 3
)

// Enum value maps for PrayerTimesConfiguration_HighLatitudeRule.
var (
	PrayerTimesConfiguration_HighLatitudeRule_name = map[int32]string{
		0: "NO_HIGH_LATITUDE_RULE",
		1: "MIDDLE_OF_THE_NIGHT",
		2: "SEVENTH_OF_THE_NIGHT",
		3: "TWILIGHT_ANGLE",
	}
	PrayerTimesConfiguration_HighLatitudeRule_value = map[string]int32{
		"NO_HIGH_LATITUDE_RULE": 0,
		"MIDDLE_OF_THE_NIGHT":   1,
		"SEVENTH_OF_THE_NIGHT":  2,
		"TWILIGHT_ANGLE":        3,
	}
)

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

func (x PrayerTimesConfiguration_HighLatitudeRule) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PrayerTimesConfiguration_HighLatitudeRule) Descriptor() protoreflect.EnumDescriptor {
	return file_masjid_service_proto_enumTypes[2].Descriptor()
}

func (PrayerTimesConfiguration_HighLatitudeRule) Type() protoreflect.EnumType {
	return &file_masjid_service_proto_enumTypes[2]
}

func (x PrayerTimesConfiguration_HighLatitudeRule) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PrayerTimesConfiguration_HighLatitudeRule.Descriptor instead.
func (PrayerTimesConfiguration_HighLatitudeRule) EnumDescriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{0, 2}
}

// A message that holds prayer times configuration. This message contains all the fields
// necessary to calculate prayer times.
type PrayerTimesConfiguration struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The calculation method to use.
	Method PrayerTimesConfiguration_CalculationMethod `protobuf:"varint,1,opt,name=method,proto3,enum=limestone.PrayerTimesConfiguration_CalculationMethod" json:"method,omitempty"`
	// The Fajr angle to use. This does not need to be set if the calculation method is set.
	// If both fields are set, then the calculation method field takes precedence.
	FajrAngle float64 `protobuf:"fixed64,2,opt,name=fajr_angle,json=fajrAngle,proto3" json:"fajr_angle,omitempty"`
	// The Isha angle to use. This does not need to be set if the calculation method is set.
	// If both fields are set, then the calculation method field takes precedence.
	IshaAngle float64 `protobuf:"fixed64,3,opt,name=isha_angle,json=ishaAngle,proto3" json:"isha_angle,omitempty"`
	// Minutes after Maghrib (if set, the time for Isha will be Maghrib plus the Isha interval).
	IshaInterval int32 `protobuf:"varint,4,opt,name=isha_interval,json=ishaInterval,proto3" json:"isha_interval,omitempty"`
	// The juristic method to use for calculating Asr timings.
	AsrMethod PrayerTimesConfiguration_AsrJuristicMethod `protobuf:"varint,5,opt,name=asr_method,json=asrMethod,proto3,enum=limestone.PrayerTimesConfiguration_AsrJuristicMethod" json:"asr_method,omitempty"`
	// The high latitude rule to use to calculate Fajr and Isha prayers.
	HighLatitudeRule PrayerTimesConfiguration_HighLatitudeRule `protobuf:"varint,6,opt,name=high_latitude_rule,json=highLatitudeRule,proto3,enum=limestone.PrayerTimesConfiguration_HighLatitudeRule" json:"high_latitude_rule,omitempty"`
	// The prayer adjusments (aka offsets) to apply to the calculated prayer times.
	Adjustments *PrayerTimesConfiguration_PrayerAdjustments `protobuf:"bytes,7,opt,name=adjustments,proto3" json:"adjustments,omitempty"`
}

func (x *PrayerTimesConfiguration) Reset() {
	*x = PrayerTimesConfiguration{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PrayerTimesConfiguration) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrayerTimesConfiguration) ProtoMessage() {}

func (x *PrayerTimesConfiguration) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrayerTimesConfiguration.ProtoReflect.Descriptor instead.
func (*PrayerTimesConfiguration) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{0}
}

func (x *PrayerTimesConfiguration) GetMethod() PrayerTimesConfiguration_CalculationMethod {
	if x != nil {
		return x.Method
	}
	return PrayerTimesConfiguration_OTHER
}

func (x *PrayerTimesConfiguration) GetFajrAngle() float64 {
	if x != nil {
		return x.FajrAngle
	}
	return 0
}

func (x *PrayerTimesConfiguration) GetIshaAngle() float64 {
	if x != nil {
		return x.IshaAngle
	}
	return 0
}

func (x *PrayerTimesConfiguration) GetIshaInterval() int32 {
	if x != nil {
		return x.IshaInterval
	}
	return 0
}

func (x *PrayerTimesConfiguration) GetAsrMethod() PrayerTimesConfiguration_AsrJuristicMethod {
	if x != nil {
		return x.AsrMethod
	}
	return PrayerTimesConfiguration_SHAFI_HANBALI_MALIKI
}

func (x *PrayerTimesConfiguration) GetHighLatitudeRule() PrayerTimesConfiguration_HighLatitudeRule {
	if x != nil {
		return x.HighLatitudeRule
	}
	return PrayerTimesConfiguration_NO_HIGH_LATITUDE_RULE
}

func (x *PrayerTimesConfiguration) GetAdjustments() *PrayerTimesConfiguration_PrayerAdjustments {
	if x != nil {
		return x.Adjustments
	}
	return nil
}

// Defines a proto representing the main data corresponding to a masjid.
// This data includes the masjid name, address, phone number and prayer times configuration.
type Masjid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The unique id of the masjid. This field is output only.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The name of the masjid.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// Whether or not the masjid has been verified.
	IsVerified bool `protobuf:"varint,3,opt,name=is_verified,json=isVerified,proto3" json:"is_verified,omitempty"`
	// The main address of the masjid.
	Address *Masjid_Address `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
	// The main phone number to contact for the masjid.
	PhoneNumber *Masjid_PhoneNumber `protobuf:"bytes,5,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
	// The configuration to calculate prayer times for the masjid.
	PrayerConfig *PrayerTimesConfiguration `protobuf:"bytes,6,opt,name=prayer_config,json=prayerConfig,proto3" json:"prayer_config,omitempty"`
	// The create time of the Masjid. This field is output only.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// The update time of the Masjid. This field is output only.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
}

func (x *Masjid) Reset() {
	*x = Masjid{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Masjid) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Masjid) ProtoMessage() {}

func (x *Masjid) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Masjid.ProtoReflect.Descriptor instead.
func (*Masjid) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{1}
}

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

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

func (x *Masjid) GetIsVerified() bool {
	if x != nil {
		return x.IsVerified
	}
	return false
}

func (x *Masjid) GetAddress() *Masjid_Address {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *Masjid) GetPhoneNumber() *Masjid_PhoneNumber {
	if x != nil {
		return x.PhoneNumber
	}
	return nil
}

func (x *Masjid) GetPrayerConfig() *PrayerTimesConfiguration {
	if x != nil {
		return x.PrayerConfig
	}
	return nil
}

func (x *Masjid) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *Masjid) GetUpdateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

type CreateMasjidRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The masjid to create in the database.
	Masjid *Masjid `protobuf:"bytes,1,opt,name=masjid,proto3" json:"masjid,omitempty"`
}

func (x *CreateMasjidRequest) Reset() {
	*x = CreateMasjidRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateMasjidRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateMasjidRequest) ProtoMessage() {}

func (x *CreateMasjidRequest) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateMasjidRequest.ProtoReflect.Descriptor instead.
func (*CreateMasjidRequest) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{2}
}

func (x *CreateMasjidRequest) GetMasjid() *Masjid {
	if x != nil {
		return x.Masjid
	}
	return nil
}

type UpdateMasjidRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The masjid to update in the database.
	//
	// The masjid's `id` field is used to identify the book to update.
	// Format: masjids/{masjid}
	Masjid *Masjid `protobuf:"bytes,1,opt,name=masjid,proto3" json:"masjid,omitempty"`
}

func (x *UpdateMasjidRequest) Reset() {
	*x = UpdateMasjidRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateMasjidRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateMasjidRequest) ProtoMessage() {}

func (x *UpdateMasjidRequest) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateMasjidRequest.ProtoReflect.Descriptor instead.
func (*UpdateMasjidRequest) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{3}
}

func (x *UpdateMasjidRequest) GetMasjid() *Masjid {
	if x != nil {
		return x.Masjid
	}
	return nil
}

type DeleteMasjidRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The id of the masjid that should be deleted.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *DeleteMasjidRequest) Reset() {
	*x = DeleteMasjidRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteMasjidRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteMasjidRequest) ProtoMessage() {}

func (x *DeleteMasjidRequest) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteMasjidRequest.ProtoReflect.Descriptor instead.
func (*DeleteMasjidRequest) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{4}
}

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

type DeleteMasjidResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *DeleteMasjidResponse) Reset() {
	*x = DeleteMasjidResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteMasjidResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteMasjidResponse) ProtoMessage() {}

func (x *DeleteMasjidResponse) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteMasjidResponse.ProtoReflect.Descriptor instead.
func (*DeleteMasjidResponse) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{5}
}

type GetMasjidRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The id of the masjid that should be returned.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

func (x *GetMasjidRequest) Reset() {
	*x = GetMasjidRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetMasjidRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMasjidRequest) ProtoMessage() {}

func (x *GetMasjidRequest) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetMasjidRequest.ProtoReflect.Descriptor instead.
func (*GetMasjidRequest) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{6}
}

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

type ListMasjidsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The maximum number of masjids to return. Fewer masjids might be returned.
	// Default value is 25.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// A page token from a previous `ListMasjids` call. If this is provided, then the
	// next page will be returned.
	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}

func (x *ListMasjidsRequest) Reset() {
	*x = ListMasjidsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListMasjidsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListMasjidsRequest) ProtoMessage() {}

func (x *ListMasjidsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListMasjidsRequest.ProtoReflect.Descriptor instead.
func (*ListMasjidsRequest) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{7}
}

func (x *ListMasjidsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListMasjidsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

type ListMasjidsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The list of returned masjids.
	Masjids []*Masjid `protobuf:"bytes,1,rep,name=masjids,proto3" json:"masjids,omitempty"`
}

func (x *ListMasjidsResponse) Reset() {
	*x = ListMasjidsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListMasjidsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListMasjidsResponse) ProtoMessage() {}

func (x *ListMasjidsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListMasjidsResponse.ProtoReflect.Descriptor instead.
func (*ListMasjidsResponse) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{8}
}

func (x *ListMasjidsResponse) GetMasjids() []*Masjid {
	if x != nil {
		return x.Masjids
	}
	return nil
}

// The manual adjustments to apply to the prayer timings. The value that each field is set to is
// the offset which will be added to the calculated time to obtain the final prayer time.
type PrayerTimesConfiguration_PrayerAdjustments struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Adjustment offset for Fajr in minutes. Value can be negative.
	FajrAdjustment int32 `protobuf:"varint,1,opt,name=fajr_adjustment,json=fajrAdjustment,proto3" json:"fajr_adjustment,omitempty"`
	// Adjustment offset for Dhuhr in minutes. Value can be negative.
	DhuhrAdjustment int32 `protobuf:"varint,2,opt,name=dhuhr_adjustment,json=dhuhrAdjustment,proto3" json:"dhuhr_adjustment,omitempty"`
	// Adjustment offset for Asr in minutes. Value can be negative.
	AsrAdjustment int32 `protobuf:"varint,3,opt,name=asr_adjustment,json=asrAdjustment,proto3" json:"asr_adjustment,omitempty"`
	// Adjustment offset for Maghrib in minutes. Value can be negative.
	MaghribAdjustment int32 `protobuf:"varint,4,opt,name=maghrib_adjustment,json=maghribAdjustment,proto3" json:"maghrib_adjustment,omitempty"`
	// Adjustment offset for Isha in minutes. Value can be negative.
	IshaAdjustment int32 `protobuf:"varint,5,opt,name=isha_adjustment,json=ishaAdjustment,proto3" json:"isha_adjustment,omitempty"`
}

func (x *PrayerTimesConfiguration_PrayerAdjustments) Reset() {
	*x = PrayerTimesConfiguration_PrayerAdjustments{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PrayerTimesConfiguration_PrayerAdjustments) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrayerTimesConfiguration_PrayerAdjustments) ProtoMessage() {}

func (x *PrayerTimesConfiguration_PrayerAdjustments) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrayerTimesConfiguration_PrayerAdjustments.ProtoReflect.Descriptor instead.
func (*PrayerTimesConfiguration_PrayerAdjustments) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{0, 0}
}

func (x *PrayerTimesConfiguration_PrayerAdjustments) GetFajrAdjustment() int32 {
	if x != nil {
		return x.FajrAdjustment
	}
	return 0
}

func (x *PrayerTimesConfiguration_PrayerAdjustments) GetDhuhrAdjustment() int32 {
	if x != nil {
		return x.DhuhrAdjustment
	}
	return 0
}

func (x *PrayerTimesConfiguration_PrayerAdjustments) GetAsrAdjustment() int32 {
	if x != nil {
		return x.AsrAdjustment
	}
	return 0
}

func (x *PrayerTimesConfiguration_PrayerAdjustments) GetMaghribAdjustment() int32 {
	if x != nil {
		return x.MaghribAdjustment
	}
	return 0
}

func (x *PrayerTimesConfiguration_PrayerAdjustments) GetIshaAdjustment() int32 {
	if x != nil {
		return x.IshaAdjustment
	}
	return 0
}

// Defines a postal address for the masjid. This message can be used across countries.
// The fields were inspired by this blog post: https://shopify.engineering/handling-addresses-from-all-around-the-world
type Masjid_Address struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The street address of the masjid.
	AddressLine_1 string `protobuf:"bytes,1,opt,name=address_line_1,json=addressLine1,proto3" json:"address_line_1,omitempty"`
	// Additional address information for the masjid, such as suite number, floor, etc.
	AddressLine_2 string `protobuf:"bytes,2,opt,name=address_line_2,json=addressLine2,proto3" json:"address_line_2,omitempty"`
	// The code of the administrative divisions in a country.
	// See https://en.wikipedia.org/wiki/List_of_administrative_divisions_by_country.Address
	// This field is what should be used for things like states or provinces.
	ZoneCode string `protobuf:"bytes,3,opt,name=zone_code,json=zoneCode,proto3" json:"zone_code,omitempty"`
	// The postal code of the masjid.
	PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"`
	// The city where the masjid is located.
	City string `protobuf:"bytes,5,opt,name=city,proto3" json:"city,omitempty"`
	// A valid ISO 3166-1 country code. The full list can be found here: https://www.iban.com/country-codes.
	// Consider only the Alpha-2 code column.
	CountryCode string `protobuf:"bytes,6,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
}

func (x *Masjid_Address) Reset() {
	*x = Masjid_Address{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Masjid_Address) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Masjid_Address) ProtoMessage() {}

func (x *Masjid_Address) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Masjid_Address.ProtoReflect.Descriptor instead.
func (*Masjid_Address) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{1, 0}
}

func (x *Masjid_Address) GetAddressLine_1() string {
	if x != nil {
		return x.AddressLine_1
	}
	return ""
}

func (x *Masjid_Address) GetAddressLine_2() string {
	if x != nil {
		return x.AddressLine_2
	}
	return ""
}

func (x *Masjid_Address) GetZoneCode() string {
	if x != nil {
		return x.ZoneCode
	}
	return ""
}

func (x *Masjid_Address) GetPostalCode() string {
	if x != nil {
		return x.PostalCode
	}
	return ""
}

func (x *Masjid_Address) GetCity() string {
	if x != nil {
		return x.City
	}
	return ""
}

func (x *Masjid_Address) GetCountryCode() string {
	if x != nil {
		return x.CountryCode
	}
	return ""
}

// Defines the main phone number for the masjid.
type Masjid_PhoneNumber struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The country code corresponding to the phone number.
	// Country codes are defined by ITU-T standards E.123 and E.164.
	// See https://en.wikipedia.org/wiki/List_of_country_calling_codes.
	CountryCode string `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
	// The phone number of the masjid.
	Number string `protobuf:"bytes,2,opt,name=number,proto3" json:"number,omitempty"`
	// A extension for the number, if required.
	Extension string `protobuf:"bytes,3,opt,name=extension,proto3" json:"extension,omitempty"`
}

func (x *Masjid_PhoneNumber) Reset() {
	*x = Masjid_PhoneNumber{}
	if protoimpl.UnsafeEnabled {
		mi := &file_masjid_service_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Masjid_PhoneNumber) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Masjid_PhoneNumber) ProtoMessage() {}

func (x *Masjid_PhoneNumber) ProtoReflect() protoreflect.Message {
	mi := &file_masjid_service_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Masjid_PhoneNumber.ProtoReflect.Descriptor instead.
func (*Masjid_PhoneNumber) Descriptor() ([]byte, []int) {
	return file_masjid_service_proto_rawDescGZIP(), []int{1, 1}
}

func (x *Masjid_PhoneNumber) GetCountryCode() string {
	if x != nil {
		return x.CountryCode
	}
	return ""
}

func (x *Masjid_PhoneNumber) GetNumber() string {
	if x != nil {
		return x.Number
	}
	return ""
}

func (x *Masjid_PhoneNumber) GetExtension() string {
	if x != nil {
		return x.Extension
	}
	return ""
}

var File_masjid_service_proto protoreflect.FileDescriptor

var file_masjid_service_proto_rawDesc = []byte{
	0x0a, 0x14, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e,
	0x65, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e,
	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76,
	0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x08, 0x0a, 0x18, 0x50,
	0x72, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x6f, 0x6e, 0x65, 0x2e, 0x50, 0x72, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x43,
	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c,
	0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06,
	0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x6a, 0x72, 0x5f, 0x61,
	0x6e, 0x67, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x61, 0x6a, 0x72,
	0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x68, 0x61, 0x5f, 0x61, 0x6e,
	0x67, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x69, 0x73, 0x68, 0x61, 0x41,
	0x6e, 0x67, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x68, 0x61, 0x5f, 0x69, 0x6e, 0x74,
	0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x73, 0x68,
	0x61, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x54, 0x0a, 0x0a, 0x61, 0x73, 0x72,
	0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e,
	0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x50, 0x72, 0x61, 0x79, 0x65, 0x72,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x41, 0x73, 0x72, 0x4a, 0x75, 0x72, 0x69, 0x73, 0x74, 0x69, 0x63, 0x4d, 0x65,
	0x74, 0x68, 0x6f, 0x64, 0x52, 0x09, 0x61, 0x73, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12,
	0x62, 0x0a, 0x12, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65,
	0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x6c, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x50, 0x72, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x2e, 0x48, 0x69, 0x67, 0x68, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x52, 0x75, 0x6c,
	0x65, 0x52, 0x10, 0x68, 0x69, 0x67, 0x68, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x52,
	0x75, 0x6c, 0x65, 0x12, 0x57, 0x0a, 0x0b, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e,
	0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x50, 0x72, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72,
	0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52,
	0x0b, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xe6, 0x01, 0x0a,
	0x11, 0x50, 0x72, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e,
	0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x61, 0x6a, 0x72, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73,
	0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x61, 0x6a,
	0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64,
	0x68, 0x75, 0x68, 0x72, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x68, 0x75, 0x68, 0x72, 0x41, 0x64, 0x6a, 0x75,
	0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x73, 0x72, 0x5f, 0x61, 0x64,
	0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d,
	0x61, 0x73, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a,
	0x12, 0x6d, 0x61, 0x67, 0x68, 0x72, 0x69, 0x62, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d,
	0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6d, 0x61, 0x67, 0x68, 0x72,
	0x69, 0x62, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f,
	0x69, 0x73, 0x68, 0x61, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x73, 0x68, 0x61, 0x41, 0x64, 0x6a, 0x75, 0x73,
	0x74, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xce, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x09, 0x0a, 0x05, 0x4f,
	0x54, 0x48, 0x45, 0x52, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x55, 0x53, 0x4c, 0x49, 0x4d,
	0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x4c, 0x45, 0x41, 0x47, 0x55, 0x45, 0x10, 0x01, 0x12,
	0x0c, 0x0a, 0x08, 0x45, 0x47, 0x59, 0x50, 0x54, 0x49, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a,
	0x07, 0x4b, 0x41, 0x52, 0x41, 0x43, 0x48, 0x49, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4d,
	0x4d, 0x5f, 0x41, 0x4c, 0x5f, 0x51, 0x55, 0x52, 0x41, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x44,
	0x55, 0x42, 0x41, 0x49, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x4f, 0x4f, 0x4e, 0x5f, 0x53,
	0x49, 0x47, 0x48, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45,
	0x45, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x52, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45,
	0x52, 0x49, 0x43, 0x41, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x4b, 0x55, 0x57, 0x41, 0x49, 0x54,
	0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x51, 0x41, 0x54, 0x41, 0x52, 0x10, 0x09, 0x12, 0x0d, 0x0a,
	0x09, 0x53, 0x49, 0x4e, 0x47, 0x41, 0x50, 0x4f, 0x52, 0x45, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04,
	0x55, 0x4f, 0x49, 0x46, 0x10, 0x0b, 0x22, 0x39, 0x0a, 0x11, 0x41, 0x73, 0x72, 0x4a, 0x75, 0x72,
	0x69, 0x73, 0x74, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x14, 0x53,
	0x48, 0x41, 0x46, 0x49, 0x5f, 0x48, 0x41, 0x4e, 0x42, 0x41, 0x4c, 0x49, 0x5f, 0x4d, 0x41, 0x4c,
	0x49, 0x4b, 0x49, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x41, 0x4e, 0x41, 0x46, 0x49, 0x10,
	0x01, 0x22, 0x74, 0x0a, 0x10, 0x48, 0x69, 0x67, 0x68, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64,
	0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x4f, 0x5f, 0x48, 0x49, 0x47, 0x48,
	0x5f, 0x4c, 0x41, 0x54, 0x49, 0x54, 0x55, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x00,
	0x12, 0x17, 0x0a, 0x13, 0x4d, 0x49, 0x44, 0x44, 0x4c, 0x45, 0x5f, 0x4f, 0x46, 0x5f, 0x54, 0x48,
	0x45, 0x5f, 0x4e, 0x49, 0x47, 0x48, 0x54, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x56,
	0x45, 0x4e, 0x54, 0x48, 0x5f, 0x4f, 0x46, 0x5f, 0x54, 0x48, 0x45, 0x5f, 0x4e, 0x49, 0x47, 0x48,
	0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x57, 0x49, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x5f,
	0x41, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x03, 0x22, 0xbd, 0x05, 0x0a, 0x06, 0x4d, 0x61, 0x73, 0x6a,
	0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
	0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x76, 0x65, 0x72,
	0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x56,
	0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x0c,
	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4d,
	0x61, 0x73, 0x6a, 0x69, 0x64, 0x2e, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x52, 0x0b, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x48,
	0x0a, 0x0d, 0x70, 0x72, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e,
	0x65, 0x2e, 0x50, 0x72, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x70, 0x72, 0x61, 0x79,
	0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69,
	0x6d, 0x65, 0x1a, 0xca, 0x01, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24,
	0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x31,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c,
	0x69, 0x6e, 0x65, 0x31, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f,
	0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x6e, 0x65, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x7a, 0x6f,
	0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x7a,
	0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x61,
	0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f,
	0x73, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x1a,
	0x66, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21,
	0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78,
	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f,
	0x0a, 0x06, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
	0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x73, 0x6a, 0x69,
	0x64, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52, 0x06, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x22,
	0x46, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f,
	0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02, 0x52,
	0x06, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41, 0x01, 0x02,
	0x52, 0x02, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61,
	0x73, 0x6a, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x0a, 0x10,
	0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe2, 0x41,
	0x01, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61,
	0x73, 0x6a, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09,
	0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67,
	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
	0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x42, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74,
	0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x2b, 0x0a, 0x07, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x11, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x73,
	0x6a, 0x69, 0x64, 0x52, 0x07, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x73, 0x32, 0xa2, 0x04, 0x0a,
	0x0d, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67,
	0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x12, 0x1e,
	0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11,
	0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x73, 0x6a, 0x69,
	0x64, 0x22, 0x24, 0xda, 0x41, 0x06, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93,
	0x02, 0x15, 0x3a, 0x06, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x22, 0x0b, 0x2f, 0x76, 0x31, 0x2f,
	0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x73, 0x12, 0x75, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x12, 0x1e, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x6f, 0x6e, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x6f, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x22, 0x32, 0xda, 0x41, 0x06, 0x6d,
	0x61, 0x73, 0x6a, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x06, 0x6d, 0x61, 0x73,
	0x6a, 0x69, 0x64, 0x32, 0x19, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64,
	0x2e, 0x69, 0x64, 0x3d, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x70,
	0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x12, 0x1e,
	0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
	0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x1f, 0xda, 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x2a, 0x12, 0x2f, 0x76,
	0x31, 0x2f, 0x7b, 0x69, 0x64, 0x3d, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x73, 0x2f, 0x2a, 0x7d,
	0x12, 0x5c, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x12, 0x1b, 0x2e,
	0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x73,
	0x6a, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x6c, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x22, 0x1f, 0xda,
	0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x2f,
	0x7b, 0x69, 0x64, 0x3d, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x61,
	0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x73, 0x12, 0x1d, 0x2e,
	0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61,
	0x73, 0x6a, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x73,
	0x6a, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3,
	0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x73, 0x6a, 0x69, 0x64,
	0x73, 0x42, 0x8a, 0x01, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x2e, 0x6c, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x6f, 0x6e, 0x65, 0x42, 0x12, 0x4d, 0x61, 0x73, 0x6a, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x21, 0x67, 0x69, 0x74, 0x68, 0x75,
	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x6e, 0x61, 0x64, 0x65, 0x76, 0x2f, 0x6c, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0xa2, 0x02, 0x03, 0x4c,
	0x58, 0x58, 0xaa, 0x02, 0x09, 0x4c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0xca, 0x02,
	0x09, 0x4c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0xe2, 0x02, 0x15, 0x4c, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
	0x74, 0x61, 0xea, 0x02, 0x09, 0x4c, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x62, 0x06,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_masjid_service_proto_rawDescOnce sync.Once
	file_masjid_service_proto_rawDescData = file_masjid_service_proto_rawDesc
)

func file_masjid_service_proto_rawDescGZIP() []byte {
	file_masjid_service_proto_rawDescOnce.Do(func() {
		file_masjid_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_masjid_service_proto_rawDescData)
	})
	return file_masjid_service_proto_rawDescData
}

var file_masjid_service_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_masjid_service_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_masjid_service_proto_goTypes = []any{
	(PrayerTimesConfiguration_CalculationMethod)(0),    // 0: limestone.PrayerTimesConfiguration.CalculationMethod
	(PrayerTimesConfiguration_AsrJuristicMethod)(0),    // 1: limestone.PrayerTimesConfiguration.AsrJuristicMethod
	(PrayerTimesConfiguration_HighLatitudeRule)(0),     // 2: limestone.PrayerTimesConfiguration.HighLatitudeRule
	(*PrayerTimesConfiguration)(nil),                   // 3: limestone.PrayerTimesConfiguration
	(*Masjid)(nil),                                     // 4: limestone.Masjid
	(*CreateMasjidRequest)(nil),                        // 5: limestone.CreateMasjidRequest
	(*UpdateMasjidRequest)(nil),                        // 6: limestone.UpdateMasjidRequest
	(*DeleteMasjidRequest)(nil),                        // 7: limestone.DeleteMasjidRequest
	(*DeleteMasjidResponse)(nil),                       // 8: limestone.DeleteMasjidResponse
	(*GetMasjidRequest)(nil),                           // 9: limestone.GetMasjidRequest
	(*ListMasjidsRequest)(nil),                         // 10: limestone.ListMasjidsRequest
	(*ListMasjidsResponse)(nil),                        // 11: limestone.ListMasjidsResponse
	(*PrayerTimesConfiguration_PrayerAdjustments)(nil), // 12: limestone.PrayerTimesConfiguration.PrayerAdjustments
	(*Masjid_Address)(nil),                             // 13: limestone.Masjid.Address
	(*Masjid_PhoneNumber)(nil),                         // 14: limestone.Masjid.PhoneNumber
	(*timestamppb.Timestamp)(nil),                      // 15: google.protobuf.Timestamp
}
var file_masjid_service_proto_depIdxs = []int32{
	0,  // 0: limestone.PrayerTimesConfiguration.method:type_name -> limestone.PrayerTimesConfiguration.CalculationMethod
	1,  // 1: limestone.PrayerTimesConfiguration.asr_method:type_name -> limestone.PrayerTimesConfiguration.AsrJuristicMethod
	2,  // 2: limestone.PrayerTimesConfiguration.high_latitude_rule:type_name -> limestone.PrayerTimesConfiguration.HighLatitudeRule
	12, // 3: limestone.PrayerTimesConfiguration.adjustments:type_name -> limestone.PrayerTimesConfiguration.PrayerAdjustments
	13, // 4: limestone.Masjid.address:type_name -> limestone.Masjid.Address
	14, // 5: limestone.Masjid.phone_number:type_name -> limestone.Masjid.PhoneNumber
	3,  // 6: limestone.Masjid.prayer_config:type_name -> limestone.PrayerTimesConfiguration
	15, // 7: limestone.Masjid.create_time:type_name -> google.protobuf.Timestamp
	15, // 8: limestone.Masjid.update_time:type_name -> google.protobuf.Timestamp
	4,  // 9: limestone.CreateMasjidRequest.masjid:type_name -> limestone.Masjid
	4,  // 10: limestone.UpdateMasjidRequest.masjid:type_name -> limestone.Masjid
	4,  // 11: limestone.ListMasjidsResponse.masjids:type_name -> limestone.Masjid
	5,  // 12: limestone.MasjidService.CreateMasjid:input_type -> limestone.CreateMasjidRequest
	6,  // 13: limestone.MasjidService.UpdateMasjid:input_type -> limestone.UpdateMasjidRequest
	7,  // 14: limestone.MasjidService.DeleteMasjid:input_type -> limestone.DeleteMasjidRequest
	9,  // 15: limestone.MasjidService.GetMasjid:input_type -> limestone.GetMasjidRequest
	10, // 16: limestone.MasjidService.ListMasjids:input_type -> limestone.ListMasjidsRequest
	4,  // 17: limestone.MasjidService.CreateMasjid:output_type -> limestone.Masjid
	4,  // 18: limestone.MasjidService.UpdateMasjid:output_type -> limestone.Masjid
	8,  // 19: limestone.MasjidService.DeleteMasjid:output_type -> limestone.DeleteMasjidResponse
	4,  // 20: limestone.MasjidService.GetMasjid:output_type -> limestone.Masjid
	11, // 21: limestone.MasjidService.ListMasjids:output_type -> limestone.ListMasjidsResponse
	17, // [17:22] is the sub-list for method output_type
	12, // [12:17] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_masjid_service_proto_init() }
func file_masjid_service_proto_init() {
	if File_masjid_service_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_masjid_service_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*PrayerTimesConfiguration); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*Masjid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*CreateMasjidRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*UpdateMasjidRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[4].Exporter = func(v any, i int) any {
			switch v := v.(*DeleteMasjidRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*DeleteMasjidResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*GetMasjidRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*ListMasjidsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[8].Exporter = func(v any, i int) any {
			switch v := v.(*ListMasjidsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[9].Exporter = func(v any, i int) any {
			switch v := v.(*PrayerTimesConfiguration_PrayerAdjustments); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[10].Exporter = func(v any, i int) any {
			switch v := v.(*Masjid_Address); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_masjid_service_proto_msgTypes[11].Exporter = func(v any, i int) any {
			switch v := v.(*Masjid_PhoneNumber); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_masjid_service_proto_rawDesc,
			NumEnums:      3,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_masjid_service_proto_goTypes,
		DependencyIndexes: file_masjid_service_proto_depIdxs,
		EnumInfos:         file_masjid_service_proto_enumTypes,
		MessageInfos:      file_masjid_service_proto_msgTypes,
	}.Build()
	File_masjid_service_proto = out.File
	file_masjid_service_proto_rawDesc = nil
	file_masjid_service_proto_goTypes = nil
	file_masjid_service_proto_depIdxs = nil
}
