local ElvUI_EltreumUI, E, L, V, P, G = unpack(select(2, ...))
local sort = sort
local pairs = pairs
local tinsert = table.insert
local tconcat = table.concat
local PlaySoundFile = PlaySoundFile

--Author list
local AUTHORS = {
	'|cff82B4ffEltreum|r',
}

-- Credits and Thank yous list
local THANKYOU = {
	'|cff0070DEAzilroka|r',
	'|cffC41F3BKringel|r',
	'|cFF99CCFFAftermathh|r',
	'|cffF58CBARepooc|r Especially for the huge helps',
	'Blazeflack',
	'Botanica',
	'|cffFFC44DHydra|r',
	'|T134297:15:15:0:0:64:64:5:59:5:59|t |cffff7d0aMerathilis|r',
	'|cff9482c9Darth Predator|r',
	'Caedis',
	'Elv',
	E:TextGradient('Simpy but his name might be shorter sometimes even though he fixes a lot of things', 1,.42,.78, 1,.56,.68, .66,.99,.98, .77,.52,1, 1,.48,.81, .98,.95,.68),
	'Tukui Community',
	'Shrom',
	'Pat',
	'|cff00c0faBenik|r',
	'|T136012:15:15:0:0:64:64:5:59:5:59|t |cff006fdcRubgrsch|r |T656558:15:15:0:0:64:64:5:59:5:59|t',
	'|TInterface/AddOns/ElvUI/Media/ChatLogos/FoxWarlock:15:15:0:0:64:64:5:59:5:59|t |cff8788EENihilistzsche|r',
	'|TInterface/AddOns/ElvUI/Media/ChatLogos/Clover:15:15:0:0:64:64:5:59:5:59|t |cffFF7D0ALuckyone|r Especially for allowing the usage of his installer/plugin as a model',
	'|TInterface/AddOns/ElvUI_EltreumUI/Media/Textures/releaf:15:15:0:0:64:64:5:59:5:59|t |cffFF7D0AReleaf|r for the alternate class icons',
	'AcidWeb |TInterface/AddOns/ElvUI/Media/ChatLogos/Gem:15:15:-1:2:64:64:6:60:8:60|t',
}

local SUPPORTER = {
	'|cffB50909Morthart|r',
	'|cffB50909Dreandor|r',
}

-- SortList
local function SortList(a, b)
	return E:StripString(a) < E:StripString(b)
end

sort(AUTHORS, SortList)
sort(THANKYOU, SortList)
sort(SUPPORTER, SortList)

-- Author table
for _, name in pairs(AUTHORS) do
	tinsert(ElvUI_EltreumUI.CreditsList, name)
end
local AUTHORS_STRING = tconcat(AUTHORS, '|n')

-- Thank you table
for _, name in pairs(THANKYOU) do
	tinsert(ElvUI_EltreumUI.CreditsList, name)
end
local THANKYOU_STRING = tconcat(THANKYOU, '|n')

-- Supporter table
for _, name in pairs(SUPPORTER) do
	tinsert(ElvUI_EltreumUI.CreditsList, name)
end
local SUPPORTER_STRING = tconcat(SUPPORTER, '|n')

-- EltreumUI ingame options TBC
if ElvUI_EltreumUI.TBC then
	function ElvUI_EltreumUI:Configtable()
		-- Add EltreumUI version on top of the ElvUI config
		E.Options.name = E.Options.name .. " + " .. ElvUI_EltreumUI.Name .. format(" |cffffffff%s|r", ElvUI_EltreumUI.Version)
		E.Options.args.ElvUI_EltreumUI = {
			order = 6,
			type = 'group',
			name = ElvUI_EltreumUI.Name,
			args = {
				logo = {
					type = 'description',
					name = "",
					order = 6,
					image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\logohq', 320, 80 end,
				},
				installer = {
					order = 7,
					type = 'group',
					name = L["Installer"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\install',
					args = {
						install = {
							order = 1,
							type = 'group',
							inline = true,
							name = "Eltruism Installer",
							args = {
								pluginagain = {
									order = 1,
									type = 'execute',
									name = "Launch Eltruism Installer",
									width = 'double',
									func = function() E:GetModule('PluginInstaller'):Queue(ElvUI_EltreumUI.InstallerData) E:ToggleOptionsUI() end,
								},
							},
						},
						resetnameplates = {
							order = 2,
							type = 'group',
							inline = true,
							name = "Nameplates",
							args = {
								nameplateagain = {
									order = 1,
									type = 'execute',
									name = 'Reset nameplates to Eltruism settings',
									width = 'double',
									func = function() ElvUI_EltreumUI:SetupNamePlates('ElvUI') ElvUI_EltreumUI:ResolutionOutline() end,
								},
							},
						},
						resetchat = {
							order = 3,
							type = 'group',
							inline = true,
							name = "Chat",
							args = {
								resetchatagain = {
									order = 1,
									type = 'execute',
									name = 'Reset Chat to ElvUI settings',
									width = 'double',
									func = function() ElvUI_EltreumUI:SetupChat() end,
								},
							},
						},
						resetlayout = {
							order = 3,
							type = 'group',
							inline = true,
							name = "Layouts",
							args = {
								resetdps = {
									order = 1,
									type = 'execute',
									name = 'Reset layout to Eltruism DPS/Tank',
									width = 'double',
									func = function() E.data:SetProfile('Eltreum DPS/Tank') ElvUI_EltreumUI:SetupLayout('dps') end,
								},
								resethealer = {
									order = 1,
									type = 'execute',
									name = 'Reset layout to Eltruism Healer',
									width = 'double',
									func = function() E.data:SetProfile('Eltreum Healer') ElvUI_EltreumUI:SetupLayout('healer') end,
								},
							},
						},
					},
				},
				afk = {
					type = 'group',
					name = L["A.F.K"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\afk',
					order = 85,
					args = {
						afkmusic = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["Play music while you are AFK"],
							args = {
								enable = {
								type = 'toggle',
								name = L["Enable"],
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.afkmusic.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.afkmusic.enable = value end,
								},
							},
						},
					},
				},
				cursor = {
					type = 'group',
					name = L["Cursor"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\cursor',
					order = 85,
					args = {
						cursorsize = {
							order = 1,
							type = 'group',
							inline = true,
							name= L["Change the size of the World of Warcraft Cursor"],
							width = 'full',
							args = {
								setsize = {
									order = 7,
									type = 'select',
									name = L["Select a size"],
									desc = L["Choose this size"],
									values = {
										['-1'] = L["Autodetect"],
										['0'] = '32x32',
										['1'] = '48x48',
										['2'] = '64x64',
										['3'] = '128x128',
									},
									style = 'radio',
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.size end,
  									set = function(info,value) ElvUI_EltreumUI:CursorSize(value) end,
								},
							},
						},
						header1 = {
							order = 2,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						cursorsettings = {
							order = 3,
							type = 'group',
							inline = true,
							name = L["Add GCD, Cast and Combat indicator rings to the cursor"],
							args = {
								enable = {
									order = 1,
									type = 'toggle',
									name = L["Enable cursor rings for Casts, GCD and Combat"],
									desc = L["Add a rings around the mouse cursor for GCD, casts and combat"],
									width = 'full',
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.enable end,
									set = function(info, value) E.db.ElvUI_EltreumUI.cursor.enable = value end,
								},
								enablecd = {
									order = 2,
									type = 'toggle',
									name = L["Enable cooldown tracking"],
									desc = L["Add a cooldown icon when trying to use skills that are on cooldown, and a cooldown flash when they are ready"],
									width = 'full',
									get = function(info) return E.db.ElvUI_EltreumUI.cursor.cooldown end,
									set = function(info, value) E.db.ElvUI_EltreumUI.cursor.cooldown = value end,
								},
								header1 = {
									order = 3,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								ringtexture = {
									order = 7,
									type = 'group',
									inline = true,
									name = L["Choose a type of cursor by clicking it"],
									width = 'full',
									args = {
										currentring = {
											order = 0,
											type = 'description',
											name = function() return L["Currently selected cursor: "]..ElvUI_EltreumUI:CurrentTypeofCursor() end,
											desc = ''
										},
										showring1 = {
											order = 1,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring1',
											name = L["Type 1"],
											desc = L["The Cursor will use this type as its texture"],
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring1.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring2 = {
											order = 2,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring2',
											name = L["Type 2"],
											desc = 'The Cursor will use this type as its texture',
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring2.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring3 = {
											order = 3,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring3',
											name = L["Type 3"],
											desc = L["The Cursor will use this type as its texture"],
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring3.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring4 = {
											order = 4,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring4',
											name = L["Type 4"],
											desc = L["The Cursor will use this type as its texture"],
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring4.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring5 = {
											order = 5,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring5',
											name = L["Type 5"],
											desc = L["The Cursor will use this type as its texture"],
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring5.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring6 = {
											order = 6,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring6',
											name = L["Type 6"],
											desc = L["The Cursor will use this type as its texture"],
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring6.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring7 = {
											order = 7,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring7',
											name = L["Type 7"],
											desc = L["The Cursor will use this type as its texture"],
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring7.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring8 = {
											order = 8,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring8',
											name = L["Type 8"],
											desc = L["The Cursor will use this type as its texture"],
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring8.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring9 = {
											order = 9,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring9',
											name = L["Type 9"],
											desc = L["The Cursor will use this type as its texture"],
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring9.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										showring10 = {
											order = 10,
											type = "execute",
											image = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring10',
											name = L["Type 10"],
											desc = L["The Cursor will use this type as its texture"],
											confirm = true,
											func = function() E.db.ElvUI_EltreumUI.cursor.ring = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\Cursor\\ring10.tga' E:StaticPopup_Show('CONFIG_RL') end,
										},
										nicegap17 = {
											order = 11,
											type = "description",
											name = L["Cursor Colors "]..'|cffff0000('..L["Requires a Reload"]..")|r",
											width = 'full',
										},
										header12 = {
											order = 11,
											type = "description",
											name = "",
											width = 'full',
											image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
										},
										castclasscolor = {
											type = 'toggle',
											name = L["Class Colored Casts"],
											order = 12,
											desc = L["Use Class Colors for Cast"],
											get = function() return E.db.ElvUI_EltreumUI.cursorcast.classcolor end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorcast.classcolor = value E:StaticPopup_Show('CONFIG_RL') end,
										},
										colorcast = {
											order = 13,
											type = 'color',
											name = L["Custom Color Cast"],
											hasAlpha = false,
											disabled = function() return E.db.ElvUI_EltreumUI.cursorcast.classcolor end,
											get = function()
												local cursorcast = E.db.ElvUI_EltreumUI.cursorcast
												local d = P.ElvUI_EltreumUI.cursorcast
												return cursorcast.r, cursorcast.g, cursorcast.b, cursorcast.a, d.r, d.g, d.b, d.a
											end,
											set = function(_, r, g, b, a)
												local cursorcast = E.db.ElvUI_EltreumUI.cursorcast
												cursorcast.r, cursorcast.g, cursorcast.b = r, g, b
											end,
										},
										nicegap1 = {
											order = 14,
											type = "description",
											name = "",
											width = 'full',
										},
										gcdclasscolor = {
											type = 'toggle',
											name = L["Class Colored GCD"],
											order = 14,
											desc = L["Use Class Colors for GCD"],
											get = function() return E.db.ElvUI_EltreumUI.cursorgcd.classcolor end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorgcd.classcolor = value E:StaticPopup_Show('CONFIG_RL') end,
										},
										colorgcd = {
											order = 15,
											type = 'color',
											name = L["Custom Color GCD"],
											hasAlpha = false,
											disabled = function() return E.db.ElvUI_EltreumUI.cursorgcd.classcolor end,
											get = function()
												local cursorgcd = E.db.ElvUI_EltreumUI.cursorgcd
												local d = P.ElvUI_EltreumUI.cursorgcd
												return cursorgcd.r, cursorgcd.g, cursorgcd.b, cursorgcd.a, d.r, d.g, d.b, d.a
											end,
											set = function(_, r, g, b, a)
												local cursorgcd = E.db.ElvUI_EltreumUI.cursorgcd
												cursorgcd.r, cursorgcd.g, cursorgcd.b = r, g, b
											end,
										},
										nicegap2 = {
											order = 16,
											type = "description",
											name = "",
											width = 'full',
										},
										cursorcursorclasscolor = {
											type = 'toggle',
											name = L["Class Colored Combat"],
											order = 16,
											desc = L["Use Class Colors for Cursor"],
											get = function() return E.db.ElvUI_EltreumUI.cursorcursor.classcolor end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorcursor.classcolor = value E:StaticPopup_Show('CONFIG_RL') end,
										},
										cursorcursorcolor = {
											order = 17,
											type = 'color',
											name = L["Custom Color Combat"],
											hasAlpha = false,
											disabled = function() return E.db.ElvUI_EltreumUI.cursorcursor.classcolor end,
											get = function()
												local cursorcursor = E.db.ElvUI_EltreumUI.cursorcursor
												local d = P.ElvUI_EltreumUI.cursorcursor
												return cursorcursor.r, cursorcursor.g, cursorcursor.b, cursorcursor.a, d.r, d.g, d.b, d.a
											end,
											set = function(_, r, g, b, a)
												local cursorcursor = E.db.ElvUI_EltreumUI.cursorcursor
												cursorcursor.r, cursorcursor.g, cursorcursor.b = r, g, b
											end,
										},
										header1 = {
											order = 18,
											type = "description",
											name = "",
											width = 'full',
											image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
										},
										nicegap3 = {
											order = 18,
											type = "description",
											name = L["Cursor Colors "]..'|cffff0000('..L["Requires a Reload"]..")|r",
											width = 'full',
										},
										castradius = {
											type = 'range',
											name = L["Cast Radius (Default: 25)"],
											desc = L["Set the radius of the cast cursor"],
											order = 19,
											min = 10,
											max = 50,
											step = 1,
											width = "full",
											get = function() return E.db.ElvUI_EltreumUI.cursorcast.radius end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorcast.radius = value end,
										},
										castthickness = {
											type = 'range',
											name = L["Cast Thickness (Default: 5)"],
											desc = L["Set the radius of the cast cursor"],
											order = 19,
											min = 1,
											max = 10,
											step = 1,
											width = "full",
											get = function() return E.db.ElvUI_EltreumUI.cursorcast.thickness end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorcast.thickness = value end,
										},
										gcdradius = {
											type = 'range',
											name = L["GCD Radius (Default: 20)"],
											desc = 'Set the radius of the gcd cursor',
											order = 19,
											min = 10,
											max = 50,
											step = 1,
											width = "full",
											get = function() return E.db.ElvUI_EltreumUI.cursorgcd.radius end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorgcd.radius = value end,
										},
										gcdthickness = {
											type = 'range',
											name = L["GCD Thickness (Default: 5)"],
											desc = L["Set the thickness of the gcd cursor"],
											order = 19,
											min = 1,
											max = 10,
											step = 1,
											width = "full",
											get = function() return E.db.ElvUI_EltreumUI.cursorgcd.thickness end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorgcd.thickness = value end,
										},
										cursorcursorradius = {
											type = 'range',
											name = L["Combat Cursor Radius (Default: 15)"],
											desc = L["Set the radius of the combat cursor"],
											order = 19,
											min = 10,
											max = 50,
											step = 1,
											width = "full",
											get = function() return E.db.ElvUI_EltreumUI.cursorcursor.radius end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorcursor.radius = value end,
										},
										cursorcursorthickness = {
											type = 'range',
											name = L["Combat Cursor Thickness (Default: 5)"],
											desc = L["Set the thickness of the combat cursor"],
											order = 19,
											min = 1,
											max = 10,
											step = 1,
											width = "full",
											get = function() return E.db.ElvUI_EltreumUI.cursorcursor.thickness end,
											set = function(_, value) E.db.ElvUI_EltreumUI.cursorcursor.thickness = value end,
										},
									},
								},
							},
						},
					},
				},
				aurafilters = {
					type = 'group',
					name = L["Aura Filters"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\aurafilter',
					order = 85,
					args = {
						headerline1 = {
							order = 11,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						auradesc = {
							order = 2,
							type = 'header',
							name = L["Aura Filters"],
						},
						listofauras = {
							order = 3,
							type = 'input',
							width = 'full',
							name = L["For Shadowlands, import aura filters by copying the code below and going into Profiles > Import Profile."],
							get = function() return ' ' end,
						},
						header24 = {
							order = 4,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						aurasetupdesc = {
							order = 5,
							type = 'description',
							name = L["Setup Aura Filters to show all"],
						},
						playerallbuffs = {
							order = 6,
							type = 'execute',
							name = L["All Player Buffs"],
							desc = L["Set filters to show more buffs on Player"],
							func = function() ElvUI_EltreumUI:SetupBuffs('player', 'Everything') end,
						},
						playeralldebuffs = {
							order = 6,
							type = 'execute',
							name = L["All Player Debuffs"],
							desc = L["Set filters to show more debuffs on Player"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('player', 'Everything') end,
						},
						targetalldebuffs = {
							order = 6,
							type = 'execute',
							name = L["All Target Debuffs"],
							desc = L["Set filters to show more debuffs on Target"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('target', 'Everything') end,
						},
						targetallbuffs = {
							order = 6,
							type = 'execute',
							name = L["All Target Buffs"],
							desc = L["Set filters to show more buffs on Target"],
							func = function() ElvUI_EltreumUI:SetupBuffs('target', 'Everything') end,
						},
						focusallbuffs = {
							order = 6,
							type = 'execute',
							name = L["All Focus Buffs"],
							desc = L["Set filters to show more buffs on Focus"],
							func = function() ElvUI_EltreumUI:SetupBuffs('focus', 'Everything') end,
						},
						focusalldebuffs = {
							order = 6,
							type = 'execute',
							name = L["All Focus Debuffs"],
							desc = L["Set filters to show more debuffs on Focus"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('focus', 'Everything') end,
						},
						bossallbuffs = {
							order = 6,
							type = 'execute',
							name = L["All Boss Buffs"],
							desc = L["Set filters to show more buffs on Boss"],
							func = function() ElvUI_EltreumUI:SetupBuffs('boss', 'Everything') end,
						},
						bossalldebuffs = {
							order = 6,
							type = 'execute',
							name = L["All Boss Debuffs"],
							desc = L["Set filters to show more debuffs on Bosss"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('boss', 'Everything') end,
						},
						nameplateallbuffs = {
							order = 6,
							type = 'execute',
							name = L["All Nameplate Buffs"],
							desc = L["Set filters to show more buffs on Nameplates"],
							func = function() ElvUI_EltreumUI:SetupBuffs('nameplate', 'Everything') end,
						},
						nameplatealldebuffs = {
							order = 6,
							type = 'execute',
							name = L["All Nameplate Debuffs"],
							desc = L["Set filters to show more debuffs on Nameplates"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('nameplate', 'Everything') end,
						},
						header25 = {
							order = 7,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						aurasetupdesc2 = {
							order = 8,
							type = 'description',
							name = L["Setup Aura Filters to be Eltruism/ElvUI defaults"],
						},
						playerEltruismbuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Player Buffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Player"],
							func = function() ElvUI_EltreumUI:SetupBuffs('player', 'Eltruism') end,
						},
						playerEltruismdebuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Player Debuffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Player"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('player', 'Eltruism') end,
						},
						targetEltruismdebuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Target Debuffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Target"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('target', 'Eltruism') end,
						},
						targetEltruismbuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Target Buffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Target"],
							func = function() ElvUI_EltreumUI:SetupBuffs('target', 'Eltruism') end,
						},
						focusEltruismbuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Focus Buffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Focus"],
							func = function() ElvUI_EltreumUI:SetupBuffs('focus', 'Eltruism') end,
						},
						focusEltruismdebuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Focus Debuffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Focus"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('focus', 'Eltruism') end,
						},
						bossEltruismbuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Boss Buffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Boss"],
							func = function() ElvUI_EltreumUI:SetupBuffs('boss', 'Eltruism') end,
						},
						bossEltruismdebuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Boss Debuffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Boss"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('boss', 'Eltruism') end,
						},
						nameplateEltruismbuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Nameplate Buffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Nameplates"],
							func = function() ElvUI_EltreumUI:SetupBuffs('nameplate', 'Eltruism') end,
						},
						nameplateEltruismdebuffs = {
							order = 9,
							type = 'execute',
							name = L["Eltruism Nameplate Debuffs"],
							desc = L["Set filters to be Eltruism/ElvUI defaults on Nameplates"],
							func = function() ElvUI_EltreumUI:SetupDebuffs('nameplate', 'Eltruism') end,
						},
					},
				},
				misc = {
					type = 'group',
					name = 'Misc',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\misc',
					order = 85,
					args = {
						header1 = {
							order = 1,
							type = "description",
							name = "Show Buffs in Arena and hide them outside (will overwrite Eltruism default settings)",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						arenabuffs = {
							type = 'toggle',
							name = "Enable",
							order = 2,
							get = function() return E.db.ElvUI_EltreumUI.otherstuff.arenabuffs end,
							set = function(_, value) E.db.ElvUI_EltreumUI.otherstuff.arenabuffs = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header2 = {
							order = 3,
							type = "description",
							name = "Hide Arena Frames in Arena due to Gladius/Gladdy or another addon",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						arenaUF = {
							type = 'toggle',
							name = "Enable",
							order = 4,
							get = function() return E.db.ElvUI_EltreumUI.otherstuff.arenaunitframes end,
							set = function(_, value) E.db.ElvUI_EltreumUI.otherstuff.arenaunitframes = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header3 = {
							order = 5,
							type = "description",
							name = "Hide Raid Unitframes in battlegrounds due to addons like Battleground Enemies",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						bgUF = {
							type = 'toggle',
							name = "Enable",
							order = 6,
							get = function() return E.db.ElvUI_EltreumUI.otherstuff.bgunitframes end,
							set = function(_, value) E.db.ElvUI_EltreumUI.otherstuff.bgunitframes = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header8 = {
							order = 26,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						combatextindicator = {
							order = 27,
							type = "toggle",
							name = "Enable Entering/Leaving Combat Indicator Texts",
							desc = "Adds a +Combat and -Combat for when entering and leaving combat",
							width = 'full',
							get = function(info) return E.db.ElvUI_EltreumUI.loottext.combatindicator end,
							set = function(info, value) E.db.ElvUI_EltreumUI.loottext.combatindicator = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						rollsound = {
							order = 28,
							type = "toggle",
							name = "Add Sounds to /roll when someone gets a 1 or a 100",
							desc = "Plays a sound if someone roll 1 or 100 out 100",
							width = 'full',
							get = function(info) return E.db.ElvUI_EltreumUI.chat.rollsound end,
							set = function(info, value) E.db.ElvUI_EltreumUI.chat.rollsound = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header9 = {
							order = 29,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						worldtext = {
							order = 30,
							type = "description",
							name = "Change the Scale of the World Text",
							desc = "Such as the floating XP, floating reputation changes and others",
							width = 'full',
						},
						worldtextscale = {
							type = 'range',
							name = "Select the size of the World Text",
							order = 31,
							min = 0.2,
							max = 5,
							step = 0.1,
							width = "full",
							get = function() return E.db.ElvUI_EltreumUI.otherstuff.worldtextscale end,
							set = function(_, value) E.db.ElvUI_EltreumUI.otherstuff.worldtextscale = value ElvUI_EltreumUI:WorldTextScale(value) end,
						},
						header13 = {
							order = 38,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						fastlootdesc = {
							order = 39,
							type = "description",
							name = "Loot Items Faster",
							desc = "Decrease the time it takes for auto loot to work",
							width = 'full',
						},
						fastlootenable = {
							order = 40,
							name = "Enable",
							type = "toggle",
							desc = "Decrease the time it takes for auto loot to work",
							width = 'full',
							get = function(info) return E.db.ElvUI_EltreumUI.otherstuff.fastloot end,
							set = function(info, value) E.db.ElvUI_EltreumUI.otherstuff.fastloot = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header15 = {
							order = 44,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						autossdesc = {
							order = 45,
							type = "description",
							name = "Automatically take Screenshots",
							desc = "Automatically take Screenshots",
							width = 'full',
						},
						autossenable = {
							order = 46,
							name = "Enable",
							type = "toggle",
							desc = "Automatically take Screenshots such as when leveling up",
							width = 'full',
							get = function(info) return E.db.ElvUI_EltreumUI.otherstuff.screenshot end,
							set = function(info, value) E.db.ElvUI_EltreumUI.otherstuff.screenshot = value E:StaticPopup_Show('CONFIG_RL') end,
						},
					},
				},
				skins = {
					order = 85,
					type = 'group',
					name = "Skins",
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\paint',
					args = {
						header845 = {
							order = 23,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						iconsoncharacter = {
							order = 23,
							type = 'toggle',
							name = "Add Class Icons to Character Panel",
							width = 'full',
							desc = "Enable this option",
							get = function(info) return E.db.ElvUI_EltreumUI.skins.classiconsoncharacterpanel end,
							set = function(info, value) E.db.ElvUI_EltreumUI.skins.classiconsoncharacterpanel = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						blizzicons = {
							order = 24,
							type = 'toggle',
							name = "Use Blizzard Icons",
							width = 'full',
							desc = "Enable Blizzard Icons",
							disabled = function() return not E.db.ElvUI_EltreumUI.skins.classiconsoncharacterpanel or E.db.ElvUI_EltreumUI.skins.classiconsreleaf end,
							get = function(info) return E.db.ElvUI_EltreumUI.skins.classiconsblizz end,
							set = function(info, value) E.db.ElvUI_EltreumUI.skins.classiconsblizz = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						releaficons= {
							order = 25,
							type = 'toggle',
							name = "Use Blizzard Icons colored by Releaf",
							width = 'full',
							desc = "Enable Releaf Icons",
							disabled = function() return not E.db.ElvUI_EltreumUI.skins.classiconsoncharacterpanel or E.db.ElvUI_EltreumUI.skins.classiconsblizz end,
							get = function(info) return E.db.ElvUI_EltreumUI.skins.classiconsreleaf end,
							set = function(info, value) E.db.ElvUI_EltreumUI.skins.classiconsreleaf = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header11 = {
							order = 32,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						zonetext = {
							order = 33,
							type = "description",
							name = "Make more texts use ElvUI font settings",
							desc = "Such as the Zones, Mail and others",
							width = 'full',
						},
						zoneenable = {
							order = 34,
							name = "Enable",
							type = "toggle",
							desc = "Such as the Zones, Mail and others",
							width = 'full',
							get = function(info) return E.db.ElvUI_EltreumUI.skins.zones end,
							set = function(info, value) E.db.ElvUI_EltreumUI.skins.zones = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header12 = {
							order = 35,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						questskins = {
							order = 36,
							type = "description",
							name = "Skin Objective Frame (when Shadow and Light and Windtools are not loaded)",
							desc = "Only loads when Shadow and Light and Windtools are not enabled",
							width = 'full',
						},
						questenable = {
							order = 37,
							name = "Enable",
							type = "toggle",
							desc = "Skin the Objective/Quest Frame",
							width = 'full',
							get = function(info) return E.db.ElvUI_EltreumUI.skins.quests end,
							set = function(info, value) E.db.ElvUI_EltreumUI.skins.quests = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header14 = {
							order = 44,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						shadowsdesc = {
							order = 45,
							type = "description",
							name = "Add Shadows to Frames",
							desc = "Add Shadows to some frames",
							width = 'full',
						},
						shadowsenable = {
							order = 46,
							name = "Enable",
							type = "toggle",
							desc = "Add Shadows to frames like Player, target, Chats and others",
							width = 'full',
							get = function(info) return E.db.ElvUI_EltreumUI.skins.shadows end,
							set = function(info, value) E.db.ElvUI_EltreumUI.skins.shadows = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						header6 = {
							order = 47,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						tbctalentinfo = {
							order = 48,
							type = "description",
							name = L["Expand the Talents to show the entire tree"],
							width = "full",
						},
						tbctalents = {
							order = 49,
							type = 'toggle',
							name = L["Expanded Talents"],
							desc = L["Expand Talents to cover the full tree"],
							get = function(info) return E.db.ElvUI_EltreumUI.tbctalents.enable end,
							set = function(info, value) E.db.ElvUI_EltreumUI.tbctalents.enable = value E:StaticPopup_Show('CONFIG_RL') end,
						},
					},
				},
				profiles = {
					type = 'group',
					name = L["Addons"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\addon',
					order = 85,
					args = {
						header1 = {
							order = 1,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						plugins = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["ElvUI Plugins"],
							args = {
								addonskins = {
									order = 1,
									type = 'execute',
									name = '|cff16C3F2AddOn|r|cFFFFFFFFSkins|r',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupAS() E:StaticPopup_Show('CONFIG_RL') end,
								},
								projectazilroka = {
									order = 2,
									type = 'execute',
									name = '|cFF16C3F2Project|r|cFFFFFFFFAzilroka|r',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupPA() E:StaticPopup_Show('CONFIG_RL') end,
								},
							},
						},
						header2 = {
							order = 2,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						bossmods = {
							order = 2,
							type = 'group',
							inline = true,
							name = L["BossMods Profiles"],
							args = {
								bigwigs = {
									order = 1,
									type = 'execute',
									name = 'BigWigs',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupBW() E:StaticPopup_Show('CONFIG_RL') end,
								},
								dbm = {
									order = 2,
									type = 'execute',
									name = 'DBM',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupDBM() E:StaticPopup_Show('CONFIG_RL') end,
								},
							},
						},
						header3 = {
							order = 4,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						addons = {
							order = 4,
							type = 'group',
							inline = true,
							name = L["Addon Profiles"],
							args = {
								dynamiccam = {
									order = 1,
									type = 'execute',
									name = 'Dynamic Cam',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupDynamicCam() E:StaticPopup_Show('CONFIG_RL') end,
								},
								questie = {
									order = 9,
									type = 'execute',
									name = 'Questie',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupQuestie() E:StaticPopup_Show('CONFIG_RL') end,
								},
								immersion = {
									order = 2,
									type = 'execute',
									name = 'Immersion',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupImmersion() E:StaticPopup_Show('CONFIG_RL') end,
								},
								nameplatesct = {
									order = 5,
									type = 'execute',
									name = 'NameplateSCT',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupNameplateSCT() E:StaticPopup_Show('CONFIG_RL') end,
								},
								fct = {
									order = 6,
									type = 'execute',
									name = 'Floating Combat Text',
									desc = 'Reset to Eltreum UI defaults.',
									func = function() ElvUI_EltreumUI:AddonSetupFCT() E:StaticPopup_Show('CONFIG_RL') end,
								},
								details = {
									order = 7,
									type = 'execute',
									name = 'Details v1',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupDT() E:StaticPopup_Show('CONFIG_RL') end,
								},
								details2 = {
									order = 8,
									type = 'execute',
									name = 'Details v2',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:AddonSetupDTReleaf() E:StaticPopup_Show('CONFIG_RL') end,
								},
								gladdy = {
									order = 10,
									type = 'execute',
									name = 'Gladddy',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:SetupGladdy() E:StaticPopup_Show('CONFIG_RL') end,
								},
								gladdius = {
									order = 11,
									type = 'execute',
									name = 'Gladius',
									desc = L["Reset to Eltruism defaults."],
									func = function() ElvUI_EltreumUI:SetupGladius() E:StaticPopup_Show('CONFIG_RL') end,
								},
							},
						},
					},
				},
				combatmusic = {
					type = 'group',
					name = L["Combat Music"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\music',
					order = 85,
					args = {
						moremusicsettings = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["Play music during combat"],
							args = {
								enable = {
									order = 1,
									type = 'toggle',
									name = L["Enable"],
									desc = L["Enable music during combat"],
									width = 'full',
									get = function(info) return E.private.ElvUI_EltreumUI.combatmusic.enable end,
									set = function(info, value) E.private.ElvUI_EltreumUI.combatmusic.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								instancemusic = {
									order = 2,
									type = 'toggle',
									name = L["Disable in Instances"],
									desc = L["Disable music during combat in instances"],
									width = 'full',
									disabled = function() return not E.private.ElvUI_EltreumUI.combatmusic.enable end,
									get = function(info) return E.private.ElvUI_EltreumUI.combatmusic.disableinstance end,
									set = function(info, value) E.private.ElvUI_EltreumUI.combatmusic.disableinstance = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								pathtofile = {
									order = 6,
									type = 'group',
									inline = true,
									name = L["Path to file"],
									args = {
										howtomusic = {
										order = 2,
										type = "description",
										name = L["Example: "].."Interface\\Addons\\mymusic.mp3",
										},
										somegap = {
											order = 3,
											type = "description",
											name = "",
										},
										soundpath = {
											order = 6,
											icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\music',
											type = 'input',
											name = '',
											desc = '',
											width = 'full',
											get = function() return E.private.ElvUI_EltreumUI.combatmusic.musicfile end,
											set = function(_, value) E.private.ElvUI_EltreumUI.combatmusic.musicfile = value E:StaticPopup_Show('PRIVATE_RL') end,
										}
									}
								},
							},
						},
					},
				},
				actionbars = {
					type = 'group',
					name = L["Custom Glow"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\customglow',
					order = 85,
					args = {
						glow = {
							type = 'group',
							name = L["Replace Blizzards Default Glow with a Custom Glow"],
							guiInline = true,
							order = 1,
							args = {
								enablepet = {
									type = 'toggle',
									name = "Enable on Pet Bar",
									order = 1,
									get = function() return E.db.ElvUI_EltreumUI.glow.enablepet end,
									set = function(_, value) E.db.ElvUI_EltreumUI.glow.enablepet = value end,
								},
								enablenp = {
									order = 1,
									type = 'toggle',
									name = "Enable on Nameplate",
									desc = "Add a glow when buffs or debuffs are expiring on nameplates",
									width = 'full',
									get = function() return E.db.ElvUI_EltreumUI.widenameplate.npglow end,
									set = function(_, value) E.db.ElvUI_EltreumUI.widenameplate.npglow = value end,
								},
								previewgap = {
									order = 2,
									type = "description",
									name = "",
									width = 'full',
									--image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								preview ={
									order = 4,
									type = "execute",
									name = "Preview",
									desc = "Preview the Glow, you will need to toggle it off and on to update the glow",
									func = function() ElvUI_EltreumUI:PreviewGlow() end,
								},
								headerline1 = {
									order = 96,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								procselection = {
									order = 97,
									type = 'group',
									name = L["Select a Type"],
										args = {
											autocast = {
												type = 'toggle',
												name = L["Autocast"],
												order = 10,
												desc = 'Adds an autocast style glow using class color',
												disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.pixel or E.db.ElvUI_EltreumUI.glow.blizzard end,
												get = function(info) return E.db.ElvUI_EltreumUI.glow.autocast end,
												set = function(info, value) E.db.ElvUI_EltreumUI.glow.autocast = value end,
											},
											pixel = {
												type = 'toggle',
												name = L["Pixel"],
												order = 10,
												desc = 'Adds a pixel style glow using class color',
												disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.autocast or E.db.ElvUI_EltreumUI.glow.blizzard end,
												get = function(info) return E.db.ElvUI_EltreumUI.glow.pixel end,
												set = function(info, value) E.db.ElvUI_EltreumUI.glow.pixel = value end,
											},
											blizzard = {
												type = 'toggle',
												name = 'Blizzard',
												order = 10,
												desc = L["Adds a Blizzard style glow using class color"],
												disabled = function() return not E.db.ElvUI_EltreumUI.glow.enable or E.db.ElvUI_EltreumUI.glow.autocast or E.db.ElvUI_EltreumUI.glow.pixel end,
												get = function(info) return E.db.ElvUI_EltreumUI.glow.blizzard end,
												set = function(info, value) E.db.ElvUI_EltreumUI.glow.blizzard = value end,
											},
										},
								},
								headerline2 = {
									order = 98,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								customoptionsglow = {
									order = 99,
									type = 'group',
									name = L["Glow Colors"],
									args = {
										headerline1 = {
											order = 1,
											type = "description",
											name = "Action Bars",
											width = 'full',
											image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
										},
										classcolorab = {
											type = 'toggle',
											name = L["Use Class Colors"],
											order = 3,
											desc = L["Toggle Class Colored glows"],
											get = function() return E.db.ElvUI_EltreumUI.glow.colorclass end,
											set = function(_, value) E.db.ElvUI_EltreumUI.glow.colorclass = value E:StaticPopup_Show('CONFIG_RL') end,
										},
										colorab = {
											order = 4,
											type = 'color',
											name = L["Custom Color"],
											hasAlpha = false,
											disabled = function() return E.db.ElvUI_EltreumUI.glow.colorclass end,
											get = function()
												local glowcustomcolor = E.db.ElvUI_EltreumUI.glowcustomcolor
												local d = P.ElvUI_EltreumUI.glowcustomcolor
												return glowcustomcolor.r, glowcustomcolor.g, glowcustomcolor.b, glowcustomcolor.a, d.r, d.g, d.b, d.a
											end,
											set = function(_, r, g, b, a)
												local glowcustomcolor = E.db.ElvUI_EltreumUI.glowcustomcolor
												glowcustomcolor.r, glowcustomcolor.g, glowcustomcolor.b = r, g, b E:StaticPopup_Show('CONFIG_RL')
											end,
										},
										headerline2 = {
											order = 5,
											type = "description",
											name = "Pet Bar",
											width = 'full',
											image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
										},
										classcolorpet = {
											type = 'toggle',
											name = L["Use Class Colors"],
											order = 6,
											desc = L["Toggle Class Colored glows"],
											get = function() return E.db.ElvUI_EltreumUI.glow.colorclasspet end,
											set = function(_, value) E.db.ElvUI_EltreumUI.glow.colorclasspet = value E:StaticPopup_Show('CONFIG_RL') end,
										},
										colorpet = {
											order = 7,
											type = 'color',
											name = L["Custom Color"],
											hasAlpha = false,
											disabled = function() return E.db.ElvUI_EltreumUI.glow.colorclasspet end,
											get = function()
												local glowcustomcolorpet = E.db.ElvUI_EltreumUI.glowcustomcolorpet
												local d = P.ElvUI_EltreumUI.glowcustomcolorpet
												return glowcustomcolorpet.r, glowcustomcolorpet.g, glowcustomcolorpet.b, glowcustomcolorpet.a, d.r, d.g, d.b, d.a
											end,
											set = function(_, r, g, b, a)
												local glowcustomcolorpet = E.db.ElvUI_EltreumUI.glowcustomcolorpet
												glowcustomcolorpet.r, glowcustomcolorpet.g, glowcustomcolorpet.b = r, g, b E:StaticPopup_Show('CONFIG_RL')
											end,
										},
										headerline3 = {
											order = 8,
											type = "description",
											name = "Nameplate Buff/Debuff",
											width = 'full',
											image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
										},
										classcolornp = {
											type = 'toggle',
											name = L["Use Class Colors"],
											order = 9,
											desc = L["Toggle Class Colored glows"],
											get = function() return E.db.ElvUI_EltreumUI.glow.colorclassnp end,
											set = function(_, value) E.db.ElvUI_EltreumUI.glow.colorclassnp = value E:StaticPopup_Show('CONFIG_RL') end,
										},
										colornp = {
											order = 10,
											type = 'color',
											name = L["Custom Color"],
											hasAlpha = false,
											disabled = function() return E.db.ElvUI_EltreumUI.glow.colorclassnp end,
											get = function()
												local glowcustomcolornp = E.db.ElvUI_EltreumUI.glowcustomcolornp
												local d = P.ElvUI_EltreumUI.glowcustomcolornp
												return glowcustomcolornp.r, glowcustomcolornp.g, glowcustomcolornp.b, glowcustomcolornp.a, d.r, d.g, d.b, d.a
											end,
											set = function(_, r, g, b, a)
												local glowcustomcolornp = E.db.ElvUI_EltreumUI.glowcustomcolornp
												glowcustomcolornp.r, glowcustomcolornp.g, glowcustomcolornp.b = r, g, b E:StaticPopup_Show('CONFIG_RL')
											end,
										},
									},
								},
							},
						},
					},
				},
				borders = {
					type = 'group',
					name = "Borders",
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\border',
					order = 85,
					args = {
						headerline1 = {
							order = 1,
							type = "description",
							name = "Add Borders to Action Bars (All settings require a reload)",
							width = 'full',
							--image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						enable = {
							type = 'toggle',
							name = L["Enable"],
							width = "full",
							order = 2,
							get = function() return E.db.ElvUI_EltreumUI.borders.borders end,
							set = function(_, value) E.db.ElvUI_EltreumUI.borders.borders = value E:StaticPopup_Show('CONFIG_RL') end,
						},
						headerline2 = {
							order = 3,
							type = "description",
							name = "Choose the Border Texture to be used:",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						sharedmediatexture = {
							order = 4,
							type = 'select',
							width = "full",
							dialogControl = 'LSM30_Border',
							name = "",
							desc = L["Select a Texture"],
							values = AceGUIWidgetLSMlists.border,
							get = function() return E.db.ElvUI_EltreumUI.borders.texture end,
							disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
							set = function(self,key) E.db.ElvUI_EltreumUI.borders.texture = key end,
						},
						headerline3 = {
							order = 5,
							type = "description",
							name = "Change the size of the borders:",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						bordersizes = {
							order = 9,
							type = 'group',
							inline = true,
							name = "",
							args = {
								borderABsize = {
									type = 'range',
									name = "ActionBar Thickness",
									order = 1,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.baredgesize end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.baredgesize = value end,
								},
								borderUFsize = {
									type = 'range',
									name = "Unitframe Thickness",
									order = 4,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.playertargetsize end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.playertargetsize = value end,
								},
								gap1 = {
									order = 5,
									type = "description",
									name = "Action Bar 1",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								bar1enable = {
									type = 'toggle',
									name = L["Enable"],
									order = 6,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar1borders end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar1borders = value end,
								},
								bar1xsize = {
									type = 'range',
									name = "Bar 1 X offset",
									order = 7,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar1xborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar1xborder = value end,
								},
								bar1ysize = {
									type = 'range',
									name = "Bar 1 Y offset",
									order = 7,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar1yborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar1yborder = value end,
								},
								gap2 = {
									order = 8,
									type = "description",
									name = "Action Bar 2",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								bar2enable = {
									type = 'toggle',
									name = L["Enable"],
									order = 9,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar2borders end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar2borders = value end,
								},
								bar2xsize = {
									type = 'range',
									name = "Bar 2 X offset",
									order = 10,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar2xborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar2xborder = value end,
								},
								bar2ysize = {
									type = 'range',
									name = "Bar 2 Y offset",
									order = 10,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar2yborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar2yborder = value end,
								},
								gap3 = {
									order = 11,
									type = "description",
									name = "Action Bar 3",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								bar3enable = {
									type = 'toggle',
									name = L["Enable"],
									order = 12,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar3borders end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar3borders = value end,
								},
								bar3xsize = {
									type = 'range',
									name = "Bar 3 X offset",
									order = 13,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar3xborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar3xborder = value end,
								},
								bar3ysize = {
									type = 'range',
									name = "Bar 3 Y offset",
									order = 13,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar3yborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar3yborder = value end,
								},
								gap4 = {
									order = 14,
									type = "description",
									name = "Action Bar 4",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								bar4enable = {
									type = 'toggle',
									name = L["Enable"],
									order = 15,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar4borders end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar4borders = value end,
								},
								bar4xsize = {
									type = 'range',
									name = "Bar 4 X offset",
									order = 16,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar4xborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar4xborder = value end,
								},
								bar4ysize = {
									type = 'range',
									name = "Bar 4 Y offset",
									order = 16,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar4yborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar4yborder = value end,
								},
								gap5 = {
									order = 17,
									type = "description",
									name = "Action Bar 5",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								bar5enable = {
									type = 'toggle',
									name = L["Enable"],
									order = 18,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar5borders end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar5borders = value end,
								},
								bar5xsize = {
									type = 'range',
									name = "Bar 5 X offset",
									order = 19,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar5xborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar5xborder = value end,
								},
								bar5ysize = {
									type = 'range',
									name = "Bar 5 Y offset",
									order = 19,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar5yborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar5yborder = value end,
								},
								gap6 = {
									order = 20,
									type = "description",
									name = "Action Bar 6",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								bar6enable = {
									type = 'toggle',
									name = L["Enable"],
									order = 21,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar6borders end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar6borders = value end,
								},
								bar6xsize = {
									type = 'range',
									name = "Bar 6 X offset",
									order = 22,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar6xborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar6xborder = value end,
								},
								bar6ysize = {
									type = 'range',
									name = "Bar 6 Y offset",
									order = 22,
									min = 1,
									max = 200,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.bar6yborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.bar6yborder = value end,
								},
								gaptarget = {
									order = 23,
									type = "description",
									name = "Target Border",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								bartarget = {
									type = 'toggle',
									name = L["Enable"],
									order = 24,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.targetborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.targetborder = value end,
								},
								borderxtarget = {
									type = 'range',
									name = "Border X offet",
									order = 25,
									min = 1,
									max = 800,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.xtarget end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.xtarget = value end,
								},
								borderytarget = {
									type = 'range',
									name = "Border Y offset",
									order = 25,
									min = 1,
									max = 800,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.ytarget end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.ytarget = value end,
								},
								gapplayer = {
									order = 26,
									type = "description",
									name = "Player Border",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								barplayer = {
									type = 'toggle',
									name = L["Enable"],
									order = 27,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.playerborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.playerborder = value end,
								},
								borderxplayer = {
									type = 'range',
									name = "Border X offset",
									order = 28,
									min = 1,
									max = 800,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.xplayer end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.xplayer = value end,
								},
								borderyplayer = {
									type = 'range',
									name = "Border Y offset",
									order = 28,
									min = 1,
									max = 800,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.yplayer end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.yplayer = value end,
								},
								gapplayercast = {
									order = 29,
									type = "description",
									name = "Player Castbar Border",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								barcastplayer = {
									type = 'toggle',
									name = L["Enable"],
									order = 30,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.playercastborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.playercastborder = value end,
								},
								borderxcastplayer = {
									type = 'range',
									name = "Border X offset",
									order = 31,
									min = 1,
									max = 800,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.xplayercast end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.xplayercast = value end,
								},
								borderycastplayer = {
									type = 'range',
									name = "Border Y offset",
									order = 31,
									min = 1,
									max = 800,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.yplayercast end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.yplayercast = value end,
								},
								gaptargetcast = {
									order = 32,
									type = "description",
									name = "Target Castbar Border",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								bartargetcast = {
									type = 'toggle',
									name = L["Enable"],
									order = 33,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.targetcastborder end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.targetcastborder = value end,
								},
								borderxcasttarget = {
									type = 'range',
									name = "Border X offset",
									order = 34,
									min = 1,
									max = 800,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.xcasttarget end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.xcasttarget = value end,
								},
								borderycasttarget = {
									type = 'range',
									name = "Border Y offset",
									order = 34,
									min = 1,
									max = 800,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.borders.borders end,
									get = function() return E.db.ElvUI_EltreumUI.borders.ycasttarget end,
									set = function(_, value) E.db.ElvUI_EltreumUI.borders.ycasttarget = value end,
								},
							},
						},
					},
				},
				cvars = {
					order = 85,
					type = 'group',
					name = L["CVars"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\cvar',
					args = {
						setup = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["Setup CVars"],
							args = {
								generalVars = {
									order = 1,
									type = 'execute',
									name = L["General CVars"],
									func = function() ElvUI_EltreumUI:SetupCVars() ElvUI_EltreumUI:NameplateCVars() end,
									confirm = true,
								},
							},
						},
						generalDesc = {
							order = 2,
							type = 'group',
							inline = true,
							name = L["It will set these CVars:"],
							args = {
								cvars = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = '- autoLootDefault 1\n- ShowClassColorInFriendlyNameplate 1\n- removeChatDelay 1\n- autoQuestWatch 1\n- cameraDistanceMaxZoomFactor 2.6\n- nameplateLargerScale 1.2\n- nameplateMaxDistance 60\n- nameplateMinAlpha 1\n- nameplateMinScale 1\n- nameplateMotion 1\n- nameplateOccludedAlphaMult 0\n- nameplateOverlapH 0.8\n- nameplateOverlapV 1.1\n- nameplateSelectedScale 1\n- nameplateSelfAlpha 1\n- nameplateShowFriendlyMinions 0\n- nameplateOtherBottomInset 0.02\n- nameplateOtherTopInset 0.1\n- nameplateTargetRadialPosition 1\n- nameplateTargetBehindMaxDistance 40\n- UnitNameEnemyGuardianName 0\n- UnitNameEnemyMinionName 0\n- UnitNameEnemyPetName 0\n- UnitNameEnemyPlayerName 1\n- UnitNameEnemyTotemName 1\n- UnitNameNPC 1',
								},
							},
						},
					},
				},
				partyraidsettings = {
					type = 'group',
					name = L["Party/Raid"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\party',
					order = 85,
					args = {
						partyraiddeath = {
							type = 'group',
							name = L["Play a sound when someone dies in Party or Raid"],
							guiInline = true,
							order = 10,
							args = {
								enable = {
								type = 'toggle',
								name = L["Enable"],
								order = 1,
								get = function() return E.db.ElvUI_EltreumUI.partyraiddeath.enable end,
								set = function(_, value) E.db.ElvUI_EltreumUI.partyraiddeath.enable = value end,
								},
								addagaphere = {
								order = 2,
								type = "description",
								name = "",
								},
								addanothergapforfun = {
								order = 2,
								type = "description",
								name = "",
								},
								soundselection = {
								order = 2,
								type = 'group',
								name = L["Select a Sound"],
									args = {
										yetanothergap = {
										order = 2,
										type = "description",
										name = "",
										},
										bruh = {
											type = 'toggle',
											name = 'Bruh',
											order = 5,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.bruh end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.bruh = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\bruh.ogg", "Dialog") end,
										},
										robloxoof = {
											type = 'toggle',
											name = 'Oof',
											order = 6,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\oof.ogg", "Dialog") end,
										},
										shame = {
											type = 'toggle',
											name = 'Shame',
											order = 13,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.shame end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.shame = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\shame.ogg", "Dialog") end,
										},
										wowsound = {
											type = 'toggle',
											name = 'Wow',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.mario or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.wow end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.wow = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\wow.ogg", "Dialog") end,
										},
										mariosound = {
											type = 'toggle',
											name = 'Mario',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.mario end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.mario = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\mariodeath.ogg", "Dialog") end,
										},
										ionsound = {
											type = 'toggle',
											name = 'Ion',
											order = 14,
											disabled = function() return not E.db.ElvUI_EltreumUI.partyraiddeath.enable or E.db.ElvUI_EltreumUI.partyraiddeath.bruh or E.db.ElvUI_EltreumUI.partyraiddeath.robloxoof or E.db.ElvUI_EltreumUI.partyraiddeath.shame or E.db.ElvUI_EltreumUI.partyraiddeath.wow or E.db.ElvUI_EltreumUI.partyraiddeath.mario end,
											get = function(info) return E.db.ElvUI_EltreumUI.partyraiddeath.ion end,
											set = function(info, value) E.db.ElvUI_EltreumUI.partyraiddeath.ion = value PlaySoundFile("Interface\\AddOns\\ElvUI_EltreumUI\\Media\\sound\\ionskillissue.ogg", "Dialog") end,
										},
									},
								},
							},
						},
						headergaphere = {
							order = 11,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						grouplayout = {
							type = 'group',
							name = L["Alternative unitframe layouts"],
							guiInline = true,
							order = 12,
							args = {
								layoutdescription = {
										order = 1,
										type = 'description',
										fontSize = 'medium',
										name = L["DPS/Tank layouts were created with pure dps classes in mind, if you play a class with more raid cooldowns like a Shaman, Druid or Paladin you might want to use the alternative layout in order to make it easier for you to use your cooldowns on the members of your group"],
								},
								alternativegroups = {
									order = 2,
									type = 'execute',
									name = L["Alternative Layout"],
									func = function() ElvUI_EltreumUI:AlternativeGroupsDPS() E:StaticPopup_Show('CONFIG_RL') end,
								},
								originalgroups = {
									order = 3,
									type = 'execute',
									name = L["Original Layout"],
									func = function() ElvUI_EltreumUI:OriginalGroupsDPS() E:StaticPopup_Show('CONFIG_RL') end,
								},
							},
						},
					},
				},
				media = {
					type = 'group',
					name = L["Media"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\media',
					order = 85,
					args = {
						mediaoptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["Setup Media"],
							width = 'full',
							args = {
								private = {
									order = 1,
									type = 'execute',
									name = L["Reset all Media"],
									desc = L["Reset Fonts, Textures, Skins to Eltreum UI defaults."],
									width = 'full',
									func = function() ElvUI_EltreumUI:SetupPrivate() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('CONFIG_RL') end,
									confirm = true,
								},
								header1 = {
								order = 3,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								fontdescription= {
								order = 3,
								type = "description",
								name = L["Set the fonts used in Eltruism. Kimberley is the default font"],
								},
								kimberley = {
									order = 4,
									type = 'execute',
									name = 'Kimberley',
									desc = L["This will set all ElvUI fonts as Kimberley"],
									func = function() ElvUI_EltreumUI:SetupFontsKimberley() E:StaggeredUpdateAll(nil, true)  end,
									confirm = true,
								},
								exo2 = {
									order = 5,
									type = 'execute',
									name = 'Exo2',
									desc = L["This will set all ElvUI fonts as Exo2"],
									func = function() ElvUI_EltreumUI:SetupFontsExo2() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								addagaphereforfonts = {
								order = 6,
								type = "description",
								name = "",
								--width = "full",
								},
								gotham = {
									order = 7,
									type = 'execute',
									name = 'Gotham',
									desc = L["This will set all ElvUI fonts as Gotham"],
									func = function() ElvUI_EltreumUI:SetupFontsGotham() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								roboto = {
									order = 7,
									type = 'execute',
									name = 'Roboto',
									desc = L["This will set all ElvUI fonts as Roboto"],
									func = function() ElvUI_EltreumUI:SetupFontsRoboto() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								addagaphereforcustom = {
								order = 8,
								type = "description",
								name = "",
								},
								sharedmediafont = {
									 order = 8,
									 type = 'select',
									 width = "double",
									 dialogControl = 'LSM30_Font',
									 name = L["Or choose a custom font"],
									 desc = L["Choose a different font from the preselected ones"],
									 values = AceGUIWidgetLSMlists.font,
									 get = function()
										  return E.db.ElvUI_EltreumUI.fonts.playerfont
									 end,
									 set = function(self,fontvalue)
										  E.db.ElvUI_EltreumUI.fonts.playerfont = fontvalue
										  ElvUI_EltreumUI:SetupCustomFont(fontvalue)
									 end,
								},
								addagaphereforoutlines = {
								order = 9,
								type = "description",
								name = "",
								},
								addagaphereagain = {
								order = 9,
								type = "description",
								name = "",
								},
								header3 = {
								order = 10,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								fontoutline = {
								order = 11,
								type = "description",
								name = L["Set the Font Outlines everywhere. Use Default to return to Eltruism default settings"],
								width = "full",
								},
								default = {
									order = 12,
									type = 'execute',
									name = L["Defaults"],
									desc = L["This will set fonts to Eltruism defaults, recommended for 4K"],
									func = function() ElvUI_EltreumUI:SetupFontsOutlineDefault() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('CONFIG_RL') end,
									confirm = true,
								},
								none = {
									order = 12,
									type = 'execute',
									name = L["None"],
									desc = L["This will set fonts to no outline"],
									func = function() ElvUI_EltreumUI:SetupFontsOutlineNone() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('CONFIG_RL') end,
									confirm = true,
								},
								outlinegap = {
								order = 13,
								type = "description",
								name = "",
								},
								outline = {
									order = 13,
									type = 'execute',
									name = L["Outline"],
									desc = L["This will set fonts to use outline, recommended for 1440p and 1080p"],
									func = function() ElvUI_EltreumUI:SetupFontsOutlineOutline() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('CONFIG_RL') end,
									confirm = true,
								},
								thick = {
									order = 13,
									type = 'execute',
									name = L["Thick Outline"],
									desc = L["This will set fonts to use thick outline"],
									func = function() ElvUI_EltreumUI:SetupFontsOutlineThick() E:StaggeredUpdateAll(nil, true) E:StaticPopup_Show('CONFIG_RL') end,
									confirm = true,
								},
								header4 = {
								order = 14,
								type = "description",
								name = "",
								width = 'full',
								image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								darklightmode = {
								order = 15,
								type = "description",
								name = L["Change the look of frames to Dark or Light mode"],
								width = "full",
								},
								textureadjust = {
									order = 16,
									type = 'toggle',
									name = "Auto Adjust Textures",
									desc = "Automatically adjust textures for the current mode",
									get = function(info) return E.db.ElvUI_EltreumUI.modetexture end,
									set = function(info, value) E.db.ElvUI_EltreumUI.modetexture = value end,
								},
								dark = {
									order = 17,
									type = 'execute',
									name = L["Dark Mode"],
									desc = L["This will set colors to black with class colors when losing health"],
									func = function() ElvUI_EltreumUI:DarkMode() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								light = {
									order = 18,
									type = 'execute',
									name = L["Light Mode"],
									desc = L["This will set colors to class based with black backgrounds when losing health"],
									func = function() ElvUI_EltreumUI:LightMode() E:StaggeredUpdateAll(nil, true) end,
									confirm = true,
								},
								header5 = {
									order = 19,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								dynamicdatatext = {
									order = 20,
									type = "description",
									name = L["Dynamic Datatext that changes according to class to show Ammo or Soul Shards when playing Hunter, Warrior, Rogue or Warlock"],
									width = "full",
								},
								dynamicenable = {
									order = 21,
									type = 'toggle',
									name = L["Enable"],
									desc = L["Enable the Dynamic Datatext"],
									get = function(info) return E.db.ElvUI_EltreumUI.dynamicdatatext.enable end,
									set = function(info, value) E.db.ElvUI_EltreumUI.dynamicdatatext.enable = value end,
								},
								header8 = {
									order = 29,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								worldtext = {
									order = 30,
									type = "description",
									name = "Change the Scale of the World Text",
									desc = "Such as the floating XP, floating reputation changes and others",
									width = 'full',
								},
								worldtextscale = {
									type = 'range',
									name = "Select the size of the World Text",
									order = 31,
									min = 0.2,
									max = 5,
									step = 0.1,
									width = "full",
									get = function() return E.db.ElvUI_EltreumUI.otherstuff.worldtextscale end,
									set = function(_, value) E.db.ElvUI_EltreumUI.otherstuff.worldtextscale = value ElvUI_EltreumUI:WorldTextScale(value) end,
								},
								--[[header10 = {
									order = 32,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								floatingrep = {
									order = 33,
									type = 'toggle',
									name = L["Enable Floating Reputation Changes"],
									desc = L["Enable the Floating Rep Text"],
									width = 'full',
									get = function(info) return E.db.ElvUI_EltreumUI.otherstuff.floatingrep end,
									set = function(info, value) E.db.ElvUI_EltreumUI.otherstuff.floatingrep = value ElvUI_EltreumUI:floatingrep(value) end,
								},]]--
							},
						},
					},
				},
				nameplates = {
					type = 'group',
					name = L["Nameplates"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\nameplate',
					order = 85,
					args = {
						header = {
							order = 1,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						nameplateOptions = {
							order = 2,
							type = 'group',
							inline = true,
							name = L["Class Colored Nameplate Options"],
							args = {
								classhover = {
									order = 1,
									type = 'toggle',
									name = L["Hover"],
									desc = L["Change the color of the hover to be class colored"],
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.ClassColorGlow end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.ClassColorGlow = value end,
								},
								classborder = {
									order = 2,
									type = 'toggle',
									name = L["Border"],
									desc = L["Change the color of the border glow to be class bordered in nameplates"],
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.ClassBorderNameplate end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.ClassBorderNameplate = value end,
								},
								classtexture = {
									order = 2,
									type = 'toggle',
									name = L["Target Texture"],
									desc = L["Change the texture of the nameplate to be a class gradient"],
									get = function(info) return E.db.ElvUI_EltreumUI.nameplateOptions.nameplatetexture end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplateOptions.nameplatetexture = value end,
								},
							},
						},
						addsomegap = {
							order = 3,
							type = "description",
							name = "",
						},
						header2 = {
							order = 4,
							type = "description",
							name = "",
							width = 'full',
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						friendlynameplate = {
							order = 5,
							type = 'group',
							inline = true,
							name = L["Control how Nameplates behave"],
							args = {
								hidehealthinsideinstances = {
									order = 1,
									type = 'toggle',
									name = L["Show Friendly Nameplates but Hide Healthbar"],
									desc = L["Show Friendly Nameplates but Hide Healthbar"],
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								nofriendlyinstances = {
									order = 1,
									type = 'toggle',
									name = L["Hide Friendly Nameplates inside Instances"],
									desc = L["Hide Friendly Nameplates inside Instances"],
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								dontshowfriendlyatall = {
									order = 1,
									type = 'toggle',
									name = L["Hide Friendly Nameplates everywhere"],
									desc = L["Hide Friendly Nameplates everywhere"],
									width = 'full',
									disabled = function() return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.friendlynames or E.db.ElvUI_EltreumUI.friendlynameplatetoggle.disablefriendly end,
									get = function(info) return E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly end,
									set = function(_, value) E.db.ElvUI_EltreumUI.friendlynameplatetoggle.hidefriendly = value E:StaticPopup_Show('CONFIG_RL') end,
								},
							},
						},
						header3 = {
									order = 6,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						verywidenameplate = {
							order = 7,
							type = 'group',
							inline = true,
							name = L["Wide nameplate debuffs and buffs"],
							args = {
								desc = {
									order = 1,
									type = 'toggle',
									name = L["Make Buffs and Debuffs Wide on Nameplates"],
									desc = L["Toogle On and Off"],
									width = 'full',
									get = function() return E.db.ElvUI_EltreumUI.widenameplate.enable end,
									set = function(_, value) E.db.ElvUI_EltreumUI.widenameplate.enable = value end,
								},
							}
						},
						header4 = {
									order = 8,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						dynamiclevel = {
							order = 9,
							type = 'group',
							inline = true,
							name = L["Enemy Nameplate Level"],
							args = {
								desc = {
									order = 1,
									type = 'toggle',
									name = L["Hide level on enemy nameplates when you are max level"],
									desc = L["Toogle On and Off"],
									width = 'full',
									get = function() return E.db.ElvUI_EltreumUI.nameplatelevel.enable end,
									set = function(_, value) E.db.ElvUI_EltreumUI.nameplatelevel.enable = value end,
								},
							}
						},
						header5 = {
									order = 10,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
						},
						nameplatepower = {
							order = 11,
							type = 'group',
							inline = true,
							name = L["Nameplate Power Bar"],
							args = {
								enablepowerbar = {
									order = 1,
									type = 'toggle',
									name = L["Enable Nameplate Power Bar"],
									desc = L["Enable an extra Power Bar on Nameplates for missing powers"],
									width = 'full',
									get = function(info) return E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									set = function(info, value) E.private.ElvUI_EltreumUI.nameplatepower.enable = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								enableadjust = {
									order = 2,
									type = 'toggle',
									name = L["Enable Autoadjusting Buffs/Debuffs"],
									desc = L["Enable autoadjusting the position of Buffs/Debuffs"],
									width = 'full',
									disabled = function() return not E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									get = function(info) return E.private.ElvUI_EltreumUI.nameplatepower.adjust end,
									set = function(info, value) E.private.ElvUI_EltreumUI.nameplatepower.adjust = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								addagapforspace4 = {
									order = 3,
									type = "description",
									name = "",
								},
								addagapforspace5 = {
									order = 3,
									type = "description",
									name = "",
								},
								addagapforspace6 = {
									order = 3,
									type = "description",
									name = "",
								},
								enableautoadjust = {
									order = 4,
									type = 'toggle',
									name = L["Enable Autoadjusting the Vertical Position of the Power Bar"],
									desc = L["Power Bar will move automatically based on class/spec/druid form"],
									width = 'full',
									disabled = function() return not E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.nameplatepower.autoadjustposition end,
									set = function(info, value) E.db.ElvUI_EltreumUI.nameplatepower.autoadjustposition = value end,
								},
								powerbarYoffset = {
									type = 'range',
									name = L["Select the Y Offset for the Power Bar (Default 16)"],
									desc = L["Set Y Offset"],
									order = 5,
									min = -100,
									max = 100,
									step = 1,
									width = "full",
									disabled = function() return E.db.ElvUI_EltreumUI.nameplatepower.autoadjustposition end,
									get = function() return E.db.ElvUI_EltreumUI.nameplatepower.posy end,
									set = function(_, value) E.db.ElvUI_EltreumUI.nameplatepower.posy = value end,
								},
								powerbarsizeX = {
									type = 'range',
									name = L["Select the Horizontal Size of the Power Bar (Default 132)"],
									desc = L["Set Horizontal Size"],
									order = 6,
									min = 10,
									max = 300,
									step = 1,
									width = "full",
									disabled = function() return not E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									get = function() return E.db.ElvUI_EltreumUI.nameplatepower.sizex end,
									set = function(_, value) E.db.ElvUI_EltreumUI.nameplatepower.sizex = value end,
								},
								powerbarsizeY = {
									type = 'range',
									name = L["Select the Vertical Size of the Power Bar (Default 6)"],
									desc = L["Set Vertical Size"],
									order = 7,
									min = 2,
									max = 20,
									step = 1,
									width = "full",
									disabled = function() return not E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									get = function() return E.db.ElvUI_EltreumUI.nameplatepower.sizey end,
									set = function(_, value) E.db.ElvUI_EltreumUI.nameplatepower.sizey = value end,
								},
								sharedmediatexture = {
									order = 8,
									type = 'select',
									width = "double",
									dialogControl = 'LSM30_Statusbar',
									name = L["Choose the Power Bar Texture"],
									desc = L["Select a Texture"],
									values = AceGUIWidgetLSMlists.statusbar,
									disabled = function() return not E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									get = function() return E.db.ElvUI_EltreumUI.nameplatepower.texture end,
									set = function(self,key) E.db.ElvUI_EltreumUI.nameplatepower.texture = key end,
								},
								describethis = {
									order = 98,
									type = "description",
									name = L["Select the power types to be displayed:"],
								},
								addagapforspace7 = {
									order = 98,
									type = "description",
									name = "",
								},
								addagapforspace8 = {
									order = 98,
									type = "description",
									name = "",
								},
								addagapforspace9 = {
									order = 98,
									type = "description",
									name = "",
								},
								mana = {
									type = 'toggle',
									name = L["Mana"],
									order = 99,
									disabled = function() return not E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									get = function(info) return E.private.ElvUI_EltreumUI.nameplatepower.mana end,
									set = function(info, value) E.private.ElvUI_EltreumUI.nameplatepower.mana = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								rage = {
									type = 'toggle',
									name = L["Rage"],
									order = 99,
									disabled = function() return not E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									get = function(info) return E.private.ElvUI_EltreumUI.nameplatepower.rage end,
									set = function(info, value) E.private.ElvUI_EltreumUI.nameplatepower.rage = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
								energy = {
									type = 'toggle',
									name = L["Energy"],
									order = 99,
									disabled = function() return not E.private.ElvUI_EltreumUI.nameplatepower.enable end,
									get = function(info) return E.private.ElvUI_EltreumUI.nameplatepower.energy end,
									set = function(info, value) E.private.ElvUI_EltreumUI.nameplatepower.energy = value E:StaticPopup_Show('PRIVATE_RL') end,
								},
							}
						},
					},
				},
				loottext = {
					type = 'group',
					name = L["Loot"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\loot',
					order = 85,
					args = {
						lootsetting = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["Show a floating loot text"],
							args = {
								desc = {
									type = 'toggle',
									name = L["Enable"],
									desc = L["Toogle On and Off"],
									order = 1,
									get = function() return E.db.ElvUI_EltreumUI.loottext.enable end,
									set = function(_, value) E.db.ElvUI_EltreumUI.loottext.enable = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								addagaphere = {
									order = 2,
									type = "description",
									name = "",
								},
								addanothergapforfun = {
									order = 2,
									type = "description",
									name = "",
								},
								suboptions = {
									order = 2,
									type = 'group',
									name = L["Choose which types of text:"],
										args = {
											yetanothergap = {
											order = 2,
											type = "description",
											name = "",
											},
											honor = {
												type = 'toggle',
												name = L["Honor"],
												order = 5,
												disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
												get = function(info) return E.db.ElvUI_EltreumUI.loottext.honor end,
												set = function(info, value) E.db.ElvUI_EltreumUI.loottext.honor = value end,
											},
											currency = {
												type = 'toggle',
												name = L["Currency"],
												order = 5,
												disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
												get = function(info) return E.db.ElvUI_EltreumUI.loottext.currency end,
												set = function(info, value) E.db.ElvUI_EltreumUI.loottext.currency = value end,
											},
											pet = {
												type = 'toggle',
												name = L["Pets"],
												order = 5,
												disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
												get = function(info) return E.db.ElvUI_EltreumUI.loottext.pet end,
												set = function(info, value) E.db.ElvUI_EltreumUI.loottext.pet = value end,
											},
										}
								},
								header1 = {
									order = 3,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								lootscale = {
									type = 'range',
									name = L["Change the scale of LootText"],
									desc = L["Set the size of LootText"],
									order = 4,
									min = .1,
									max = 1.5,
									step = .05,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
									get = function() return E.db.ElvUI_EltreumUI.loottext.scale end,
									set = function(_, value) E.db.ElvUI_EltreumUI.loottext.scale = value end,
								},
								addgaptobenice = {
									order = 5,
									type = "description",
									name = "",
								},
								lootscalereset = {
									type = 'execute',
									name = L["Reset Scale"],
									desc = L["Return LootText to its default scale"],
									order = 9,
									disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
									func = function() E.db.ElvUI_EltreumUI.loottext.scale = 0.65 end,
								},
								header2 = {
									order = 10,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								lootstrata = {
									type = 'select',
									name = L["Change the strata of the Loot Text"],
									desc = L["Set the level that LootText will be drawn to this"],
									order = 11,
									values = {
										['BACKGROUND'] = L["Background"],
										['LOW'] = L["Low"],
										['MEDIUM'] = L["Medium"],
										['HIGH'] = L["High"],
										['DIALOG'] = L["Dialog"],
									},
									style = 'radio',
									disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.loottext.strata end,
									set = function(info, value) E.db.ElvUI_EltreumUI.loottext.strata = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								header99 = {
									order = 12,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								lootscalex = {
									type = 'range',
									name = L["Change the Horizontal Position of LootText (Default = 0)"],
									desc = L["Set X offset"],
									order = 13,
									min = -1000,
									max = 1000,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
									get = function() return E.db.ElvUI_EltreumUI.loottext.xOffset end,
									set = function(info, value) E.db.ElvUI_EltreumUI.loottext.xOffset = value end,
									--confirm = true,
								},
								lootscaley = {
									type = 'range',
									name = L["Change the Vertical Position of LootText (Default = 200)"],
									desc = L["Set Y offset"],
									order = 14,
									min = -1000,
									max = 1000,
									step = 1,
									width = "full",
									disabled = function() return not E.db.ElvUI_EltreumUI.loottext.enable end,
									get = function() return E.db.ElvUI_EltreumUI.loottext.yOffset end,
									set = function(info, value) E.db.ElvUI_EltreumUI.loottext.yOffset = value end,
									--confirm = true,
								},
								header98 = {
									order = 15,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								customfontlootgap = {
									type = 'description',
									name = '',
									width = 'full',
									order = 16,
								},
								customfontlootdesc = {
									type = 'description',
									name = L["Change the font of LootText to be that the ElvUI Default Font found in General"],
									width = 'full',
									order = 17,
								},
								customfontloot = {
									type = 'toggle',
									name = L["Use ElvUI General Font"],
									desc = L["Change the font of LootText"],
									order = 18,
									get = function() return E.db.ElvUI_EltreumUI.loottext.fontsetting end,
									set = function(_, value) E.db.ElvUI_EltreumUI.loottext.fontsetting = value E:StaticPopup_Show('CONFIG_RL') end,
								},
							},
						},
					},
				},
				chat = {
					type = 'group',
					name = L["Chat"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\chat',
					order = 85,
					args = {
						chatOptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["Chat Options"],
							args = {
								chatfadeenable = {
									order = 1,
									type = 'toggle',
									name = L["Enable ElvUI Chat modifications"],
									width = 'full',
									desc = L["Add fade over time, and mouse over to left and right chat panels"],
									get = function(info) return E.db.ElvUI_EltreumUI.chat.enable end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.enable = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								header1 = {
									order = 3,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								gap1 = {
									order = 4,
									type = "description",
									name = "",
									width = 'full',
								},
								description2 = {
									order = 4,
									type = "description",
									name = L["Add mouse over to the left chat panel"],
								},
								leftmouseover = {
									order = 5,
									type = 'toggle',
									name = L["Left Chat Mouse Over"],
									desc = L["Toggle the option"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.leftmouseover end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.leftmouseover = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								gap2 = {
									order = 6,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								description3 = {
									order = 6,
									type = "description",
									name = L["Add a fade to the left chat panel, controlled by ElvUI Chat > Text Fade > Inactivity Timer"],
								},
								leftfade = {
									order = 7,
									type = 'toggle',
									name = L["Left Inactivity Fader"],
									--width = 'full',
									desc = L["Toggle the option"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.leftfader end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.leftfader = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								gap3 = {
									order = 8,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								description4 = {
									order = 8,
									type = "description",
									name = L["Add mouse over to the left chat panel"],
								},
								rightmouseover = {
									order = 9,
									type = 'toggle',
									name = L["Right Chat Mouse Over"],
									desc = L["Toggle the option"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.rightmouseover end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.rightmouseover = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								gap4 = {
									order = 10,
									type = "description",
									name = "",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								description5 = {
									order = 10,
									type = "description",
									name = L["Add a fade to the right chat panel, controlled by ElvUI Chat > Text Fade > Inactivity Timer"],
								},
								rightfade = {
									order = 11,
									type = 'toggle',
									name = L["Right Inactivity Fader"],
									desc = L["Toggle the option"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.rightfader end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.rightfader = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								gap5 = {
									order = 12,
									type = "description",
									name = L["Combat Hide"],
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								leftcombathide = {
									order = 13,
									type = 'toggle',
									name = L["Hide Left Chat in Combat"],
									width = 'full',
									desc = L["Toggle the option"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.leftcombathide end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.leftcombathide = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								rightcombathide = {
									order = 14,
									type = 'toggle',
									name = L["Hide Right Chat in Combat"],
									width = 'full',
									desc = L["Toggle the option"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.rightcombathide end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.rightcombathide = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								gap6 = {
									order = 15,
									type = "description",
									name = L["Invert left mouse click so that chat starts faded and mouse click will make it stop fading"],
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								invertmouse = {
									order = 16,
									type = 'toggle',
									name = L["Invert Mouse Click"],
									width = 'full',
									desc = L["Toggle the option on"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.invertclick end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.invertclick = value E:StaticPopup_Show('CONFIG_RL') end,
								},
								gap7 = {
									order = 17,
									type = "description",
									name = "Add color to some chat messages",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								colorsysmsgs = {
									order = 18,
									type = 'toggle',
									name = "Enable",
									width = 'full',
									desc = L["Toggle the option on"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.colorsysmsg end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.colorsysmsg = value end,
								},
								gap8 = {
									order = 19,
									type = "description",
									name = "Add icons to loot sent in chat",
									width = 'full',
									image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\EltreumHeader', 3240, 1 end,
								},
								chatlooticons = {
									order = 20,
									type = 'toggle',
									name = "Enable",
									width = 'full',
									desc = L["Toggle the option on"],
									disabled = function() return not E.db.ElvUI_EltreumUI.chat.enable end,
									get = function(info) return E.db.ElvUI_EltreumUI.chat.looticons end,
									set = function(info, value) E.db.ElvUI_EltreumUI.chat.looticons = value end,
								},
							},
						},
					},
				},
				stealth = {
					type = 'group',
					name = L["Stealth Vignette"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\stealth',
					order = 85,
					args = {
						stealthOptions = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["Toggle a Stealth Effect"],
							args = {
								stealthframeoptions = {
									order = 1,
									type = 'toggle',
									name = L["Add a vignette effect while in stealth"],
									width = 'full',
									desc = L["Turn the effect on"],
									get = function(info) return E.db.ElvUI_EltreumUI.stealthOptions.stealtheffect end,
									set = function(info, value) E.db.ElvUI_EltreumUI.stealthOptions.stealtheffect = value end,
								},
							},
						},
					},
				},
				weakauras = {
					type = 'group',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\weakauras',
					name = 'WeakAuras',
					order = 95,
					args = {
						header1 = {
							order = 1,
							type = 'header',
							name = 'WeakAuras',
						},
						explain1 = {
							order = 2,
							type = "description",
							name = L["You can set your Weakauras to anchor to custom locations making it easier to move them"],
						},
						explain2 = {
							order = 3,
							type = "description",
							name = L["In order to use this feature, simply go to your Weakaura, and go to its Group options, scroll down to Position Settings and set the Anchored To Select Frame, then type either |cff82B4ffEltruismWA|r or |cff82B4ffEltruismConsumables|r to anchor the weakaura to the preset location"],
						},
						explain3 = {
							order = 4,
							type = "description",
							name = L["Setting "].."|cff82B4ffEltruismWA|r"..L[" or "].."|cff82B4ffEltruismConsumables|r"..L[" as the anchor will move them to the locations, keep in mind you might need to change the X and Y offset of the weakaura to zero"],
						},
						explainer1 = {
							order = 5,
							type = "group",
							name = 'WeakAuras',
							inline = true,
							args = {
								addaspaceher544e = {
									order = 86,
									type = "description",
									name = '',
								},
								explainer7 = {
									order = 87,
									type = "description",
									name = L["My WeakAuras are available here, but are not focused on one class. Consider them more like upcoming features."],
								},
								addaspacehere = {
									order = 88,
									type = "description",
									name = '',
								},
								wago = {
									order = 89,
									type = 'input',
									width = 'normal',
									name = L["All weakauras"],
									get = function() return 'wago.io/p/Eltreum' end,
								},
								addsomegap = {
									order = 90,
									type = "description",
									name = "",
								},
								nameplatepowerbar = {
									order = 91,
									type = 'input',
									width = 'full',
									name = L["Nameplate Power Bar"],
									get = function() return 'https://wago.io/HJ7YjUVgo' end,
								},
								addsomegap2 = {
									order = 92,
									type = "description",
									name = "",
								},
								bossnameplate = {
									order = 93,
									type = 'input',
									width = 'full',
									name = L["Boss nameplate at base"],
									get = function() return 'https://wago.io/M7yrCgMnE' end,
								},
								addsomegap3 = {
									order = 94,
									type = "description",
									name = "",
								},
								executenameplate = {
									order = 95,
									type = 'input',
									width = 'full',
									name = L["Executes next to nameplates"],
									get = function() return 'https://wago.io/afJKwFwAX' end,
								},
							},
						},
					},
				},
				discord = {
					type = 'group',
					name = 'Discord',
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\discord',
					order = 96,
					args = {
						logodiscord = {
							type = 'description',
							name = "",
							order = 1,
							image = function() return 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Textures\\disc', 256, 128 end,
						},
						explainer8 = {
							order = 2,
							type = "description",
							name = L["Join the Discord if you have any questions or issues"],
						},
						addaspacehere4 = {
							order = 3,
							type = "description",
							name = L["Keep in mind the discord is in English"],
						},
						discordinvitelink = {
							order = 19,
							type = 'input',
							width = 'full',
							name = '',
							get = function() return 'https://discord.gg/cXfA56gmYW' end,
						},
					},
				},
				credits = {
					type = 'group',
					name = L["Credits"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\credits',
					order = 97,
					args = {
						author = {
							order = 1,
							type = 'group',
							inline = true,
							name = L["Author"],
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = AUTHORS_STRING,
								},
							},
						},
						thankyou = {
							order = 2,
							type = 'group',
							inline = true,
							name = L["Credits and Thank yous"],
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = THANKYOU_STRING,
								},
							},
						},
						supporters = {
							order = 3,
							type = 'group',
							inline = true,
							name = "Supporters",
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = SUPPORTER_STRING,
								},
							},
						},
						licensewarning = {
							order = 99,
							type = 'group',
							inline = true,
							name = L["License"],
							args = {
								desc = {
									order = 1,
									type = 'description',
									fontSize = 'medium',
									name = 'Cursor is a fork of CastCursor by michaelsp which licensed under GNU GPLv3\nCursor Cooldowns is a fork of CooldownToGo by mitchnull which is licensed under Public Domain\nExpand Hunter Stables is merged from Improved Stable Frame by Cybeloras which is licensed under GNU GPLv3\nIcons8 (www.icons8.com) for some of the icons. List in license.txt\nLootText is a fork of SLoTe from xavjer which is licensed under GNU GPLv3\nRogue Door Opener is a fork of Rogue Door Opener by Burzolog which licensed under GNU GPLv3\nLoot Icons are merged from Chat Loot Icons by Stanzilla which is licensed under Public Domain',
								},
							},
						},
					},
				},
				support = {
					type = 'group',
					name = L["Support"],
					icon = 'Interface\\AddOns\\ElvUI_EltreumUI\\Media\\Icons\\support',
					order = 98,
					args = {
						gitlink = {
							order = 1,
							type = 'input',
							width = 'full',
							name = L["Changelog"],
							get = function() return 'https://git.tukui.org/eltreum/eltruism/-/blob/main/Changelog.md' end,
						},
						issues = {
							order = 2,
							type = 'input',
							width = 'full',
							name = L["Report issues and problems here:"],
							get = function() return 'https://git.tukui.org/eltreum/eltruism/-/issues' end,
						},
						tukui = {
							order = 3,
							type = 'input',
							width = 'full',
							name = L["Addon on Tukui:"],
							get = function() return 'https://www.tukui.org/classic-tbc-addons.php?id=10' end,
						},
						curse = {
							order = 4,
							type = 'input',
							width = 'full',
							name = L["Addon on CurseForge:"],
							get = function() return 'https://www.curseforge.com/wow/addons/elvui-eltruism' end,
						},
					},
				},
			},
		}
		for _, func in pairs(ElvUI_EltreumUI.Config) do
			func()
		end
	end
end
