-- Generated ApiVault API data shard. Do not edit manually.
-- version=0.1.0.2; shard=29; systems=20
local addonName, ApiVault = ...
local systems = ApiVault.APIData.systems
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "UnitConstantsDocumentation.lua",
	hash = "d8204b63844558fcc6895cb8565e62f76ff4f651a2754362ab6d7d6842ce106a",
	tables = {
		{
			n = "AddPrivateAuraAnchorArgs",
			k = "Structure",
			fields = {
				{
					n = "unitToken",
					t = "cstring",
					nilable = false,
				},
				{
					n = "auraIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "parent",
					t = "SimpleFrame",
					nilable = false,
				},
				{
					n = "showCountdownFrame",
					t = "bool",
					nilable = false,
				},
				{
					n = "showCountdownNumbers",
					t = "bool",
					nilable = false,
				},
				{
					n = "isContainer",
					t = "bool",
					nilable = false,
				},
				{
					n = "iconInfo",
					t = "PrivateAuraIconInfo",
					nilable = true,
				},
				{
					n = "durationAnchor",
					t = "AnchorBinding",
					nilable = true,
				},
			},
		},
		{
			n = "PrivateAuraIconInfo",
			k = "Structure",
			fields = {
				{
					n = "iconAnchor",
					t = "AnchorBinding",
					nilable = false,
				},
				{
					n = "iconWidth",
					t = "uiUnit",
					nilable = false,
				},
				{
					n = "iconHeight",
					t = "uiUnit",
					nilable = false,
				},
				{
					n = "borderScale",
					t = "uiUnit",
					nilable = true,
				},
			},
		},
		{
			n = "UnitAuraUpdateInfo",
			k = "Structure",
			fields = {
				{
					n = "isFullUpdate",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "removedAuraInstanceIDs",
					t = "table",
					nilable = true,
					it = "number",
					NeverSecretContents = true,
				},
				{
					n = "addedAuras",
					t = "table",
					nilable = true,
					it = "AuraData",
					ConditionalSecretContents = true,
				},
				{
					n = "updatedAuraInstanceIDs",
					t = "table",
					nilable = true,
					it = "number",
					NeverSecretContents = true,
				},
			},
		},
		{
			n = "UnitPrivateAuraAnchorInfo",
			k = "Structure",
			fields = {
				{
					n = "anchorID",
					t = "number",
					nilable = false,
				},
				{
					n = "unitToken",
					t = "string",
					nilable = false,
				},
				{
					n = "auraIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "showCountdownFrame",
					t = "bool",
					nilable = false,
				},
				{
					n = "showCountdownNumbers",
					t = "bool",
					nilable = false,
				},
				{
					n = "iconWidth",
					t = "uiUnit",
					nilable = true,
				},
				{
					n = "iconHeight",
					t = "uiUnit",
					nilable = true,
				},
				{
					n = "borderScale",
					t = "uiUnit",
					nilable = true,
				},
				{
					n = "isContainer",
					t = "bool",
					nilable = true,
				},
				{
					n = "parent",
					t = "SimpleFrame",
					nilable = false,
				},
			},
		},
		{
			n = "UnitPrivateAuraAppliedSoundInfo",
			k = "Structure",
			fields = {
				{
					n = "unitToken",
					t = "string",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "soundFileName",
					t = "string",
					nilable = true,
				},
				{
					n = "soundFileID",
					t = "number",
					nilable = true,
				},
				{
					n = "outputChannel",
					t = "string",
					nilable = true,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "Unit",
	type = "System",
	ns = "",
	env = "All",
	file = "UnitDocumentation.lua",
	hash = "67677c5ccbacac1e00a82c936bd15631089eaeae0d792582a67816e7789e4b91",
	functions = {
		{
			n = "CanEjectPassengerFromSeat",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "virtualSeatIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanSwitchVehicleSeat",
			k = "Function",
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ClosestGameObjectPosition",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "gameObjectID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "xPos",
					t = "number",
					nilable = false,
				},
				{
					n = "yPos",
					t = "number",
					nilable = false,
				},
				{
					n = "distance",
					t = "number",
					nilable = false,
				},
			},
			SecretReturns = true,
			mayReturnNothing = true,
		},
		{
			n = "ClosestUnitPosition",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "creatureID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "xPos",
					t = "number",
					nilable = false,
				},
				{
					n = "yPos",
					t = "number",
					nilable = false,
				},
				{
					n = "distance",
					t = "number",
					nilable = false,
				},
			},
			SecretReturns = true,
			mayReturnNothing = true,
		},
		{
			n = "CreateUnitHealPredictionCalculator",
			k = "Function",
			rets = {
				{
					n = "healPredictionCalculator",
					t = "UnitHealPredictionCalculator",
					nilable = false,
				},
			},
		},
		{
			n = "EjectPassengerFromSeat",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "virtualSeatIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
		},
		{
			n = "GetComboPoints",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "target",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitPowerRestricted = true,
		},
		{
			n = "GetNegativeCorruptionEffectInfo",
			k = "Function",
			rets = {
				{
					n = "corruptionEffects",
					t = "table",
					nilable = false,
					it = "CorruptionEffectInfo",
				},
			},
		},
		{
			n = "GetUnitChargedPowerPoints",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "pointIndices",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
			SecretWhenUnitPowerRestricted = true,
			mayReturnNothing = true,
		},
		{
			n = "GetUnitEmpowerHoldAtMaxTime",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "holdAtMaxTime",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
		},
		{
			n = "GetUnitEmpowerMinHoldTime",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "minHoldTime",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
		},
		{
			n = "GetUnitEmpowerStageDuration",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "index",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "duration",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
		},
		{
			n = "GetUnitHealthModifier",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetUnitMaxHealthModifier",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetUnitPowerBarInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "UnitPowerBarInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetUnitPowerBarInfoByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "barID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "UnitPowerBarInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetUnitPowerBarStrings",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "cstring",
					nilable = true,
				},
				{
					n = "tooltip",
					t = "cstring",
					nilable = true,
				},
				{
					n = "cost",
					t = "cstring",
					nilable = true,
				},
			},
		},
		{
			n = "GetUnitPowerBarStringsByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "barID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "cstring",
					nilable = true,
				},
				{
					n = "tooltip",
					t = "cstring",
					nilable = true,
				},
				{
					n = "cost",
					t = "cstring",
					nilable = true,
				},
			},
		},
		{
			n = "GetUnitPowerBarTextureInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "textureIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "timerIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "texture",
					t = "fileID",
					nilable = false,
				},
				{
					n = "colorR",
					t = "number",
					nilable = false,
				},
				{
					n = "colorG",
					t = "number",
					nilable = false,
				},
				{
					n = "colorB",
					t = "number",
					nilable = false,
				},
				{
					n = "colorA",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetUnitPowerBarTextureInfoByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "barID",
					t = "number",
					nilable = false,
				},
				{
					n = "textureIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "texture",
					t = "fileID",
					nilable = false,
				},
				{
					n = "colorR",
					t = "number",
					nilable = false,
				},
				{
					n = "colorG",
					t = "number",
					nilable = false,
				},
				{
					n = "colorB",
					t = "number",
					nilable = false,
				},
				{
					n = "colorA",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetUnitPowerModifier",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetUnitSpeed",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "currentSpeed",
					t = "number",
					nilable = false,
				},
				{
					n = "runSpeed",
					t = "number",
					nilable = false,
				},
				{
					n = "flightSpeed",
					t = "number",
					nilable = false,
				},
				{
					n = "swimSpeed",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "GetUnitTotalModifiedMaxHealthPercent",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetVehicleUIIndicator",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "vehicleIndicatorID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "backgroundTextureID",
					t = "fileID",
					nilable = false,
				},
				{
					n = "numSeatIndicators",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetVehicleUIIndicatorSeat",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "vehicleIndicatorID",
					t = "number",
					nilable = false,
				},
				{
					n = "indicatorSeatIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "virtualSeatIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "xPos",
					t = "number",
					nilable = false,
				},
				{
					n = "yPos",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "IsFalling",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsFlying",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPlayerInGuildFromGUID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "IsInGuild",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsSubmerged",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsSwimming",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsUnitModelReadyForUI",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isReady",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "PlayerIsPVPInactive",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "PlayerIsSpellTarget",
			k = "Function",
			doc = {
				"If the unit is currently casting a spell, returns whether spell's target unit is the player. Returns false if the unit is not casting a spell or the spell has no target.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
			SecretReturns = true,
		},
		{
			n = "PlayerVehicleHasComboPoints",
			k = "Function",
			rets = {
				{
					n = "vehicleHasComboPoints",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ReportPlayerIsPVPAFK",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "ResistancePercent",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "resistance",
					t = "number",
					nilable = false,
				},
				{
					n = "casterLevel",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetPortraitTexture",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "textureObject",
					t = "SimpleTexture",
					nilable = false,
				},
				{
					n = "unitToken",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "disableMasking",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
		},
		{
			n = "SetPortraitTextureFromCreatureDisplayID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "textureObject",
					t = "SimpleTexture",
					nilable = false,
				},
				{
					n = "creatureDisplayID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetUnitCursorTexture",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "textureObject",
					t = "SimpleTexture",
					nilable = false,
				},
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "style",
					t = "CursorStyle",
					nilable = true,
				},
				{
					n = "includeLowPriority",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "hasCursor",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitAffectingCombat",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitAlliedRaceInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isAlliedRace",
					t = "bool",
					nilable = false,
				},
				{
					n = "hasHeritageArmorUnlocked",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitArmor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "base",
					t = "number",
					nilable = false,
				},
				{
					n = "effective",
					t = "number",
					nilable = false,
				},
				{
					n = "real",
					t = "number",
					nilable = false,
				},
				{
					n = "bonus",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitAttackPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "attackPower",
					t = "number",
					nilable = false,
				},
				{
					n = "posBuff",
					t = "number",
					nilable = false,
				},
				{
					n = "negBuff",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitAttackSpeed",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "attackSpeed",
					t = "number",
					nilable = false,
				},
				{
					n = "offhandAttackSpeed",
					t = "number",
					nilable = true,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitBattlePetLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "UnitBattlePetSpeciesID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "UnitBattlePetType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "UnitCanAssist",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "target",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitCanAttack",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "target",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitCanCooperate",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "target",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitCanPetBattle",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "target",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitCastingDuration",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "duration",
					t = "LuaDurationObject",
					nilable = false,
				},
			},
			SecretReturns = true,
			mayReturnNothing = true,
		},
		{
			n = "UnitCastingInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "displayName",
					t = "string",
					nilable = false,
				},
				{
					n = "textureID",
					t = "fileID",
					nilable = false,
				},
				{
					n = "startTimeMs",
					t = "number",
					nilable = false,
				},
				{
					n = "endTimeMs",
					t = "number",
					nilable = false,
				},
				{
					n = "isTradeskill",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "castID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "notInterruptible",
					t = "bool",
					nilable = true,
				},
				{
					n = "castingSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
				{
					n = "delayTimeMs",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
		},
		{
			n = "UnitChannelDuration",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "duration",
					t = "LuaDurationObject",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitChannelInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "displayName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "textureID",
					t = "fileID",
					nilable = false,
				},
				{
					n = "startTimeMs",
					t = "number",
					nilable = false,
				},
				{
					n = "endTimeMs",
					t = "number",
					nilable = false,
				},
				{
					n = "isTradeskill",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "notInterruptible",
					t = "bool",
					nilable = true,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "isEmpowered",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "numEmpowerStages",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
		},
		{
			n = "UnitChromieTimeID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "ID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitClass",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "className",
					t = "cstring",
					nilable = false,
					ConditionalSecret = true,
				},
				{
					n = "classFilename",
					t = "cstring",
					nilable = false,
				},
				{
					n = "classID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitClassBase",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "classFilename",
					t = "cstring",
					nilable = false,
				},
				{
					n = "classID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitClassFromGUID",
			k = "Function",
			sec = "AllowedWhenTainted",
			args = {
				{
					n = "unitGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "className",
					t = "cstring",
					nilable = false,
					ConditionalSecret = true,
				},
				{
					n = "classFilename",
					t = "cstring",
					nilable = false,
				},
				{
					n = "classID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitClassification",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "UnitControllingVehicle",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitCreatureFamily",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "id",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitCreatureID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "creatureID",
					t = "number",
					nilable = true,
				},
			},
			RequiresUnitIdentityAccess = true,
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitCreatureType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "id",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitDamage",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "minDamage",
					t = "number",
					nilable = false,
				},
				{
					n = "maxDamage",
					t = "number",
					nilable = false,
				},
				{
					n = "offhandMinDamage",
					t = "number",
					nilable = false,
				},
				{
					n = "offhandMaxDamage",
					t = "number",
					nilable = false,
				},
				{
					n = "posBuff",
					t = "number",
					nilable = false,
				},
				{
					n = "negBuff",
					t = "number",
					nilable = false,
				},
				{
					n = "percent",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitDetailedThreatSituation",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "mobGUID",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isTanking",
					t = "bool",
					nilable = false,
				},
				{
					n = "status",
					t = "number",
					nilable = false,
				},
				{
					n = "scaledPercentage",
					t = "number",
					nilable = false,
				},
				{
					n = "rawPercentage",
					t = "number",
					nilable = false,
				},
				{
					n = "rawThreat",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitThreatValuesRestricted = true,
			mayReturnNothing = true,
		},
		{
			n = "UnitDistanceSquared",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "distance",
					t = "number",
					nilable = false,
				},
				{
					n = "checkedDistance",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitEffectiveLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitEmpoweredChannelDuration",
			k = "Function",
			doc = {
				"Returns a duration object that includes the duration of an empowered cast channel.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "includeHoldAtMaxTime",
					t = "bool",
					nilable = false,
					def = true,
					doc = {
						"If true, include the hold-at-max time of the empowered channel in the total duration.",
					},
				},
			},
			rets = {
				{
					n = "duration",
					t = "LuaDurationObject",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitEmpoweredStageDurations",
			k = "Function",
			doc = {
				"Returns a vector of duration objects that measure the time spans for each individual stage in an empowered channel, with hold-at-max time included as the last element.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "duration",
					t = "table",
					nilable = false,
					it = "LuaDurationObject",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitEmpoweredStagePercentages",
			k = "Function",
			doc = {
				"Returns a vector of percentages that describe how much of the total duration of an empowered channel is occupied by a stage.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "includeHoldAtMaxTime",
					t = "bool",
					nilable = false,
					def = true,
					doc = {
						"If true, include the hold-at-max time of the empowered channel in the total duration and add a percentage value for it.",
					},
				},
			},
			rets = {
				{
					n = "percentages",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitExists",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitFactionGroup",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "checkDisplayRace",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "factionGroupTag",
					t = "cstring",
					nilable = false,
				},
				{
					n = "localized",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "UnitFullName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "unitName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "unitServer",
					t = "cstring",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitGUID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "WOWGUID",
					nilable = true,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitGetDetailedHealPrediction",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "healerUnit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = true,
					doc = {
						"If specified, a unit to evaluate as the 'healer' for incoming heal values. If nil, healer values will be zero.",
					},
				},
				{
					n = "healPredictionCalculator",
					t = "UnitHealPredictionCalculator",
					nilable = false,
				},
			},
		},
		{
			n = "UnitGetIncomingHeals",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "healerGUID",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = true,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitGetTotalAbsorbs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitGetTotalHealAbsorbs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitGroupRolesAssigned",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "UnitGroupRolesAssignedEnum",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitHPPerStamina",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitHasPowerType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "powerType",
					t = "PowerType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasPower",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitHasRelicSlot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitHasVehiclePlayerFrameUI",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitHasVehicleUI",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitHealthMax",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitHealthMaxRestricted = true,
		},
		{
			n = "UnitHealthMissing",
			k = "Function",
			doc = {
				"Result of UnitHealthMax() - UnitHealth()",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "usePredicted",
					t = "bool",
					nilable = false,
					def = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitHealthPercent",
			k = "Function",
			doc = {
				"Returns percent of health remaining - can be scaled via a curve for display purposes",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "usePredicted",
					t = "bool",
					nilable = false,
					def = true,
				},
				{
					n = "curve",
					t = "LuaCurveObjectBase",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "LuaCurveEvaluatedResult",
					nilable = false,
					doc = {
						"If no curve is specified, a floating point percentage value. Else, the result of evaluating the curve with the percentage as the input.",
					},
				},
			},
			SecretReturns = true,
			SecretWhenCurveSecret = true,
		},
		{
			n = "UnitHealth",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "usePredicted",
					t = "bool",
					nilable = false,
					def = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitHonor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitHonorLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitHonorMax",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInAnyGroup",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInBattleground",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "luaIndex",
					nilable = true,
				},
			},
		},
		{
			n = "UnitInOtherParty",
			k = "Function",
			doc = {
				"Checks whether this unit cannot see your party chat because it is in an instance group",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "inOtherParty",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInParty",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInPartyIsAI",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInPartyShard",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "inPartyShard",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInRaid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "luaIndex",
					nilable = true,
				},
			},
		},
		{
			n = "UnitInRange",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "inRange",
					t = "bool",
					nilable = false,
				},
				{
					n = "checkedRange",
					t = "bool",
					nilable = false,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitInSubgroup",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInVehicle",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInVehicleControlSeat",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitInVehicleHidesPetFrame",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsAFK",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
		},
		{
			n = "UnitIsBattlePet",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "UnitIsBattlePetCompanion",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsBossMob",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsCharmed",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsConnected",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isConnected",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsControlling",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsCorpse",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsDND",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
		},
		{
			n = "UnitIsDead",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsDeadOrGhost",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsEnemy",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "target",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsFeignDeath",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsFriend",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "target",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsGameObject",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsGhost",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsGroupAssistant",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isAssistant",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsGroupLeader",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "partyCategory",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "isLeader",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsHumanPlayer",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsInMyGuild",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsInteractable",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsLieutenant",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsMercenary",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsMinion",
			k = "Function",
			doc = {
				"Returns whether the unit is considered a minion of a player, such as a pet, totem, or guardian.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsNPCAsPlayer",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsOtherPlayersBattlePet",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsOtherPlayersPet",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsOwnerOrControllerOfUnit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "controllingUnit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "controlledUnit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "unitIsOwnerOrControllerOfUnit",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsPVP",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsPVPFreeForAll",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsPVPSanctuary",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsPlayer",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsPossessed",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsQuestBoss",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsRaidOfficer",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsSameServer",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitName",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsTapDenied",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsTrivial",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsUnconscious",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsUnit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit1",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "unit2",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
			RequiresComparableUnitTokens = true,
			SecretWhenUnitComparisonRestricted = true,
		},
		{
			n = "UnitIsVisible",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitIsWildBattlePet",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitLeadsAnyGroup",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isLeader",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitLevel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitName",
			k = "Function",
			sec = "AllowedWhenTainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "unitName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "unitServer",
					t = "cstring",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitNameFromGUID",
			k = "Function",
			sec = "AllowedWhenTainted",
			args = {
				{
					n = "unitGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "unitName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "unitServer",
					t = "cstring",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitNameUnmodified",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "unitName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "unitServer",
					t = "cstring",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitNameplateShowsWidgetsOnly",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "nameplateShowsWidgetsOnly",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitNumPowerBarTimers",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitOnTaxi",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitOwnerGUID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "ownerGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitPVPName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "string",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitPartialPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "powerType",
					t = "PowerType",
					nilable = true,
				},
				{
					n = "unmodified",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "partialPower",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitPowerRestricted = true,
		},
		{
			n = "UnitPercentHealthFromGUID",
			k = "Function",
			sec = "AllowedWhenTainted",
			args = {
				{
					n = "unitGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "percentHealth",
					t = "number",
					nilable = true,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitPhaseReason",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "reason",
					t = "PhaseReason",
					nilable = true,
				},
			},
		},
		{
			n = "UnitPlayerControlled",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitPlayerOrPetInParty",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitPlayerOrPetInRaid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
				{
					n = "partyIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitPosition",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "positionX",
					t = "number",
					nilable = false,
				},
				{
					n = "positionY",
					t = "number",
					nilable = false,
				},
				{
					n = "positionZ",
					t = "number",
					nilable = false,
				},
				{
					n = "mapID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "powerType",
					t = "PowerType",
					nilable = true,
				},
				{
					n = "unmodified",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "power",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitPowerRestricted = true,
		},
		{
			n = "UnitPowerBarID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "barID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitPowerBarTimerInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
					def = 0,
				},
			},
			rets = {
				{
					n = "duration",
					t = "number",
					nilable = false,
				},
				{
					n = "expiration",
					t = "number",
					nilable = false,
				},
				{
					n = "barID",
					t = "number",
					nilable = false,
				},
				{
					n = "auraID",
					t = "number",
					nilable = false,
				},
			},
			SecretReturns = true,
			mayReturnNothing = true,
		},
		{
			n = "UnitPowerDisplayMod",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerType",
					t = "PowerType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "displayMod",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitPowerMax",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "powerType",
					t = "PowerType",
					nilable = true,
				},
				{
					n = "unmodified",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "maxPower",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitPowerMaxRestricted = true,
		},
		{
			n = "UnitPowerMissing",
			k = "Function",
			doc = {
				"Result of UnitPowerMax() - UnitPower()",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "powerType",
					t = "PowerType",
					nilable = true,
				},
				{
					n = "unmodified",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitPowerRestricted = true,
		},
		{
			n = "UnitPowerPercent",
			k = "Function",
			doc = {
				"Queries the percent of power remaining, optionally evaluating it against a supplied curve.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "powerType",
					t = "PowerType",
					nilable = true,
				},
				{
					n = "unmodified",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "curve",
					t = "LuaCurveObjectBase",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "LuaCurveEvaluatedResult",
					nilable = false,
					doc = {
						"If no curve is specified, a floating point percentage value. Else, the result of evaluating the curve with the percentage as the input.",
					},
				},
			},
			SecretWhenCurveSecret = true,
			SecretWhenUnitPowerRestricted = true,
		},
		{
			n = "UnitPowerType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "index",
					t = "number",
					nilable = false,
					def = 0,
				},
			},
			rets = {
				{
					n = "powerType",
					t = "PowerType",
					nilable = false,
				},
				{
					n = "powerTypeToken",
					t = "string",
					nilable = false,
				},
				{
					n = "rgbX",
					t = "number",
					nilable = false,
				},
				{
					n = "rgbY",
					t = "number",
					nilable = false,
				},
				{
					n = "rgbZ",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitPvpClassification",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "classification",
					t = "PvPUnitClassification",
					nilable = true,
				},
			},
		},
		{
			n = "UnitQuestTrivialLevelRange",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "levelRange",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitQuestTrivialLevelRangeScaling",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "levelRange",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitRace",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "localizedRaceName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "englishRaceName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "raceID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitRangedAttackPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "attackPower",
					t = "number",
					nilable = false,
				},
				{
					n = "posBuff",
					t = "number",
					nilable = false,
				},
				{
					n = "negBuff",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitRangedDamage",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "speed",
					t = "number",
					nilable = false,
				},
				{
					n = "minDamage",
					t = "number",
					nilable = false,
				},
				{
					n = "maxDamage",
					t = "number",
					nilable = false,
				},
				{
					n = "posBuff",
					t = "number",
					nilable = false,
				},
				{
					n = "negBuff",
					t = "number",
					nilable = false,
				},
				{
					n = "percent",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitReaction",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "target",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "luaIndex",
					nilable = true,
				},
			},
		},
		{
			n = "UnitRealmRelationship",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "realmRelationship",
					t = "luaIndex",
					nilable = true,
				},
			},
		},
		{
			n = "UnitSelectionColor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "useExtendedColors",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "resultR",
					t = "number",
					nilable = false,
				},
				{
					n = "resultG",
					t = "number",
					nilable = false,
				},
				{
					n = "resultB",
					t = "number",
					nilable = false,
				},
				{
					n = "resultA",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitSelectionType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "useExtendedColors",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitSex",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "sex",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "UnitSexBase",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "sex",
					t = "UnitSex",
					nilable = true,
				},
			},
		},
		{
			n = "UnitShouldDisplayName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitShouldDisplaySpellTargetName",
			k = "Function",
			doc = {
				"If the unit is currently casting a spell, returns whether the target's name should be displayed. Returns false if the unit is not casting a spell or the spell has no target.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitSpellHaste",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitSpellTargetClass",
			k = "Function",
			doc = {
				"If the unit is currently casting a spell, returns the class of the spell's target unit. Returns nil if the unit is not casting a spell or the spell has no target.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "classFilename",
					t = "cstring",
					nilable = false,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitSpellTargetName",
			k = "Function",
			doc = {
				"If the unit is currently casting a spell, returns the name of the spell's target unit. Returns nil if the unit is not casting a spell or the spell has no target.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "targetName",
					t = "cstring",
					nilable = false,
				},
			},
			SecretReturns = true,
		},
		{
			n = "UnitStagger",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
					ConditionalSecret = true,
				},
			},
		},
		{
			n = "UnitStat",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "currentStat",
					t = "number",
					nilable = false,
				},
				{
					n = "effectiveStat",
					t = "number",
					nilable = false,
				},
				{
					n = "statPositiveBuff",
					t = "number",
					nilable = false,
				},
				{
					n = "statNegativeBuff",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitSwitchToVehicleSeat",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "virtualSeatIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
		},
		{
			n = "UnitTargetsVehicleInRaidUI",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitThreatLeadSituation",
			k = "Function",
			doc = {
				"Returns a threat state (0-3; representing none, yellow, orange, red) that indicates how far the provided unit is above the secondmost threat on the provided mob. If the unit is not first on threat, will always return red. Can return nil if the provided mob does not exist.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "mobGUID",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = true,
				},
			},
			SecretWhenUnitThreatStateRestricted = true,
		},
		{
			n = "UnitThreatPercentageOfLead",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "mobGUID",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = true,
				},
			},
			SecretWhenUnitThreatValuesRestricted = true,
		},
		{
			n = "UnitThreatSituation",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "mobGUID",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = true,
				},
			},
			SecretWhenUnitThreatStateRestricted = true,
		},
		{
			n = "UnitTokenFromGUID",
			k = "Function",
			sec = "AllowedWhenTainted",
			args = {
				{
					n = "unitGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "unitToken",
					t = "string",
					nilable = true,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
		},
		{
			n = "UnitTreatAsPlayerForDisplay",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "treatAsPlayer",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitTrialBankedLevels",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "bankedLevels",
					t = "number",
					nilable = false,
				},
				{
					n = "xpIntoCurrentLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "xpForNextLevel",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitTrialXP",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitUsingVehicle",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitVehicleSeatCount",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitVehicleSeatInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "virtualSeatIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "controlType",
					t = "cstring",
					nilable = false,
				},
				{
					n = "occupantName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "serverName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "ejectable",
					t = "bool",
					nilable = false,
				},
				{
					n = "canSwitchSeats",
					t = "bool",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitVehicleSkin",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "fileID",
					nilable = false,
				},
			},
		},
		{
			n = "UnitWeaponAttackPower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "mainHandWeaponAttackPower",
					t = "number",
					nilable = false,
				},
				{
					n = "offHandWeaponAttackPower",
					t = "number",
					nilable = false,
				},
				{
					n = "rangedWeaponAttackPower",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitStatsRestricted = true,
		},
		{
			n = "UnitWidgetSet",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "uiWidgetSet",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitXP",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitXPMax",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "WorldLootObjectExists",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "ActivePlayerSpecializationChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "ACTIVE_PLAYER_SPECIALIZATION_CHANGED",
		},
		{
			n = "ArenaCooldownsUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "ARENA_COOLDOWNS_UPDATE",
		},
		{
			n = "ArenaCrowdControlSpellUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenLossOfControlInfoRestricted = true,
			SynchronousEvent = true,
			literal = "ARENA_CROWD_CONTROL_SPELL_UPDATE",
		},
		{
			n = "AutofollowBegin",
			k = "Event",
			payload = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "AUTOFOLLOW_BEGIN",
		},
		{
			n = "AutofollowEnd",
			k = "Event",
			SynchronousEvent = true,
			literal = "AUTOFOLLOW_END",
		},
		{
			n = "CancelSummon",
			k = "Event",
			SynchronousEvent = true,
			literal = "CANCEL_SUMMON",
		},
		{
			n = "ComboTargetChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "COMBO_TARGET_CHANGED",
		},
		{
			n = "ConfirmBinder",
			k = "Event",
			payload = {
				{
					n = "areaName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "CONFIRM_BINDER",
		},
		{
			n = "ConfirmSummon",
			k = "Event",
			payload = {
				{
					n = "summonReason",
					t = "number",
					nilable = false,
				},
				{
					n = "skippingStartExperience",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "CONFIRM_SUMMON",
		},
		{
			n = "EclipseDirectionChange",
			k = "Event",
			payload = {
				{
					n = "direction",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "ECLIPSE_DIRECTION_CHANGE",
		},
		{
			n = "HearthstoneBound",
			k = "Event",
			SynchronousEvent = true,
			literal = "HEARTHSTONE_BOUND",
		},
		{
			n = "HonorXpUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "HONOR_XP_UPDATE",
		},
		{
			n = "IncomingResurrectChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "INCOMING_RESURRECT_CHANGED",
		},
		{
			n = "IncomingSummonChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "INCOMING_SUMMON_CHANGED",
		},
		{
			n = "KnownTitlesUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "KNOWN_TITLES_UPDATE",
		},
		{
			n = "LocalplayerPetRenamed",
			k = "Event",
			SynchronousEvent = true,
			literal = "LOCALPLAYER_PET_RENAMED",
		},
		{
			n = "MirrorTimerPause",
			k = "Event",
			payload = {
				{
					n = "timerName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "paused",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "MIRROR_TIMER_PAUSE",
		},
		{
			n = "MirrorTimerStart",
			k = "Event",
			payload = {
				{
					n = "timerName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "value",
					t = "number",
					nilable = false,
				},
				{
					n = "maxValue",
					t = "number",
					nilable = false,
				},
				{
					n = "scale",
					t = "number",
					nilable = false,
				},
				{
					n = "paused",
					t = "number",
					nilable = false,
				},
				{
					n = "timerLabel",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "MIRROR_TIMER_START",
		},
		{
			n = "MirrorTimerStop",
			k = "Event",
			payload = {
				{
					n = "timerName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "MIRROR_TIMER_STOP",
		},
		{
			n = "NeutralFactionSelectResult",
			k = "Event",
			payload = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "NEUTRAL_FACTION_SELECT_RESULT",
		},
		{
			n = "ObjectEnteredAOI",
			k = "Event",
			payload = {
				{
					n = "guid",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OBJECT_ENTERED_AOI",
		},
		{
			n = "ObjectLeftAOI",
			k = "Event",
			payload = {
				{
					n = "guid",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OBJECT_LEFT_AOI",
		},
		{
			n = "PartyKill",
			k = "Event",
			payload = {
				{
					n = "attackerGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "targetGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
			SynchronousEvent = true,
			literal = "PARTY_KILL",
		},
		{
			n = "PetBarUpdateUsable",
			k = "Event",
			SynchronousEvent = true,
			literal = "PET_BAR_UPDATE_USABLE",
		},
		{
			n = "PetUiUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "PET_UI_UPDATE",
		},
		{
			n = "PlayerCanGlideChanged",
			k = "Event",
			payload = {
				{
					n = "canGlide",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_CAN_GLIDE_CHANGED",
		},
		{
			n = "PlayerDamageDoneMods",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_DAMAGE_DONE_MODS",
		},
		{
			n = "PlayerEnterCombat",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_ENTER_COMBAT",
		},
		{
			n = "PlayerFarsightFocusChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_FARSIGHT_FOCUS_CHANGED",
		},
		{
			n = "PlayerFlagsChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_FLAGS_CHANGED",
		},
		{
			n = "PlayerFocusChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_FOCUS_CHANGED",
		},
		{
			n = "PlayerImpulseApplied",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_IMPULSE_APPLIED",
		},
		{
			n = "PlayerIsGlidingChanged",
			k = "Event",
			payload = {
				{
					n = "isGliding",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_IS_GLIDING_CHANGED",
		},
		{
			n = "PlayerLeaveCombat",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_LEAVE_COMBAT",
		},
		{
			n = "PlayerLevelChanged",
			k = "Event",
			payload = {
				{
					n = "oldLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "newLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "real",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_LEVEL_CHANGED",
		},
		{
			n = "PlayerLevelUp",
			k = "Event",
			payload = {
				{
					n = "level",
					t = "number",
					nilable = false,
				},
				{
					n = "healthDelta",
					t = "number",
					nilable = false,
				},
				{
					n = "powerDelta",
					t = "number",
					nilable = false,
				},
				{
					n = "numNewTalents",
					t = "number",
					nilable = false,
				},
				{
					n = "numNewPvpTalentSlots",
					t = "number",
					nilable = false,
				},
				{
					n = "strengthDelta",
					t = "number",
					nilable = false,
				},
				{
					n = "agilityDelta",
					t = "number",
					nilable = false,
				},
				{
					n = "staminaDelta",
					t = "number",
					nilable = false,
				},
				{
					n = "intellectDelta",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_LEVEL_UP",
		},
		{
			n = "PlayerMaxLevelUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_MAX_LEVEL_UPDATE",
		},
		{
			n = "PlayerMountDisplayChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_MOUNT_DISPLAY_CHANGED",
		},
		{
			n = "PlayerPvpKillsChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_PVP_KILLS_CHANGED",
		},
		{
			n = "PlayerPvpRankChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_PVP_RANK_CHANGED",
		},
		{
			n = "PlayerRegenDisabled",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_REGEN_DISABLED",
		},
		{
			n = "PlayerRegenEnabled",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_REGEN_ENABLED",
		},
		{
			n = "PlayerSoftEnemyChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_SOFT_ENEMY_CHANGED",
		},
		{
			n = "PlayerSoftFriendChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_SOFT_FRIEND_CHANGED",
		},
		{
			n = "PlayerSoftInteractChanged",
			k = "Event",
			payload = {
				{
					n = "oldTarget",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "newTarget",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
			SynchronousEvent = true,
			literal = "PLAYER_SOFT_INTERACT_CHANGED",
		},
		{
			n = "PlayerSoftTargetInteraction",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_SOFT_TARGET_INTERACTION",
		},
		{
			n = "PlayerSpecializationChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_SPECIALIZATION_CHANGED",
			unique = true,
		},
		{
			n = "PlayerStartedLooking",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_STARTED_LOOKING",
		},
		{
			n = "PlayerStartedMoving",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_STARTED_MOVING",
		},
		{
			n = "PlayerStartedTurning",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_STARTED_TURNING",
		},
		{
			n = "PlayerStoppedLooking",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_STOPPED_LOOKING",
		},
		{
			n = "PlayerStoppedMoving",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_STOPPED_MOVING",
		},
		{
			n = "PlayerStoppedTurning",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_STOPPED_TURNING",
		},
		{
			n = "PlayerTargetChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_TARGET_CHANGED",
		},
		{
			n = "PlayerTrialXpUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_TRIAL_XP_UPDATE",
		},
		{
			n = "PlayerUpdateResting",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_UPDATE_RESTING",
		},
		{
			n = "PlayerXpUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_XP_UPDATE",
		},
		{
			n = "PortraitsUpdated",
			k = "Event",
			literal = "PORTRAITS_UPDATED",
			unique = true,
		},
		{
			n = "ProvingGroundsScoreUpdate",
			k = "Event",
			payload = {
				{
					n = "points",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PROVING_GROUNDS_SCORE_UPDATE",
		},
		{
			n = "PvpTimerUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PVP_TIMER_UPDATE",
		},
		{
			n = "RunePowerUpdate",
			k = "Event",
			payload = {
				{
					n = "runeIndex",
					t = "number",
					nilable = false,
				},
				{
					n = "added",
					t = "bool",
					nilable = true,
				},
			},
			SecretPayloads = true,
			SynchronousEvent = true,
			literal = "RUNE_POWER_UPDATE",
		},
		{
			n = "RuneTypeUpdate",
			k = "Event",
			payload = {
				{
					n = "runeIndex",
					t = "number",
					nilable = false,
				},
			},
			SecretPayloads = true,
			SynchronousEvent = true,
			literal = "RUNE_TYPE_UPDATE",
		},
		{
			n = "ShowFactionSelectUi",
			k = "Event",
			SynchronousEvent = true,
			literal = "SHOW_FACTION_SELECT_UI",
		},
		{
			n = "SpellConfirmationPrompt",
			k = "Event",
			payload = {
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "effectValue",
					t = "number",
					nilable = false,
				},
				{
					n = "message",
					t = "cstring",
					nilable = false,
				},
				{
					n = "duration",
					t = "number",
					nilable = false,
				},
				{
					n = "currencyTypesID",
					t = "number",
					nilable = false,
				},
				{
					n = "currencyCost",
					t = "number",
					nilable = false,
				},
				{
					n = "currentDifficulty",
					t = "number",
					nilable = false,
				},
				{
					n = "displayItemID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemContext",
					t = "number",
					nilable = false,
				},
				{
					n = "treasureContextLevel",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "SPELL_CONFIRMATION_PROMPT",
		},
		{
			n = "SpellConfirmationTimeout",
			k = "Event",
			payload = {
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "effectValue",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "SPELL_CONFIRMATION_TIMEOUT",
		},
		{
			n = "UnitAbsorbAmountChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_ABSORB_AMOUNT_CHANGED",
		},
		{
			n = "UnitAreaChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_AREA_CHANGED",
		},
		{
			n = "UnitArenaCooldownsUpdate",
			k = "Event",
			doc = {
				"Only signaled when the active player is a commentator or spectator.",
			},
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_ARENA_COOLDOWNS_UPDATE",
			unique = true,
		},
		{
			n = "UnitAttack",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_ATTACK",
		},
		{
			n = "UnitAttackPower",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_ATTACK_POWER",
		},
		{
			n = "UnitAttackSpeed",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_ATTACK_SPEED",
		},
		{
			n = "UnitCheatToggleEvent",
			k = "Event",
			SynchronousEvent = true,
			literal = "UNIT_CHEAT_TOGGLE_EVENT",
		},
		{
			n = "UnitClassificationChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_CLASSIFICATION_CHANGED",
		},
		{
			n = "UnitCombat",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "event",
					t = "cstring",
					nilable = false,
				},
				{
					n = "flagText",
					t = "cstring",
					nilable = false,
				},
				{
					n = "amount",
					t = "number",
					nilable = false,
				},
				{
					n = "schoolMask",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_COMBAT",
		},
		{
			n = "UnitConnection",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "isConnected",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_CONNECTION",
		},
		{
			n = "UnitCtrOptions",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_CTR_OPTIONS",
		},
		{
			n = "UnitDamage",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_DAMAGE",
		},
		{
			n = "UnitDefense",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_DEFENSE",
		},
		{
			n = "UnitDied",
			k = "Event",
			payload = {
				{
					n = "unitGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SecretWhenUnitIdentityRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_DIED",
		},
		{
			n = "UnitDisplaypower",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_DISPLAYPOWER",
		},
		{
			n = "UnitDistanceCheckUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "isInDistance",
					t = "bool",
					nilable = false,
				},
			},
			SecretPayloads = true,
			SynchronousEvent = true,
			literal = "UNIT_DISTANCE_CHECK_UPDATE",
		},
		{
			n = "UnitFaction",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_FACTION",
		},
		{
			n = "UnitFlags",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_FLAGS",
		},
		{
			n = "UnitFormChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_FORM_CHANGED",
			unique = true,
		},
		{
			n = "UnitHealAbsorbAmountChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_HEAL_ABSORB_AMOUNT_CHANGED",
		},
		{
			n = "UnitHealPrediction",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_HEAL_PREDICTION",
		},
		{
			n = "UnitHealth",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_HEALTH",
			unique = true,
		},
		{
			n = "UnitInRangeUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "isInRange",
					t = "bool",
					nilable = false,
				},
			},
			SecretPayloads = true,
			SynchronousEvent = true,
			literal = "UNIT_IN_RANGE_UPDATE",
		},
		{
			n = "UnitInventoryChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_INVENTORY_CHANGED",
		},
		{
			n = "UnitLevel",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_LEVEL",
			unique = true,
		},
		{
			n = "UnitLoot",
			k = "Event",
			payload = {
				{
					n = "unitGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "hasLoot",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_LOOT",
		},
		{
			n = "UnitMana",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_MANA",
		},
		{
			n = "UnitMaxHealthModifiersChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "percentMaxHealthAdjusted",
					t = "number",
					nilable = false,
				},
			},
			SecretPayloads = true,
			SynchronousEvent = true,
			literal = "UNIT_MAX_HEALTH_MODIFIERS_CHANGED",
			unique = true,
		},
		{
			n = "UnitMaxhealth",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_MAXHEALTH",
			unique = true,
		},
		{
			n = "UnitMaxpower",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "powerType",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_MAXPOWER",
		},
		{
			n = "UnitModelChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_MODEL_CHANGED",
			unique = true,
		},
		{
			n = "UnitNameUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_NAME_UPDATE",
		},
		{
			n = "UnitOtherPartyChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_OTHER_PARTY_CHANGED",
		},
		{
			n = "UnitPet",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_PET",
		},
		{
			n = "UnitPetExperience",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_PET_EXPERIENCE",
		},
		{
			n = "UnitPhase",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_PHASE",
		},
		{
			n = "UnitPortraitUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_PORTRAIT_UPDATE",
			unique = true,
		},
		{
			n = "UnitPowerBarHide",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_POWER_BAR_HIDE",
		},
		{
			n = "UnitPowerBarShow",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_POWER_BAR_SHOW",
		},
		{
			n = "UnitPowerBarTimerUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			literal = "UNIT_POWER_BAR_TIMER_UPDATE",
			unique = true,
		},
		{
			n = "UnitPowerFrequent",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "powerType",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_POWER_FREQUENT",
		},
		{
			n = "UnitPowerPointCharge",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SecretWhenUnitPowerRestricted = true,
			literal = "UNIT_POWER_POINT_CHARGE",
			unique = true,
		},
		{
			n = "UnitPowerUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "powerType",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_POWER_UPDATE",
		},
		{
			n = "UnitQuestLogChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_QUEST_LOG_CHANGED",
		},
		{
			n = "UnitRangedAttackPower",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_RANGED_ATTACK_POWER",
		},
		{
			n = "UnitRangeddamage",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_RANGEDDAMAGE",
		},
		{
			n = "UnitResistances",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_RESISTANCES",
		},
		{
			n = "UnitSpellHaste",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_SPELL_HASTE",
		},
		{
			n = "UnitSpellcastChannelStart",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_CHANNEL_START",
		},
		{
			n = "UnitSpellcastChannelStop",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "interruptedBy",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_CHANNEL_STOP",
		},
		{
			n = "UnitSpellcastChannelUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_CHANNEL_UPDATE",
		},
		{
			n = "UnitSpellcastDelayed",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_DELAYED",
		},
		{
			n = "UnitSpellcastEmpowerStart",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_EMPOWER_START",
		},
		{
			n = "UnitSpellcastEmpowerStop",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "complete",
					t = "bool",
					nilable = false,
				},
				{
					n = "interruptedBy",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_EMPOWER_STOP",
		},
		{
			n = "UnitSpellcastEmpowerUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_EMPOWER_UPDATE",
		},
		{
			n = "UnitSpellcastFailed",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_FAILED",
		},
		{
			n = "UnitSpellcastFailedQuiet",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_FAILED_QUIET",
		},
		{
			n = "UnitSpellcastInterrupted",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "interruptedBy",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_INTERRUPTED",
		},
		{
			n = "UnitSpellcastInterruptible",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_INTERRUPTIBLE",
		},
		{
			n = "UnitSpellcastNotInterruptible",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_NOT_INTERRUPTIBLE",
		},
		{
			n = "UnitSpellcastReticleClear",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_RETICLE_CLEAR",
		},
		{
			n = "UnitSpellcastReticleTarget",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_RETICLE_TARGET",
		},
		{
			n = "UnitSpellcastSent",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "target",
					t = "cstring",
					nilable = false,
					ConditionalSecret = true,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_SENT",
		},
		{
			n = "UnitSpellcastStart",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_START",
		},
		{
			n = "UnitSpellcastStop",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_STOP",
		},
		{
			n = "UnitSpellcastSucceeded",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "castGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
			SecretWhenUnitSpellCastRestricted = true,
			SynchronousEvent = true,
			literal = "UNIT_SPELLCAST_SUCCEEDED",
		},
		{
			n = "UnitStats",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_STATS",
		},
		{
			n = "UnitTarget",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_TARGET",
		},
		{
			n = "UnitTargetableChanged",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			literal = "UNIT_TARGETABLE_CHANGED",
			unique = true,
		},
		{
			n = "UnitThreatListUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_THREAT_LIST_UPDATE",
			unique = true,
		},
		{
			n = "UnitThreatSituationUpdate",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_THREAT_SITUATION_UPDATE",
			unique = true,
		},
		{
			n = "UpdateExhaustion",
			k = "Event",
			SynchronousEvent = true,
			literal = "UPDATE_EXHAUSTION",
		},
		{
			n = "UpdateMouseoverUnit",
			k = "Event",
			SynchronousEvent = true,
			literal = "UPDATE_MOUSEOVER_UNIT",
		},
		{
			n = "UpdateStealth",
			k = "Event",
			SynchronousEvent = true,
			literal = "UPDATE_STEALTH",
		},
		{
			n = "VehicleAngleUpdate",
			k = "Event",
			payload = {
				{
					n = "normalizedPitch",
					t = "number",
					nilable = false,
				},
				{
					n = "radians",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VEHICLE_ANGLE_UPDATE",
		},
	},
	tables = {
		{
			n = "PhaseReason",
			k = "Enumeration",
			fields = {
				{
					n = "Phasing",
					t = "PhaseReason",
					EnumValue = 0,
				},
				{
					n = "Sharding",
					t = "PhaseReason",
					EnumValue = 1,
				},
				{
					n = "WarMode",
					t = "PhaseReason",
					EnumValue = 2,
				},
				{
					n = "ChromieTime",
					t = "PhaseReason",
					EnumValue = 3,
				},
				{
					n = "TimerunningHwt",
					t = "PhaseReason",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 0,
			num = 5,
		},
		{
			n = "PvPUnitClassification",
			k = "Enumeration",
			fields = {
				{
					n = "FlagCarrierHorde",
					t = "PvPUnitClassification",
					EnumValue = 0,
				},
				{
					n = "FlagCarrierAlliance",
					t = "PvPUnitClassification",
					EnumValue = 1,
				},
				{
					n = "FlagCarrierNeutral",
					t = "PvPUnitClassification",
					EnumValue = 2,
				},
				{
					n = "CartRunnerHorde",
					t = "PvPUnitClassification",
					EnumValue = 3,
				},
				{
					n = "CartRunnerAlliance",
					t = "PvPUnitClassification",
					EnumValue = 4,
				},
				{
					n = "AssassinHorde",
					t = "PvPUnitClassification",
					EnumValue = 5,
				},
				{
					n = "AssassinAlliance",
					t = "PvPUnitClassification",
					EnumValue = 6,
				},
				{
					n = "OrbCarrierBlue",
					t = "PvPUnitClassification",
					EnumValue = 7,
				},
				{
					n = "OrbCarrierGreen",
					t = "PvPUnitClassification",
					EnumValue = 8,
				},
				{
					n = "OrbCarrierOrange",
					t = "PvPUnitClassification",
					EnumValue = 9,
				},
				{
					n = "OrbCarrierPurple",
					t = "PvPUnitClassification",
					EnumValue = 10,
				},
			},
			max = 10,
			min = 0,
			num = 11,
		},
		{
			n = "CorruptionEffectInfo",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "description",
					t = "string",
					nilable = false,
				},
				{
					n = "minCorruption",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitCastingInfoResult",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "displayName",
					t = "string",
					nilable = false,
				},
				{
					n = "textureID",
					t = "fileID",
					nilable = false,
				},
				{
					n = "startTimeMs",
					t = "number",
					nilable = false,
				},
				{
					n = "endTimeMs",
					t = "number",
					nilable = false,
				},
				{
					n = "isTradeskill",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "castID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "notInterruptible",
					t = "bool",
					nilable = true,
				},
				{
					n = "castingSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
				{
					n = "delayTimeMs",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
			},
		},
		{
			n = "UnitChannelInfoResult",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "displayName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "textureID",
					t = "fileID",
					nilable = false,
				},
				{
					n = "startTimeMs",
					t = "number",
					nilable = false,
				},
				{
					n = "endTimeMs",
					t = "number",
					nilable = false,
				},
				{
					n = "isTradeskill",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "notInterruptible",
					t = "bool",
					nilable = true,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "isEmpowered",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "numEmpowerStages",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "castBarID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
			},
		},
		{
			n = "UnitCreatureFamilyResult",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "id",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitCreatureTypeResult",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "id",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "UnitPowerBarInfo",
			k = "Structure",
			fields = {
				{
					n = "ID",
					t = "number",
					nilable = false,
				},
				{
					n = "barType",
					t = "number",
					nilable = false,
				},
				{
					n = "minPower",
					t = "number",
					nilable = false,
				},
				{
					n = "startInset",
					t = "number",
					nilable = false,
				},
				{
					n = "endInset",
					t = "number",
					nilable = false,
				},
				{
					n = "smooth",
					t = "bool",
					nilable = false,
				},
				{
					n = "hideFromOthers",
					t = "bool",
					nilable = false,
				},
				{
					n = "showOnRaid",
					t = "bool",
					nilable = false,
				},
				{
					n = "opaqueSpark",
					t = "bool",
					nilable = false,
				},
				{
					n = "opaqueFlash",
					t = "bool",
					nilable = false,
				},
				{
					n = "anchorTop",
					t = "bool",
					nilable = false,
				},
				{
					n = "forcePercentage",
					t = "bool",
					nilable = false,
				},
				{
					n = "sparkUnderFrame",
					t = "bool",
					nilable = false,
				},
				{
					n = "flashAtMinPower",
					t = "bool",
					nilable = false,
				},
				{
					n = "fractionalCounter",
					t = "bool",
					nilable = false,
				},
				{
					n = "animateNumbers",
					t = "bool",
					nilable = false,
				},
				{
					n = "attachTooltipToBar",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "UnitHealPredictionCalculatorAPI",
	type = "ScriptObject",
	ns = "",
	env = "All",
	file = "UnitHealPredictionCalculatorAPIDocumentation.lua",
	hash = "532082f9971a5fbd7455a8ab799404a7419383a60e88ae675c077460405c3318",
	functions = {
		{
			n = "EvaluateCurrentHealthPercent",
			k = "Function",
			doc = {
				"Calculates the percentage of current unit health and evaluates it against the supplied curve.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "curve",
					t = "LuaCurveObjectBase",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "LuaCurveEvaluatedResult",
					nilable = false,
				},
			},
		},
		{
			n = "EvaluateMissingHealthPercent",
			k = "Function",
			doc = {
				"Calculates the percentage of missing unit health and evaluates it against the supplied curve.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "curve",
					t = "LuaCurveObjectBase",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "LuaCurveEvaluatedResult",
					nilable = false,
				},
			},
		},
		{
			n = "GetCurrentHealth",
			k = "Function",
			doc = {
				"Returns the base amount of unit health.",
			},
			rets = {
				{
					n = "currentHealth",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetCurrentHealthPercent",
			k = "Function",
			doc = {
				"Returns the percentage of current unit health.",
			},
			rets = {
				{
					n = "currentHealthPercent",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetDamageAbsorbClampMode",
			k = "Function",
			doc = {
				"Returns the configured damage absorb clamping mode.",
			},
			rets = {
				{
					n = "damageAbsorbClampMode",
					t = "UnitDamageAbsorbClampMode",
					nilable = false,
				},
			},
			ReturnsNeverSecret = true,
		},
		{
			n = "GetDamageAbsorbs",
			k = "Function",
			doc = {
				"Calculates damage absorb values and clamping according to the configured options.",
			},
			rets = {
				{
					n = "amount",
					t = "number",
					nilable = false,
					doc = {
						"Amount of applied damage absorb affects with potential reductions from clamping included.",
					},
				},
				{
					n = "clamped",
					t = "bool",
					nilable = false,
					doc = {
						"If true, the value is in excess of the clamp boundary.",
					},
				},
			},
		},
		{
			n = "GetHealAbsorbClampMode",
			k = "Function",
			doc = {
				"Returns the configured heal absorb clamping mode.",
			},
			rets = {
				{
					n = "healAbsorbClampMode",
					t = "UnitHealAbsorbClampMode",
					nilable = false,
				},
			},
			ReturnsNeverSecret = true,
		},
		{
			n = "GetHealAbsorbMode",
			k = "Function",
			doc = {
				"Returns the configured heal absorb processing mode.",
			},
			rets = {
				{
					n = "healAbsorbMode",
					t = "UnitHealAbsorbMode",
					nilable = false,
				},
			},
			ReturnsNeverSecret = true,
		},
		{
			n = "GetHealAbsorbs",
			k = "Function",
			doc = {
				"Calculates heal absorb values and clamping according to the configured options.",
			},
			rets = {
				{
					n = "amount",
					t = "number",
					nilable = false,
					doc = {
						"Amount of applied heal absorb affects with potential reductions from incoming heals and clamping included.",
					},
				},
				{
					n = "clamped",
					t = "bool",
					nilable = false,
					doc = {
						"If true, the value is in excess of the clamp boundary.",
					},
				},
			},
		},
		{
			n = "GetIncomingHealClampMode",
			k = "Function",
			doc = {
				"Returns the configured incoming heal clamping mode.",
			},
			rets = {
				{
					n = "incomingHealClampMode",
					t = "UnitIncomingHealClampMode",
					nilable = false,
				},
			},
			ReturnsNeverSecret = true,
		},
		{
			n = "GetIncomingHealOverflowPercent",
			k = "Function",
			doc = {
				"Returns the configured incoming heal maximum overflow percentage.",
			},
			rets = {
				{
					n = "incomingHealOverflowPercent",
					t = "number",
					nilable = false,
				},
			},
			ReturnsNeverSecret = true,
		},
		{
			n = "GetIncomingHeals",
			k = "Function",
			doc = {
				"Calculates incoming heal values and clamping according to the configured options.",
			},
			rets = {
				{
					n = "amount",
					t = "number",
					nilable = false,
					doc = {
						"Amount of incoming heals across all units with potential reductions from heal absorb effects included.",
					},
				},
				{
					n = "amountFromHealer",
					t = "number",
					nilable = false,
					doc = {
						"Amount of incoming heals from the healer unit. Will never exceed the all-units value.",
					},
				},
				{
					n = "amountFromOthers",
					t = "number",
					nilable = false,
					doc = {
						"Amount of incoming heals from units other than theh healer. Calculated as the difference between amount and amount-from-healer.",
					},
				},
				{
					n = "clamped",
					t = "bool",
					nilable = false,
					doc = {
						"If true, the value is in excess of the clamp boundary.",
					},
				},
			},
		},
		{
			n = "GetMaximumDamageAbsorbs",
			k = "Function",
			doc = {
				"Returns the maximum clamping amount for damage absorbs.",
			},
			rets = {
				{
					n = "maximumDamageAbsorbs",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetMaximumHealAbsorbs",
			k = "Function",
			doc = {
				"Returns the maximum clamping amount for heal absorbs.",
			},
			rets = {
				{
					n = "maximumHealAbsorbs",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetMaximumHealth",
			k = "Function",
			doc = {
				"Returns the base amount of maximum unit health.",
			},
			rets = {
				{
					n = "maximumHealth",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetMaximumHealthMode",
			k = "Function",
			doc = {
				"Returns the configured maximum health mode.",
			},
			rets = {
				{
					n = "maximumHealthMode",
					t = "UnitMaximumHealthMode",
					nilable = false,
				},
			},
			ReturnsNeverSecret = true,
		},
		{
			n = "GetMaximumIncomingHeals",
			k = "Function",
			doc = {
				"Returns the maximum clamping amount for incoming heals.",
			},
			rets = {
				{
					n = "maximumIncomingHeals",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetMissingHealth",
			k = "Function",
			doc = {
				"Returns the base amount of missing unit health.",
			},
			rets = {
				{
					n = "missingHealth",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetMissingHealthPercent",
			k = "Function",
			doc = {
				"Returns the percentage of missing unit health.",
			},
			rets = {
				{
					n = "missingHealthPercent",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetPredictedValues",
			k = "Function",
			doc = {
				"Returns the raw total figures used for data calculations.",
			},
			rets = {
				{
					n = "predictedValues",
					t = "UnitHealPredictionValues",
					nilable = false,
				},
			},
		},
		{
			n = "GetTotalDamageAbsorbs",
			k = "Function",
			doc = {
				"Returns the base total amount of all applied damage absorb shields.",
			},
			rets = {
				{
					n = "totalDamageAbsorbs",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetTotalHealAbsorbs",
			k = "Function",
			doc = {
				"Returns the base total amount of all applied heal absorption effects.",
			},
			rets = {
				{
					n = "totalHealAbsorbs",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetTotalIncomingHeals",
			k = "Function",
			doc = {
				"Returns the base total amount of all incoming heals.",
			},
			rets = {
				{
					n = "totalIncomingHeals",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetTotalIncomingHealsFromHealer",
			k = "Function",
			doc = {
				"Returns the base total amount of all incoming heals from the healer unit, if any.",
			},
			rets = {
				{
					n = "totalIncomingHealsFromHealer",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "HasSecretValues",
			k = "Function",
			doc = {
				"Returns true if the object has been configured with any secret values.",
			},
			rets = {
				{
					n = "hasSecretValues",
					t = "bool",
					nilable = false,
				},
			},
			ReturnsNeverSecret = true,
		},
		{
			n = "Reset",
			k = "Function",
			doc = {
				"Resets all stored state on the object.",
			},
		},
		{
			n = "ResetPredictedValues",
			k = "Function",
			doc = {
				"Resets all stored healing values used for calculations.",
			},
		},
		{
			n = "SetDamageAbsorbClampMode",
			k = "Function",
			doc = {
				"Changes the clamping mode used when calculating damage absorb amounts.",
			},
			sec = "NotAllowed",
			args = {
				{
					n = "damageAbsorbClampMode",
					t = "UnitDamageAbsorbClampMode",
					nilable = false,
				},
			},
		},
		{
			n = "SetHealAbsorbClampMode",
			k = "Function",
			doc = {
				"Changes the clamping mode used when calculating heal absorb amounts.",
			},
			sec = "NotAllowed",
			args = {
				{
					n = "healAbsorbClampMode",
					t = "UnitHealAbsorbClampMode",
					nilable = false,
				},
			},
		},
		{
			n = "SetHealAbsorbMode",
			k = "Function",
			doc = {
				"Changes the processing mode used when calculating both heal absorb and incoming heal amounts.",
			},
			sec = "NotAllowed",
			args = {
				{
					n = "healAbsorbMode",
					t = "UnitHealAbsorbMode",
					nilable = false,
				},
			},
		},
		{
			n = "SetIncomingHealClampMode",
			k = "Function",
			doc = {
				"Changes the clamping mode used when calculating incoming heal amounts.",
			},
			sec = "NotAllowed",
			args = {
				{
					n = "incomingHealClampMode",
					t = "UnitIncomingHealClampMode",
					nilable = false,
				},
			},
		},
		{
			n = "SetIncomingHealOverflowPercent",
			k = "Function",
			doc = {
				"Changes the maximum overflow percentage for incoming heals. Increasing this to a value over 1.0 will mean that incoming heals can extend beyond maximum health.",
			},
			sec = "NotAllowed",
			args = {
				{
					n = "incomingHealOverflowPercent",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetMaximumHealthMode",
			k = "Function",
			doc = {
				"Changes the calculation mode for maximum health values used for clamping.",
			},
			sec = "NotAllowed",
			args = {
				{
					n = "maximumHealthMode",
					t = "UnitMaximumHealthMode",
					nilable = false,
				},
			},
		},
		{
			n = "SetPredictedValues",
			k = "Function",
			doc = {
				"Sets the healing values used for all calculations.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "predictedValues",
					t = "UnitHealPredictionValues",
					nilable = false,
				},
			},
		},
		{
			n = "SetToDefaults",
			k = "Function",
			doc = {
				"Resets all state on the object, and clears the secret values flag.",
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "UnitHealPredictionCalculatorSharedDocumentation.lua",
	hash = "9a140a44894eeb118188920d23599fe30dc41ea46541eb61e8e10157494c4c79",
	tables = {
		{
			n = "UnitDamageAbsorbClampMode",
			k = "Enumeration",
			fields = {
				{
					n = "MissingHealth",
					t = "UnitDamageAbsorbClampMode",
					doc = {
						"Clamp damage absorb values to the amount of missing health with incoming heals subtracted.",
					},
					EnumValue = 0,
				},
				{
					n = "MissingHealthWithoutIncomingHeals",
					t = "UnitDamageAbsorbClampMode",
					doc = {
						"Clamp damage absorb values to the amount of missing health. Incoming heals do not decrease missing health.",
					},
					EnumValue = 1,
				},
				{
					n = "MaximumHealth",
					t = "UnitDamageAbsorbClampMode",
					doc = {
						"Clamp damage absorb values to the amount of maximum health.",
					},
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "UnitHealAbsorbClampMode",
			k = "Enumeration",
			fields = {
				{
					n = "CurrentHealth",
					t = "UnitHealAbsorbClampMode",
					doc = {
						"Clamp heal absorb values to the amount of current health.",
					},
					EnumValue = 0,
				},
				{
					n = "MaximumHealth",
					t = "UnitHealAbsorbClampMode",
					doc = {
						"Clamp heal absorb values to the amount of maximum health.",
					},
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "UnitHealAbsorbMode",
			k = "Enumeration",
			fields = {
				{
					n = "ReducedByIncomingHeals",
					t = "UnitHealAbsorbMode",
					doc = {
						"Reduce heal absorb values by incoming heals, and vice versa, clamping to zero where necessary.",
					},
					EnumValue = 0,
				},
				{
					n = "Total",
					t = "UnitHealAbsorbMode",
					doc = {
						"Use heal absorb and incoming heal values as-is without any reductions.",
					},
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "UnitIncomingHealClampMode",
			k = "Enumeration",
			fields = {
				{
					n = "MissingHealth",
					t = "UnitIncomingHealClampMode",
					doc = {
						"Clamp incoming heal values to the amount of missing health with overflow applied.",
					},
					EnumValue = 0,
				},
				{
					n = "MaximumHealth",
					t = "UnitIncomingHealClampMode",
					doc = {
						"Clamp incoming heal values to the amount of maximum health.",
					},
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "UnitMaximumHealthMode",
			k = "Enumeration",
			fields = {
				{
					n = "Default",
					t = "UnitMaximumHealthMode",
					doc = {
						"Use maximum unit health as-is without adjustments.",
					},
					EnumValue = 0,
				},
				{
					n = "WithAbsorbs",
					t = "UnitMaximumHealthMode",
					doc = {
						"Use maximum unit health with total damage absorb shields added.",
					},
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "UnitDamageAbsorbInfo",
			k = "Structure",
			fields = {
				{
					n = "amount",
					t = "number",
					nilable = false,
					doc = {
						"Amount of applied damage absorb affects with potential reductions from clamping included.",
					},
				},
				{
					n = "clamped",
					t = "bool",
					nilable = false,
					doc = {
						"If true, the value is in excess of the clamp boundary.",
					},
				},
			},
		},
		{
			n = "UnitHealAbsorbInfo",
			k = "Structure",
			fields = {
				{
					n = "amount",
					t = "number",
					nilable = false,
					doc = {
						"Amount of applied heal absorb affects with potential reductions from incoming heals and clamping included.",
					},
				},
				{
					n = "clamped",
					t = "bool",
					nilable = false,
					doc = {
						"If true, the value is in excess of the clamp boundary.",
					},
				},
			},
		},
		{
			n = "UnitHealPredictionValues",
			k = "Structure",
			fields = {
				{
					n = "health",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "healthMax",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "totalIncomingHeals",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "totalIncomingHealsFromHealer",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "totalDamageAbsorbs",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "totalHealAbsorbs",
					t = "number",
					nilable = false,
					def = 0,
				},
			},
		},
		{
			n = "UnitIncomingHealInfo",
			k = "Structure",
			fields = {
				{
					n = "amount",
					t = "number",
					nilable = false,
					doc = {
						"Amount of incoming heals across all units with potential reductions from heal absorb effects included.",
					},
				},
				{
					n = "amountFromHealer",
					t = "number",
					nilable = false,
					doc = {
						"Amount of incoming heals from the healer unit. Will never exceed the all-units value.",
					},
				},
				{
					n = "amountFromOthers",
					t = "number",
					nilable = false,
					doc = {
						"Amount of incoming heals from units other than theh healer. Calculated as the difference between amount and amount-from-healer.",
					},
				},
				{
					n = "clamped",
					t = "bool",
					nilable = false,
					doc = {
						"If true, the value is in excess of the clamp boundary.",
					},
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "UnitRole",
	type = "System",
	ns = "",
	env = "All",
	file = "UnitRoleDocumentation.lua",
	hash = "ac8a4da9bedb21ea34e6e28634560f3acb04f4152aa586a66cae075b95705087",
	functions = {
		{
			n = "AreClassRolesSoftSuggestions",
			k = "Function",
			doc = {
				"If true, UnitGetAvailableRoles results should be treated as suggested role, not hard limits on what role the current player can display as.",
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanShowSetRoleButton",
			k = "Function",
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "InitiateRolePoll",
			k = "Function",
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "UnitGetAvailableRoles",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
			},
			rets = {
				{
					n = "tank",
					t = "bool",
					nilable = false,
				},
				{
					n = "healer",
					t = "bool",
					nilable = false,
				},
				{
					n = "dps",
					t = "bool",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "UnitSetRole",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "roleStr",
					t = "cstring",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "UnitSetRoleEnum",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "role",
					t = "LFGRole",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
	},
	events = {
		{
			n = "RoleChangedInform",
			k = "Event",
			payload = {
				{
					n = "changedName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "fromName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "oldRole",
					t = "cstring",
					nilable = false,
				},
				{
					n = "newRole",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "ROLE_CHANGED_INFORM",
		},
		{
			n = "RolePollBegin",
			k = "Event",
			payload = {
				{
					n = "fromName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "ROLE_POLL_BEGIN",
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "UnitSexConstantsDocumentation.lua",
	hash = "f3299574dbdb88bbf3409bea76a0ce9e16a187ff7a9f22f215b44628853a2259",
	tables = {
		{
			n = "UnitSex",
			k = "Enumeration",
			fields = {
				{
					n = "Male",
					t = "UnitSex",
					EnumValue = 0,
				},
				{
					n = "Female",
					t = "UnitSex",
					EnumValue = 1,
				},
				{
					n = "None",
					t = "UnitSex",
					EnumValue = 2,
				},
				{
					n = "Both",
					t = "UnitSex",
					EnumValue = 3,
				},
				{
					n = "Neutral",
					t = "UnitSex",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 0,
			num = 5,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "UnitSharedDocumentation.lua",
	hash = "cbbff383625b44849db2cf78b568a2cbd80c1534158043ff591ea1760ce83eca",
	tables = {
		{
			n = "UnitTokenType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "UnitTokenType",
					EnumValue = 0,
				},
				{
					n = "Player",
					t = "UnitTokenType",
					EnumValue = 1,
				},
				{
					n = "Pet",
					t = "UnitTokenType",
					EnumValue = 2,
				},
				{
					n = "Vehicle",
					t = "UnitTokenType",
					EnumValue = 3,
				},
				{
					n = "Mouseover",
					t = "UnitTokenType",
					EnumValue = 4,
				},
				{
					n = "Target",
					t = "UnitTokenType",
					EnumValue = 5,
				},
				{
					n = "TargetTarget",
					t = "UnitTokenType",
					EnumValue = 6,
				},
				{
					n = "SoftEnemy",
					t = "UnitTokenType",
					EnumValue = 7,
				},
				{
					n = "SoftFriend",
					t = "UnitTokenType",
					EnumValue = 8,
				},
				{
					n = "SoftInteract",
					t = "UnitTokenType",
					EnumValue = 9,
				},
				{
					n = "Focus",
					t = "UnitTokenType",
					EnumValue = 10,
				},
				{
					n = "FocusTarget",
					t = "UnitTokenType",
					EnumValue = 11,
				},
				{
					n = "AnyTarget",
					t = "UnitTokenType",
					EnumValue = 12,
				},
				{
					n = "AnyInteract",
					t = "UnitTokenType",
					EnumValue = 13,
				},
				{
					n = "AnyLeftInteract",
					t = "UnitTokenType",
					EnumValue = 14,
				},
				{
					n = "AnyEnemy",
					t = "UnitTokenType",
					EnumValue = 15,
				},
				{
					n = "AnyFriend",
					t = "UnitTokenType",
					EnumValue = 16,
				},
				{
					n = "Npc",
					t = "UnitTokenType",
					EnumValue = 17,
				},
				{
					n = "QuestNpc",
					t = "UnitTokenType",
					EnumValue = 18,
				},
				{
					n = "Raid1",
					t = "UnitTokenType",
					EnumValue = 19,
				},
				{
					n = "Raid2",
					t = "UnitTokenType",
					EnumValue = 20,
				},
				{
					n = "Raid3",
					t = "UnitTokenType",
					EnumValue = 21,
				},
				{
					n = "Raid4",
					t = "UnitTokenType",
					EnumValue = 22,
				},
				{
					n = "Raid5",
					t = "UnitTokenType",
					EnumValue = 23,
				},
				{
					n = "Raid6",
					t = "UnitTokenType",
					EnumValue = 24,
				},
				{
					n = "Raid7",
					t = "UnitTokenType",
					EnumValue = 25,
				},
				{
					n = "Raid8",
					t = "UnitTokenType",
					EnumValue = 26,
				},
				{
					n = "Raid9",
					t = "UnitTokenType",
					EnumValue = 27,
				},
				{
					n = "Raid10",
					t = "UnitTokenType",
					EnumValue = 28,
				},
				{
					n = "Raid11",
					t = "UnitTokenType",
					EnumValue = 29,
				},
				{
					n = "Raid12",
					t = "UnitTokenType",
					EnumValue = 30,
				},
				{
					n = "Raid13",
					t = "UnitTokenType",
					EnumValue = 31,
				},
				{
					n = "Raid14",
					t = "UnitTokenType",
					EnumValue = 32,
				},
				{
					n = "Raid15",
					t = "UnitTokenType",
					EnumValue = 33,
				},
				{
					n = "Raid16",
					t = "UnitTokenType",
					EnumValue = 34,
				},
				{
					n = "Raid17",
					t = "UnitTokenType",
					EnumValue = 35,
				},
				{
					n = "Raid18",
					t = "UnitTokenType",
					EnumValue = 36,
				},
				{
					n = "Raid19",
					t = "UnitTokenType",
					EnumValue = 37,
				},
				{
					n = "Raid20",
					t = "UnitTokenType",
					EnumValue = 38,
				},
				{
					n = "Raid21",
					t = "UnitTokenType",
					EnumValue = 39,
				},
				{
					n = "Raid22",
					t = "UnitTokenType",
					EnumValue = 40,
				},
				{
					n = "Raid23",
					t = "UnitTokenType",
					EnumValue = 41,
				},
				{
					n = "Raid24",
					t = "UnitTokenType",
					EnumValue = 42,
				},
				{
					n = "Raid25",
					t = "UnitTokenType",
					EnumValue = 43,
				},
				{
					n = "Raid26",
					t = "UnitTokenType",
					EnumValue = 44,
				},
				{
					n = "Raid27",
					t = "UnitTokenType",
					EnumValue = 45,
				},
				{
					n = "Raid28",
					t = "UnitTokenType",
					EnumValue = 46,
				},
				{
					n = "Raid29",
					t = "UnitTokenType",
					EnumValue = 47,
				},
				{
					n = "Raid30",
					t = "UnitTokenType",
					EnumValue = 48,
				},
				{
					n = "Raid31",
					t = "UnitTokenType",
					EnumValue = 49,
				},
				{
					n = "Raid32",
					t = "UnitTokenType",
					EnumValue = 50,
				},
				{
					n = "Raid33",
					t = "UnitTokenType",
					EnumValue = 51,
				},
				{
					n = "Raid34",
					t = "UnitTokenType",
					EnumValue = 52,
				},
				{
					n = "Raid35",
					t = "UnitTokenType",
					EnumValue = 53,
				},
				{
					n = "Raid36",
					t = "UnitTokenType",
					EnumValue = 54,
				},
				{
					n = "Raid37",
					t = "UnitTokenType",
					EnumValue = 55,
				},
				{
					n = "Raid38",
					t = "UnitTokenType",
					EnumValue = 56,
				},
				{
					n = "Raid39",
					t = "UnitTokenType",
					EnumValue = 57,
				},
				{
					n = "Raid40",
					t = "UnitTokenType",
					EnumValue = 58,
				},
				{
					n = "RaidPet1",
					t = "UnitTokenType",
					EnumValue = 59,
				},
				{
					n = "RaidPet2",
					t = "UnitTokenType",
					EnumValue = 60,
				},
				{
					n = "RaidPet3",
					t = "UnitTokenType",
					EnumValue = 61,
				},
				{
					n = "RaidPet4",
					t = "UnitTokenType",
					EnumValue = 62,
				},
				{
					n = "RaidPet5",
					t = "UnitTokenType",
					EnumValue = 63,
				},
				{
					n = "RaidPet6",
					t = "UnitTokenType",
					EnumValue = 64,
				},
				{
					n = "RaidPet7",
					t = "UnitTokenType",
					EnumValue = 65,
				},
				{
					n = "RaidPet8",
					t = "UnitTokenType",
					EnumValue = 66,
				},
				{
					n = "RaidPet9",
					t = "UnitTokenType",
					EnumValue = 67,
				},
				{
					n = "RaidPet10",
					t = "UnitTokenType",
					EnumValue = 68,
				},
				{
					n = "RaidPet11",
					t = "UnitTokenType",
					EnumValue = 69,
				},
				{
					n = "RaidPet12",
					t = "UnitTokenType",
					EnumValue = 70,
				},
				{
					n = "RaidPet13",
					t = "UnitTokenType",
					EnumValue = 71,
				},
				{
					n = "RaidPet14",
					t = "UnitTokenType",
					EnumValue = 72,
				},
				{
					n = "RaidPet15",
					t = "UnitTokenType",
					EnumValue = 73,
				},
				{
					n = "RaidPet16",
					t = "UnitTokenType",
					EnumValue = 74,
				},
				{
					n = "RaidPet17",
					t = "UnitTokenType",
					EnumValue = 75,
				},
				{
					n = "RaidPet18",
					t = "UnitTokenType",
					EnumValue = 76,
				},
				{
					n = "RaidPet19",
					t = "UnitTokenType",
					EnumValue = 77,
				},
				{
					n = "RaidPet20",
					t = "UnitTokenType",
					EnumValue = 78,
				},
				{
					n = "RaidPet21",
					t = "UnitTokenType",
					EnumValue = 79,
				},
				{
					n = "RaidPet22",
					t = "UnitTokenType",
					EnumValue = 80,
				},
				{
					n = "RaidPet23",
					t = "UnitTokenType",
					EnumValue = 81,
				},
				{
					n = "RaidPet24",
					t = "UnitTokenType",
					EnumValue = 82,
				},
				{
					n = "RaidPet25",
					t = "UnitTokenType",
					EnumValue = 83,
				},
				{
					n = "RaidPet26",
					t = "UnitTokenType",
					EnumValue = 84,
				},
				{
					n = "RaidPet27",
					t = "UnitTokenType",
					EnumValue = 85,
				},
				{
					n = "RaidPet28",
					t = "UnitTokenType",
					EnumValue = 86,
				},
				{
					n = "RaidPet29",
					t = "UnitTokenType",
					EnumValue = 87,
				},
				{
					n = "RaidPet30",
					t = "UnitTokenType",
					EnumValue = 88,
				},
				{
					n = "RaidPet31",
					t = "UnitTokenType",
					EnumValue = 89,
				},
				{
					n = "RaidPet32",
					t = "UnitTokenType",
					EnumValue = 90,
				},
				{
					n = "RaidPet33",
					t = "UnitTokenType",
					EnumValue = 91,
				},
				{
					n = "RaidPet34",
					t = "UnitTokenType",
					EnumValue = 92,
				},
				{
					n = "RaidPet35",
					t = "UnitTokenType",
					EnumValue = 93,
				},
				{
					n = "RaidPet36",
					t = "UnitTokenType",
					EnumValue = 94,
				},
				{
					n = "RaidPet37",
					t = "UnitTokenType",
					EnumValue = 95,
				},
				{
					n = "RaidPet38",
					t = "UnitTokenType",
					EnumValue = 96,
				},
				{
					n = "RaidPet39",
					t = "UnitTokenType",
					EnumValue = 97,
				},
				{
					n = "RaidPet40",
					t = "UnitTokenType",
					EnumValue = 98,
				},
				{
					n = "Party1",
					t = "UnitTokenType",
					EnumValue = 99,
				},
				{
					n = "Party2",
					t = "UnitTokenType",
					EnumValue = 100,
				},
				{
					n = "Party3",
					t = "UnitTokenType",
					EnumValue = 101,
				},
				{
					n = "Party4",
					t = "UnitTokenType",
					EnumValue = 102,
				},
				{
					n = "PartyPet1",
					t = "UnitTokenType",
					EnumValue = 103,
				},
				{
					n = "PartyPet2",
					t = "UnitTokenType",
					EnumValue = 104,
				},
				{
					n = "PartyPet3",
					t = "UnitTokenType",
					EnumValue = 105,
				},
				{
					n = "PartyPet4",
					t = "UnitTokenType",
					EnumValue = 106,
				},
				{
					n = "NamePlate1",
					t = "UnitTokenType",
					EnumValue = 107,
				},
				{
					n = "NamePlate2",
					t = "UnitTokenType",
					EnumValue = 108,
				},
				{
					n = "NamePlate3",
					t = "UnitTokenType",
					EnumValue = 109,
				},
				{
					n = "NamePlate4",
					t = "UnitTokenType",
					EnumValue = 110,
				},
				{
					n = "NamePlate5",
					t = "UnitTokenType",
					EnumValue = 111,
				},
				{
					n = "NamePlate6",
					t = "UnitTokenType",
					EnumValue = 112,
				},
				{
					n = "NamePlate7",
					t = "UnitTokenType",
					EnumValue = 113,
				},
				{
					n = "NamePlate8",
					t = "UnitTokenType",
					EnumValue = 114,
				},
				{
					n = "NamePlate9",
					t = "UnitTokenType",
					EnumValue = 115,
				},
				{
					n = "NamePlate10",
					t = "UnitTokenType",
					EnumValue = 116,
				},
				{
					n = "NamePlate11",
					t = "UnitTokenType",
					EnumValue = 117,
				},
				{
					n = "NamePlate12",
					t = "UnitTokenType",
					EnumValue = 118,
				},
				{
					n = "NamePlate13",
					t = "UnitTokenType",
					EnumValue = 119,
				},
				{
					n = "NamePlate14",
					t = "UnitTokenType",
					EnumValue = 120,
				},
				{
					n = "NamePlate15",
					t = "UnitTokenType",
					EnumValue = 121,
				},
				{
					n = "NamePlate16",
					t = "UnitTokenType",
					EnumValue = 122,
				},
				{
					n = "NamePlate17",
					t = "UnitTokenType",
					EnumValue = 123,
				},
				{
					n = "NamePlate18",
					t = "UnitTokenType",
					EnumValue = 124,
				},
				{
					n = "NamePlate19",
					t = "UnitTokenType",
					EnumValue = 125,
				},
				{
					n = "NamePlate20",
					t = "UnitTokenType",
					EnumValue = 126,
				},
				{
					n = "NamePlate21",
					t = "UnitTokenType",
					EnumValue = 127,
				},
				{
					n = "NamePlate22",
					t = "UnitTokenType",
					EnumValue = 128,
				},
				{
					n = "NamePlate23",
					t = "UnitTokenType",
					EnumValue = 129,
				},
				{
					n = "NamePlate24",
					t = "UnitTokenType",
					EnumValue = 130,
				},
				{
					n = "NamePlate25",
					t = "UnitTokenType",
					EnumValue = 131,
				},
				{
					n = "NamePlate26",
					t = "UnitTokenType",
					EnumValue = 132,
				},
				{
					n = "NamePlate27",
					t = "UnitTokenType",
					EnumValue = 133,
				},
				{
					n = "NamePlate28",
					t = "UnitTokenType",
					EnumValue = 134,
				},
				{
					n = "NamePlate29",
					t = "UnitTokenType",
					EnumValue = 135,
				},
				{
					n = "NamePlate30",
					t = "UnitTokenType",
					EnumValue = 136,
				},
				{
					n = "NamePlate31",
					t = "UnitTokenType",
					EnumValue = 137,
				},
				{
					n = "NamePlate32",
					t = "UnitTokenType",
					EnumValue = 138,
				},
				{
					n = "NamePlate33",
					t = "UnitTokenType",
					EnumValue = 139,
				},
				{
					n = "NamePlate34",
					t = "UnitTokenType",
					EnumValue = 140,
				},
				{
					n = "NamePlate35",
					t = "UnitTokenType",
					EnumValue = 141,
				},
				{
					n = "NamePlate36",
					t = "UnitTokenType",
					EnumValue = 142,
				},
				{
					n = "NamePlate37",
					t = "UnitTokenType",
					EnumValue = 143,
				},
				{
					n = "NamePlate38",
					t = "UnitTokenType",
					EnumValue = 144,
				},
				{
					n = "NamePlate39",
					t = "UnitTokenType",
					EnumValue = 145,
				},
				{
					n = "NamePlate40",
					t = "UnitTokenType",
					EnumValue = 146,
				},
				{
					n = "NamePlate41",
					t = "UnitTokenType",
					EnumValue = 147,
				},
				{
					n = "NamePlate42",
					t = "UnitTokenType",
					EnumValue = 148,
				},
				{
					n = "NamePlate43",
					t = "UnitTokenType",
					EnumValue = 149,
				},
				{
					n = "NamePlate44",
					t = "UnitTokenType",
					EnumValue = 150,
				},
				{
					n = "NamePlate45",
					t = "UnitTokenType",
					EnumValue = 151,
				},
				{
					n = "NamePlate46",
					t = "UnitTokenType",
					EnumValue = 152,
				},
				{
					n = "NamePlate47",
					t = "UnitTokenType",
					EnumValue = 153,
				},
				{
					n = "NamePlate48",
					t = "UnitTokenType",
					EnumValue = 154,
				},
				{
					n = "NamePlate49",
					t = "UnitTokenType",
					EnumValue = 155,
				},
				{
					n = "NamePlate50",
					t = "UnitTokenType",
					EnumValue = 156,
				},
				{
					n = "NamePlate51",
					t = "UnitTokenType",
					EnumValue = 157,
				},
				{
					n = "NamePlate52",
					t = "UnitTokenType",
					EnumValue = 158,
				},
				{
					n = "NamePlate53",
					t = "UnitTokenType",
					EnumValue = 159,
				},
				{
					n = "NamePlate54",
					t = "UnitTokenType",
					EnumValue = 160,
				},
				{
					n = "NamePlate55",
					t = "UnitTokenType",
					EnumValue = 161,
				},
				{
					n = "NamePlate56",
					t = "UnitTokenType",
					EnumValue = 162,
				},
				{
					n = "NamePlate57",
					t = "UnitTokenType",
					EnumValue = 163,
				},
				{
					n = "NamePlate58",
					t = "UnitTokenType",
					EnumValue = 164,
				},
				{
					n = "NamePlate59",
					t = "UnitTokenType",
					EnumValue = 165,
				},
				{
					n = "NamePlate60",
					t = "UnitTokenType",
					EnumValue = 166,
				},
				{
					n = "NamePlate61",
					t = "UnitTokenType",
					EnumValue = 167,
				},
				{
					n = "NamePlate62",
					t = "UnitTokenType",
					EnumValue = 168,
				},
				{
					n = "NamePlate63",
					t = "UnitTokenType",
					EnumValue = 169,
				},
				{
					n = "NamePlate64",
					t = "UnitTokenType",
					EnumValue = 170,
				},
				{
					n = "NamePlate65",
					t = "UnitTokenType",
					EnumValue = 171,
				},
				{
					n = "NamePlate66",
					t = "UnitTokenType",
					EnumValue = 172,
				},
				{
					n = "NamePlate67",
					t = "UnitTokenType",
					EnumValue = 173,
				},
				{
					n = "NamePlate68",
					t = "UnitTokenType",
					EnumValue = 174,
				},
				{
					n = "NamePlate69",
					t = "UnitTokenType",
					EnumValue = 175,
				},
				{
					n = "NamePlate70",
					t = "UnitTokenType",
					EnumValue = 176,
				},
				{
					n = "NamePlate71",
					t = "UnitTokenType",
					EnumValue = 177,
				},
				{
					n = "NamePlate72",
					t = "UnitTokenType",
					EnumValue = 178,
				},
				{
					n = "NamePlate73",
					t = "UnitTokenType",
					EnumValue = 179,
				},
				{
					n = "NamePlate74",
					t = "UnitTokenType",
					EnumValue = 180,
				},
				{
					n = "NamePlate75",
					t = "UnitTokenType",
					EnumValue = 181,
				},
				{
					n = "NamePlate76",
					t = "UnitTokenType",
					EnumValue = 182,
				},
				{
					n = "NamePlate77",
					t = "UnitTokenType",
					EnumValue = 183,
				},
				{
					n = "NamePlate78",
					t = "UnitTokenType",
					EnumValue = 184,
				},
				{
					n = "NamePlate79",
					t = "UnitTokenType",
					EnumValue = 185,
				},
				{
					n = "NamePlate80",
					t = "UnitTokenType",
					EnumValue = 186,
				},
				{
					n = "NamePlate81",
					t = "UnitTokenType",
					EnumValue = 187,
				},
				{
					n = "NamePlate82",
					t = "UnitTokenType",
					EnumValue = 188,
				},
				{
					n = "NamePlate83",
					t = "UnitTokenType",
					EnumValue = 189,
				},
				{
					n = "NamePlate84",
					t = "UnitTokenType",
					EnumValue = 190,
				},
				{
					n = "NamePlate85",
					t = "UnitTokenType",
					EnumValue = 191,
				},
				{
					n = "NamePlate86",
					t = "UnitTokenType",
					EnumValue = 192,
				},
				{
					n = "NamePlate87",
					t = "UnitTokenType",
					EnumValue = 193,
				},
				{
					n = "NamePlate88",
					t = "UnitTokenType",
					EnumValue = 194,
				},
				{
					n = "NamePlate89",
					t = "UnitTokenType",
					EnumValue = 195,
				},
				{
					n = "NamePlate90",
					t = "UnitTokenType",
					EnumValue = 196,
				},
				{
					n = "NamePlate91",
					t = "UnitTokenType",
					EnumValue = 197,
				},
				{
					n = "NamePlate92",
					t = "UnitTokenType",
					EnumValue = 198,
				},
				{
					n = "NamePlate93",
					t = "UnitTokenType",
					EnumValue = 199,
				},
				{
					n = "NamePlate94",
					t = "UnitTokenType",
					EnumValue = 200,
				},
				{
					n = "NamePlate95",
					t = "UnitTokenType",
					EnumValue = 201,
				},
				{
					n = "NamePlate96",
					t = "UnitTokenType",
					EnumValue = 202,
				},
				{
					n = "NamePlate97",
					t = "UnitTokenType",
					EnumValue = 203,
				},
				{
					n = "NamePlate98",
					t = "UnitTokenType",
					EnumValue = 204,
				},
				{
					n = "NamePlate99",
					t = "UnitTokenType",
					EnumValue = 205,
				},
				{
					n = "NamePlate100",
					t = "UnitTokenType",
					EnumValue = 206,
				},
				{
					n = "NamePlate101",
					t = "UnitTokenType",
					EnumValue = 207,
				},
				{
					n = "NamePlate102",
					t = "UnitTokenType",
					EnumValue = 208,
				},
				{
					n = "NamePlate103",
					t = "UnitTokenType",
					EnumValue = 209,
				},
				{
					n = "NamePlate104",
					t = "UnitTokenType",
					EnumValue = 210,
				},
				{
					n = "NamePlate105",
					t = "UnitTokenType",
					EnumValue = 211,
				},
				{
					n = "NamePlate106",
					t = "UnitTokenType",
					EnumValue = 212,
				},
				{
					n = "NamePlate107",
					t = "UnitTokenType",
					EnumValue = 213,
				},
				{
					n = "NamePlate108",
					t = "UnitTokenType",
					EnumValue = 214,
				},
				{
					n = "NamePlate109",
					t = "UnitTokenType",
					EnumValue = 215,
				},
				{
					n = "NamePlate110",
					t = "UnitTokenType",
					EnumValue = 216,
				},
				{
					n = "NamePlate111",
					t = "UnitTokenType",
					EnumValue = 217,
				},
				{
					n = "NamePlate112",
					t = "UnitTokenType",
					EnumValue = 218,
				},
				{
					n = "NamePlate113",
					t = "UnitTokenType",
					EnumValue = 219,
				},
				{
					n = "NamePlate114",
					t = "UnitTokenType",
					EnumValue = 220,
				},
				{
					n = "NamePlate115",
					t = "UnitTokenType",
					EnumValue = 221,
				},
				{
					n = "NamePlate116",
					t = "UnitTokenType",
					EnumValue = 222,
				},
				{
					n = "NamePlate117",
					t = "UnitTokenType",
					EnumValue = 223,
				},
				{
					n = "NamePlate118",
					t = "UnitTokenType",
					EnumValue = 224,
				},
				{
					n = "NamePlate119",
					t = "UnitTokenType",
					EnumValue = 225,
				},
				{
					n = "NamePlate120",
					t = "UnitTokenType",
					EnumValue = 226,
				},
				{
					n = "NamePlate121",
					t = "UnitTokenType",
					EnumValue = 227,
				},
				{
					n = "NamePlate122",
					t = "UnitTokenType",
					EnumValue = 228,
				},
				{
					n = "NamePlate123",
					t = "UnitTokenType",
					EnumValue = 229,
				},
				{
					n = "NamePlate124",
					t = "UnitTokenType",
					EnumValue = 230,
				},
				{
					n = "NamePlate125",
					t = "UnitTokenType",
					EnumValue = 231,
				},
				{
					n = "NamePlate126",
					t = "UnitTokenType",
					EnumValue = 232,
				},
				{
					n = "NamePlate127",
					t = "UnitTokenType",
					EnumValue = 233,
				},
				{
					n = "NamePlate128",
					t = "UnitTokenType",
					EnumValue = 234,
				},
				{
					n = "NamePlate129",
					t = "UnitTokenType",
					EnumValue = 235,
				},
				{
					n = "NamePlate130",
					t = "UnitTokenType",
					EnumValue = 236,
				},
				{
					n = "NamePlate131",
					t = "UnitTokenType",
					EnumValue = 237,
				},
				{
					n = "NamePlate132",
					t = "UnitTokenType",
					EnumValue = 238,
				},
				{
					n = "NamePlate133",
					t = "UnitTokenType",
					EnumValue = 239,
				},
				{
					n = "NamePlate134",
					t = "UnitTokenType",
					EnumValue = 240,
				},
				{
					n = "NamePlate135",
					t = "UnitTokenType",
					EnumValue = 241,
				},
				{
					n = "NamePlate136",
					t = "UnitTokenType",
					EnumValue = 242,
				},
				{
					n = "NamePlate137",
					t = "UnitTokenType",
					EnumValue = 243,
				},
				{
					n = "NamePlate138",
					t = "UnitTokenType",
					EnumValue = 244,
				},
				{
					n = "NamePlate139",
					t = "UnitTokenType",
					EnumValue = 245,
				},
				{
					n = "NamePlate140",
					t = "UnitTokenType",
					EnumValue = 246,
				},
				{
					n = "NamePlate141",
					t = "UnitTokenType",
					EnumValue = 247,
				},
				{
					n = "NamePlate142",
					t = "UnitTokenType",
					EnumValue = 248,
				},
				{
					n = "NamePlate143",
					t = "UnitTokenType",
					EnumValue = 249,
				},
				{
					n = "NamePlate144",
					t = "UnitTokenType",
					EnumValue = 250,
				},
				{
					n = "NamePlate145",
					t = "UnitTokenType",
					EnumValue = 251,
				},
				{
					n = "NamePlate146",
					t = "UnitTokenType",
					EnumValue = 252,
				},
				{
					n = "NamePlate147",
					t = "UnitTokenType",
					EnumValue = 253,
				},
				{
					n = "NamePlate148",
					t = "UnitTokenType",
					EnumValue = 254,
				},
				{
					n = "NamePlate149",
					t = "UnitTokenType",
					EnumValue = 255,
				},
				{
					n = "NamePlate150",
					t = "UnitTokenType",
					EnumValue = 256,
				},
				{
					n = "Boss1",
					t = "UnitTokenType",
					EnumValue = 257,
				},
				{
					n = "Boss2",
					t = "UnitTokenType",
					EnumValue = 258,
				},
				{
					n = "Boss3",
					t = "UnitTokenType",
					EnumValue = 259,
				},
				{
					n = "Boss4",
					t = "UnitTokenType",
					EnumValue = 260,
				},
				{
					n = "Boss5",
					t = "UnitTokenType",
					EnumValue = 261,
				},
				{
					n = "Arena1",
					t = "UnitTokenType",
					EnumValue = 262,
				},
				{
					n = "Arena2",
					t = "UnitTokenType",
					EnumValue = 263,
				},
				{
					n = "Arena3",
					t = "UnitTokenType",
					EnumValue = 264,
				},
				{
					n = "Arena4",
					t = "UnitTokenType",
					EnumValue = 265,
				},
				{
					n = "Arena5",
					t = "UnitTokenType",
					EnumValue = 266,
				},
				{
					n = "ArenaPet1",
					t = "UnitTokenType",
					EnumValue = 267,
				},
				{
					n = "ArenaPet2",
					t = "UnitTokenType",
					EnumValue = 268,
				},
				{
					n = "ArenaPet3",
					t = "UnitTokenType",
					EnumValue = 269,
				},
				{
					n = "ArenaPet4",
					t = "UnitTokenType",
					EnumValue = 270,
				},
				{
					n = "ArenaPet5",
					t = "UnitTokenType",
					EnumValue = 271,
				},
				{
					n = "SpectatedA1",
					t = "UnitTokenType",
					EnumValue = 272,
				},
				{
					n = "SpectatedA2",
					t = "UnitTokenType",
					EnumValue = 273,
				},
				{
					n = "SpectatedA3",
					t = "UnitTokenType",
					EnumValue = 274,
				},
				{
					n = "SpectatedA4",
					t = "UnitTokenType",
					EnumValue = 275,
				},
				{
					n = "SpectatedA5",
					t = "UnitTokenType",
					EnumValue = 276,
				},
				{
					n = "SpectatedA6",
					t = "UnitTokenType",
					EnumValue = 277,
				},
				{
					n = "SpectatedA7",
					t = "UnitTokenType",
					EnumValue = 278,
				},
				{
					n = "SpectatedA8",
					t = "UnitTokenType",
					EnumValue = 279,
				},
				{
					n = "SpectatedA9",
					t = "UnitTokenType",
					EnumValue = 280,
				},
				{
					n = "SpectatedA10",
					t = "UnitTokenType",
					EnumValue = 281,
				},
				{
					n = "SpectatedA11",
					t = "UnitTokenType",
					EnumValue = 282,
				},
				{
					n = "SpectatedA12",
					t = "UnitTokenType",
					EnumValue = 283,
				},
				{
					n = "SpectatedA13",
					t = "UnitTokenType",
					EnumValue = 284,
				},
				{
					n = "SpectatedA14",
					t = "UnitTokenType",
					EnumValue = 285,
				},
				{
					n = "SpectatedA15",
					t = "UnitTokenType",
					EnumValue = 286,
				},
				{
					n = "SpectatedB1",
					t = "UnitTokenType",
					EnumValue = 287,
				},
				{
					n = "SpectatedB2",
					t = "UnitTokenType",
					EnumValue = 288,
				},
				{
					n = "SpectatedB3",
					t = "UnitTokenType",
					EnumValue = 289,
				},
				{
					n = "SpectatedB4",
					t = "UnitTokenType",
					EnumValue = 290,
				},
				{
					n = "SpectatedB5",
					t = "UnitTokenType",
					EnumValue = 291,
				},
				{
					n = "SpectatedB6",
					t = "UnitTokenType",
					EnumValue = 292,
				},
				{
					n = "SpectatedB7",
					t = "UnitTokenType",
					EnumValue = 293,
				},
				{
					n = "SpectatedB8",
					t = "UnitTokenType",
					EnumValue = 294,
				},
				{
					n = "SpectatedB9",
					t = "UnitTokenType",
					EnumValue = 295,
				},
				{
					n = "SpectatedB10",
					t = "UnitTokenType",
					EnumValue = 296,
				},
				{
					n = "SpectatedB11",
					t = "UnitTokenType",
					EnumValue = 297,
				},
				{
					n = "SpectatedB12",
					t = "UnitTokenType",
					EnumValue = 298,
				},
				{
					n = "SpectatedB13",
					t = "UnitTokenType",
					EnumValue = 299,
				},
				{
					n = "SpectatedB14",
					t = "UnitTokenType",
					EnumValue = 300,
				},
				{
					n = "SpectatedB15",
					t = "UnitTokenType",
					EnumValue = 301,
				},
				{
					n = "SpectatedPetA1",
					t = "UnitTokenType",
					EnumValue = 302,
				},
				{
					n = "SpectatedPetA2",
					t = "UnitTokenType",
					EnumValue = 303,
				},
				{
					n = "SpectatedPetA3",
					t = "UnitTokenType",
					EnumValue = 304,
				},
				{
					n = "SpectatedPetA4",
					t = "UnitTokenType",
					EnumValue = 305,
				},
				{
					n = "SpectatedPetA5",
					t = "UnitTokenType",
					EnumValue = 306,
				},
				{
					n = "SpectatedPetA6",
					t = "UnitTokenType",
					EnumValue = 307,
				},
				{
					n = "SpectatedPetA7",
					t = "UnitTokenType",
					EnumValue = 308,
				},
				{
					n = "SpectatedPetA8",
					t = "UnitTokenType",
					EnumValue = 309,
				},
				{
					n = "SpectatedPetA9",
					t = "UnitTokenType",
					EnumValue = 310,
				},
				{
					n = "SpectatedPetA10",
					t = "UnitTokenType",
					EnumValue = 311,
				},
				{
					n = "SpectatedPetA11",
					t = "UnitTokenType",
					EnumValue = 312,
				},
				{
					n = "SpectatedPetA12",
					t = "UnitTokenType",
					EnumValue = 313,
				},
				{
					n = "SpectatedPetA13",
					t = "UnitTokenType",
					EnumValue = 314,
				},
				{
					n = "SpectatedPetA14",
					t = "UnitTokenType",
					EnumValue = 315,
				},
				{
					n = "SpectatedPetA15",
					t = "UnitTokenType",
					EnumValue = 316,
				},
				{
					n = "SpectatedPetB1",
					t = "UnitTokenType",
					EnumValue = 317,
				},
				{
					n = "SpectatedPetB2",
					t = "UnitTokenType",
					EnumValue = 318,
				},
				{
					n = "SpectatedPetB3",
					t = "UnitTokenType",
					EnumValue = 319,
				},
				{
					n = "SpectatedPetB4",
					t = "UnitTokenType",
					EnumValue = 320,
				},
				{
					n = "SpectatedPetB5",
					t = "UnitTokenType",
					EnumValue = 321,
				},
				{
					n = "SpectatedPetB6",
					t = "UnitTokenType",
					EnumValue = 322,
				},
				{
					n = "SpectatedPetB7",
					t = "UnitTokenType",
					EnumValue = 323,
				},
				{
					n = "SpectatedPetB8",
					t = "UnitTokenType",
					EnumValue = 324,
				},
				{
					n = "SpectatedPetB9",
					t = "UnitTokenType",
					EnumValue = 325,
				},
				{
					n = "SpectatedPetB10",
					t = "UnitTokenType",
					EnumValue = 326,
				},
				{
					n = "SpectatedPetB11",
					t = "UnitTokenType",
					EnumValue = 327,
				},
				{
					n = "SpectatedPetB12",
					t = "UnitTokenType",
					EnumValue = 328,
				},
				{
					n = "SpectatedPetB13",
					t = "UnitTokenType",
					EnumValue = 329,
				},
				{
					n = "SpectatedPetB14",
					t = "UnitTokenType",
					EnumValue = 330,
				},
				{
					n = "SpectatedPetB15",
					t = "UnitTokenType",
					EnumValue = 331,
				},
				{
					n = "Commentator1",
					t = "UnitTokenType",
					EnumValue = 332,
				},
				{
					n = "Commentator2",
					t = "UnitTokenType",
					EnumValue = 333,
				},
				{
					n = "Commentator3",
					t = "UnitTokenType",
					EnumValue = 334,
				},
				{
					n = "Commentator4",
					t = "UnitTokenType",
					EnumValue = 335,
				},
				{
					n = "Commentator5",
					t = "UnitTokenType",
					EnumValue = 336,
				},
				{
					n = "Commentator6",
					t = "UnitTokenType",
					EnumValue = 337,
				},
				{
					n = "Commentator7",
					t = "UnitTokenType",
					EnumValue = 338,
				},
				{
					n = "Commentator8",
					t = "UnitTokenType",
					EnumValue = 339,
				},
				{
					n = "Commentator9",
					t = "UnitTokenType",
					EnumValue = 340,
				},
				{
					n = "Commentator10",
					t = "UnitTokenType",
					EnumValue = 341,
				},
				{
					n = "Commentator11",
					t = "UnitTokenType",
					EnumValue = 342,
				},
				{
					n = "Commentator12",
					t = "UnitTokenType",
					EnumValue = 343,
				},
				{
					n = "Commentator13",
					t = "UnitTokenType",
					EnumValue = 344,
				},
				{
					n = "Commentator14",
					t = "UnitTokenType",
					EnumValue = 345,
				},
				{
					n = "Commentator15",
					t = "UnitTokenType",
					EnumValue = 346,
				},
				{
					n = "Commentator16",
					t = "UnitTokenType",
					EnumValue = 347,
				},
				{
					n = "Commentator17",
					t = "UnitTokenType",
					EnumValue = 348,
				},
				{
					n = "Commentator18",
					t = "UnitTokenType",
					EnumValue = 349,
				},
				{
					n = "Commentator19",
					t = "UnitTokenType",
					EnumValue = 350,
				},
				{
					n = "Commentator20",
					t = "UnitTokenType",
					EnumValue = 351,
				},
				{
					n = "Commentator21",
					t = "UnitTokenType",
					EnumValue = 352,
				},
				{
					n = "Commentator22",
					t = "UnitTokenType",
					EnumValue = 353,
				},
				{
					n = "Commentator23",
					t = "UnitTokenType",
					EnumValue = 354,
				},
				{
					n = "Commentator24",
					t = "UnitTokenType",
					EnumValue = 355,
				},
				{
					n = "Commentator25",
					t = "UnitTokenType",
					EnumValue = 356,
				},
				{
					n = "Commentator26",
					t = "UnitTokenType",
					EnumValue = 357,
				},
				{
					n = "Commentator27",
					t = "UnitTokenType",
					EnumValue = 358,
				},
				{
					n = "Commentator28",
					t = "UnitTokenType",
					EnumValue = 359,
				},
				{
					n = "Commentator29",
					t = "UnitTokenType",
					EnumValue = 360,
				},
				{
					n = "Commentator30",
					t = "UnitTokenType",
					EnumValue = 361,
				},
			},
			max = 361,
			min = 0,
			num = 362,
		},
		{
			n = "UnitEventConstants",
			k = "Constants",
			values = {
				{
					n = "MAX_UNIT_TOKENS_IN_EVENT",
					t = "number",
					Value = 4,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "UserFeedback",
	type = "System",
	ns = "C_UserFeedback",
	env = "All",
	file = "UserFeedbackDocumentation.lua",
	hash = "ca90ecc1c3185f30b94050c20a5771f497e2e6b0a1bc3d8e12275430551832cb",
	functions = {
		{
			n = "SubmitBug",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bugInfo",
					t = "cstring",
					nilable = false,
				},
				{
					n = "suppressNotification",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
			rets = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SubmitSuggestion",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "suggestion",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "success",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "ValidateNameConstantsDocumentation.lua",
	hash = "81db94ab15efc5688780225443e89dbcbe1159e19d956c7fafe4c86de6cf3e81",
	tables = {
		{
			n = "ScrubStringFlags",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "ScrubStringFlags",
					EnumValue = 0,
				},
				{
					n = "TruncateNewLines",
					t = "ScrubStringFlags",
					EnumValue = 1,
				},
				{
					n = "AllowBarCodes",
					t = "ScrubStringFlags",
					EnumValue = 2,
				},
				{
					n = "StripControlCodes",
					t = "ScrubStringFlags",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 0,
			num = 4,
		},
		{
			n = "ValidateNameResult",
			k = "Enumeration",
			fields = {
				{
					n = "Success",
					t = "ValidateNameResult",
					EnumValue = 0,
				},
				{
					n = "Failure",
					t = "ValidateNameResult",
					EnumValue = 1,
				},
				{
					n = "NoName",
					t = "ValidateNameResult",
					EnumValue = 2,
				},
				{
					n = "TooShort",
					t = "ValidateNameResult",
					EnumValue = 3,
				},
				{
					n = "TooLong",
					t = "ValidateNameResult",
					EnumValue = 4,
				},
				{
					n = "InvalidCharacter",
					t = "ValidateNameResult",
					EnumValue = 5,
				},
				{
					n = "MixedLanguages",
					t = "ValidateNameResult",
					EnumValue = 6,
				},
				{
					n = "Profane",
					t = "ValidateNameResult",
					EnumValue = 7,
				},
				{
					n = "Reserved",
					t = "ValidateNameResult",
					EnumValue = 8,
				},
				{
					n = "InvalidApostrophe",
					t = "ValidateNameResult",
					EnumValue = 9,
				},
				{
					n = "MultipleApostrophes",
					t = "ValidateNameResult",
					EnumValue = 10,
				},
				{
					n = "ThreeConsecutive",
					t = "ValidateNameResult",
					EnumValue = 11,
				},
				{
					n = "InvalidSpace",
					t = "ValidateNameResult",
					EnumValue = 12,
				},
				{
					n = "ConsecutiveSpaces",
					t = "ValidateNameResult",
					EnumValue = 13,
				},
				{
					n = "RussianConsecutiveSilentCharacters",
					t = "ValidateNameResult",
					EnumValue = 14,
				},
				{
					n = "RussianSilentCharacterAtBeginningOrEnd",
					t = "ValidateNameResult",
					EnumValue = 15,
				},
				{
					n = "DeclensionDoesntMatchBaseName",
					t = "ValidateNameResult",
					EnumValue = 16,
				},
				{
					n = "SpacesDisallowed",
					t = "ValidateNameResult",
					EnumValue = 17,
				},
			},
			max = 17,
			min = 0,
			num = 18,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "VectorSharedDocumentation.lua",
	hash = "3a382e616ebdec5514ac7e8e7dae0e80bcfa9512ea73b713536328e77982fb59",
}
systems[#systems + 1] = {
	name = "Vehicle",
	type = "System",
	ns = "C_Vehicle",
	env = "All",
	file = "VehicleDocumentation.lua",
	hash = "fa59074932799fa8e38b5b9828a16941dbe19d009f54940f4c68dcab0a8e5804",
	events = {
		{
			n = "PlayerGainsVehicleData",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "vehicleUIIndicatorID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_GAINS_VEHICLE_DATA",
		},
		{
			n = "PlayerLosesVehicleData",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PLAYER_LOSES_VEHICLE_DATA",
		},
		{
			n = "UnitEnteredVehicle",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "showVehicleFrame",
					t = "bool",
					nilable = false,
				},
				{
					n = "isControlSeat",
					t = "bool",
					nilable = false,
				},
				{
					n = "vehicleUIIndicatorID",
					t = "number",
					nilable = false,
				},
				{
					n = "vehicleGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "mayChooseExit",
					t = "bool",
					nilable = false,
				},
				{
					n = "hasPitch",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_ENTERED_VEHICLE",
		},
		{
			n = "UnitEnteringVehicle",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
				{
					n = "showVehicleFrame",
					t = "bool",
					nilable = false,
				},
				{
					n = "isControlSeat",
					t = "bool",
					nilable = false,
				},
				{
					n = "vehicleUIIndicatorID",
					t = "number",
					nilable = false,
				},
				{
					n = "vehicleGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "mayChooseExit",
					t = "bool",
					nilable = false,
				},
				{
					n = "hasPitch",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_ENTERING_VEHICLE",
		},
		{
			n = "UnitExitedVehicle",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_EXITED_VEHICLE",
		},
		{
			n = "UnitExitingVehicle",
			k = "Event",
			payload = {
				{
					n = "unitTarget",
					t = "UnitTokenVariant",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "UNIT_EXITING_VEHICLE",
		},
		{
			n = "VehicleAngleShow",
			k = "Event",
			payload = {
				{
					n = "shouldShow",
					t = "number",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "VEHICLE_ANGLE_SHOW",
		},
		{
			n = "VehiclePassengersChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "VEHICLE_PASSENGERS_CHANGED",
		},
		{
			n = "VehiclePowerShow",
			k = "Event",
			payload = {
				{
					n = "shouldShow",
					t = "number",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "VEHICLE_POWER_SHOW",
		},
		{
			n = "VehicleUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "VEHICLE_UPDATE",
		},
	},
}
systems[#systems + 1] = {
	name = "Video",
	type = "System",
	ns = "C_VideoOptions",
	env = "All",
	file = "VideoDocumentation.lua",
	hash = "2ccb13571a8bfb42d681c585b4aaad3a97c640479b3742545343dcb5e67b22cf",
	functions = {
		{
			n = "GetCurrentGameWindowSize",
			k = "Function",
			rets = {
				{
					n = "size",
					t = "vector2",
					nilable = false,
					mix = "Vector2DMixin",
				},
			},
		},
		{
			n = "GetDefaultGameWindowSize",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "monitor",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "size",
					t = "vector2",
					nilable = false,
					mix = "Vector2DMixin",
				},
			},
		},
		{
			n = "GetGameWindowSizes",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "monitor",
					t = "number",
					nilable = false,
				},
				{
					n = "fullscreen",
					t = "bool",
					nilable = false,
				},
			},
			rets = {
				{
					n = "sizes",
					t = "table",
					nilable = false,
					it = "vector2",
				},
			},
		},
		{
			n = "GetGxAdapterInfo",
			k = "Function",
			rets = {
				{
					n = "adapters",
					t = "table",
					nilable = false,
					it = "GxAdapterInfoDetails",
				},
			},
		},
		{
			n = "IsSpellVisualDensitySystemSupported",
			k = "Function",
			rets = {
				{
					n = "isSupported",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetGameWindowSize",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "x",
					t = "number",
					nilable = false,
				},
				{
					n = "y",
					t = "number",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "AdapterListChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "ADAPTER_LIST_CHANGED",
		},
		{
			n = "DisplaySizeChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "DISPLAY_SIZE_CHANGED",
		},
		{
			n = "GlueScreenshotFailed",
			k = "Event",
			SynchronousEvent = true,
			literal = "GLUE_SCREENSHOT_FAILED",
		},
		{
			n = "GlueScreenshotStarted",
			k = "Event",
			SynchronousEvent = true,
			literal = "GLUE_SCREENSHOT_STARTED",
		},
		{
			n = "GlueScreenshotSucceeded",
			k = "Event",
			SynchronousEvent = true,
			literal = "GLUE_SCREENSHOT_SUCCEEDED",
		},
		{
			n = "GxRestarted",
			k = "Event",
			SynchronousEvent = true,
			literal = "GX_RESTARTED",
		},
		{
			n = "ScreenshotFailed",
			k = "Event",
			SynchronousEvent = true,
			literal = "SCREENSHOT_FAILED",
		},
		{
			n = "ScreenshotStarted",
			k = "Event",
			SynchronousEvent = true,
			literal = "SCREENSHOT_STARTED",
		},
		{
			n = "ScreenshotSucceeded",
			k = "Event",
			SynchronousEvent = true,
			literal = "SCREENSHOT_SUCCEEDED",
		},
	},
	tables = {
		{
			n = "GraphicsValidationResult",
			k = "Enumeration",
			fields = {
				{
					n = "Supported",
					t = "GraphicsValidationResult",
					EnumValue = 0,
				},
				{
					n = "Illegal",
					t = "GraphicsValidationResult",
					EnumValue = 1,
				},
				{
					n = "Unsupported",
					t = "GraphicsValidationResult",
					EnumValue = 2,
				},
				{
					n = "Graphics",
					t = "GraphicsValidationResult",
					EnumValue = 3,
				},
				{
					n = "DualCore",
					t = "GraphicsValidationResult",
					EnumValue = 4,
				},
				{
					n = "QuadCore",
					t = "GraphicsValidationResult",
					EnumValue = 5,
				},
				{
					n = "CpuMem_2",
					t = "GraphicsValidationResult",
					EnumValue = 6,
				},
				{
					n = "CpuMem_4",
					t = "GraphicsValidationResult",
					EnumValue = 7,
				},
				{
					n = "CpuMem_8",
					t = "GraphicsValidationResult",
					EnumValue = 8,
				},
				{
					n = "Needs_5_0",
					t = "GraphicsValidationResult",
					EnumValue = 9,
				},
				{
					n = "Needs_6_0",
					t = "GraphicsValidationResult",
					EnumValue = 10,
				},
				{
					n = "NeedsRt",
					t = "GraphicsValidationResult",
					EnumValue = 11,
				},
				{
					n = "NeedsDx12",
					t = "GraphicsValidationResult",
					EnumValue = 12,
				},
				{
					n = "NeedsDx12Vrs2",
					t = "GraphicsValidationResult",
					EnumValue = 13,
				},
				{
					n = "NeedsAppleGpu",
					t = "GraphicsValidationResult",
					EnumValue = 14,
				},
				{
					n = "NeedsAmdGpu",
					t = "GraphicsValidationResult",
					EnumValue = 15,
				},
				{
					n = "NeedsIntelGpu",
					t = "GraphicsValidationResult",
					EnumValue = 16,
				},
				{
					n = "NeedsNvidiaGpu",
					t = "GraphicsValidationResult",
					EnumValue = 17,
				},
				{
					n = "NeedsQualcommGpu",
					t = "GraphicsValidationResult",
					EnumValue = 18,
				},
				{
					n = "NeedsMacOs_10_13",
					t = "GraphicsValidationResult",
					EnumValue = 19,
				},
				{
					n = "NeedsMacOs_10_14",
					t = "GraphicsValidationResult",
					EnumValue = 20,
				},
				{
					n = "NeedsMacOs_10_15",
					t = "GraphicsValidationResult",
					EnumValue = 21,
				},
				{
					n = "NeedsMacOs_11_0",
					t = "GraphicsValidationResult",
					EnumValue = 22,
				},
				{
					n = "NeedsMacOs_12_0",
					t = "GraphicsValidationResult",
					EnumValue = 23,
				},
				{
					n = "NeedsMacOs_13_0",
					t = "GraphicsValidationResult",
					EnumValue = 24,
				},
				{
					n = "NeedsWindows_10",
					t = "GraphicsValidationResult",
					EnumValue = 25,
				},
				{
					n = "NeedsWindows_11",
					t = "GraphicsValidationResult",
					EnumValue = 26,
				},
				{
					n = "MacOsUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 27,
				},
				{
					n = "WindowsUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 28,
				},
				{
					n = "LegacyUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 29,
				},
				{
					n = "Dx11Unsupported",
					t = "GraphicsValidationResult",
					EnumValue = 30,
				},
				{
					n = "Dx12Win7Unsupported",
					t = "GraphicsValidationResult",
					EnumValue = 31,
				},
				{
					n = "RemoteDesktopUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 32,
				},
				{
					n = "WineUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 33,
				},
				{
					n = "NvapiWineUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 34,
				},
				{
					n = "AppleGpuUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 35,
				},
				{
					n = "AmdGpuUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 36,
				},
				{
					n = "IntelGpuUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 37,
				},
				{
					n = "NvidiaGpuUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 38,
				},
				{
					n = "QualcommGpuUnsupported",
					t = "GraphicsValidationResult",
					EnumValue = 39,
				},
				{
					n = "GpuDriver",
					t = "GraphicsValidationResult",
					EnumValue = 40,
				},
				{
					n = "CompatMode",
					t = "GraphicsValidationResult",
					EnumValue = 41,
				},
				{
					n = "Unknown",
					t = "GraphicsValidationResult",
					EnumValue = 42,
				},
			},
			max = 42,
			min = 0,
			num = 43,
		},
		{
			n = "GxAdapterInfoDetails",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "isLowPower",
					t = "bool",
					nilable = false,
				},
				{
					n = "isExternal",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "VignetteConstantsDocumentation.lua",
	hash = "a70dcb09633f75149983f53bfc547492a51317390a3390388aa3f5c26318c846",
	tables = {
		{
			n = "VignetteObjectiveType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "VignetteObjectiveType",
					EnumValue = 0,
				},
				{
					n = "Defeat",
					t = "VignetteObjectiveType",
					EnumValue = 1,
				},
				{
					n = "DefeatShowRemainingHealth",
					t = "VignetteObjectiveType",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "VignetteType",
			k = "Enumeration",
			fields = {
				{
					n = "Normal",
					t = "VignetteType",
					EnumValue = 0,
				},
				{
					n = "PvPBounty",
					t = "VignetteType",
					EnumValue = 1,
				},
				{
					n = "Torghast",
					t = "VignetteType",
					EnumValue = 2,
				},
				{
					n = "Treasure",
					t = "VignetteType",
					EnumValue = 3,
				},
				{
					n = "FyrakkFlight",
					t = "VignetteType",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 0,
			num = 5,
		},
	},
}
systems[#systems + 1] = {
	name = "Vignette",
	type = "System",
	ns = "C_VignetteInfo",
	env = "All",
	file = "VignetteInfoDocumentation.lua",
	hash = "89e7c169798830eaf31b94049b024f223c79f4a7d51e0a226a1a0e569bb52600",
	functions = {
		{
			n = "FindBestUniqueVignette",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "vignetteGUIDs",
					t = "table",
					nilable = false,
					it = "WOWGUID",
				},
			},
			rets = {
				{
					n = "bestUniqueVignetteIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
		},
		{
			n = "GetHealthPercent",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "vignetteGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "healthPct",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetRecommendedGroupSize",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "vignetteGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "minGroupSize",
					t = "number",
					nilable = false,
				},
				{
					n = "maxGroupSize",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetVignetteInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "vignetteGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "vignetteInfo",
					t = "VignetteInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetVignettePosition",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "vignetteGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "uiMapID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "vignettePosition",
					t = "vector2",
					nilable = false,
					mix = "Vector2DMixin",
				},
				{
					n = "vignetteFacing",
					t = "number",
					nilable = true,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetVignettes",
			k = "Function",
			rets = {
				{
					n = "vignetteGUIDs",
					t = "table",
					nilable = false,
					it = "WOWGUID",
				},
			},
		},
	},
	events = {
		{
			n = "VignetteMinimapUpdated",
			k = "Event",
			payload = {
				{
					n = "vignetteGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "onMinimap",
					t = "bool",
					nilable = false,
				},
			},
			literal = "VIGNETTE_MINIMAP_UPDATED",
			unique = true,
		},
		{
			n = "VignettesUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "VIGNETTES_UPDATED",
		},
	},
	tables = {
		{
			n = "VignetteInfo",
			k = "Structure",
			fields = {
				{
					n = "vignetteGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "objectGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "isDead",
					t = "bool",
					nilable = false,
				},
				{
					n = "onWorldMap",
					t = "bool",
					nilable = false,
				},
				{
					n = "zoneInfiniteAOI",
					t = "bool",
					nilable = false,
				},
				{
					n = "onMinimap",
					t = "bool",
					nilable = false,
				},
				{
					n = "isUnique",
					t = "bool",
					nilable = false,
				},
				{
					n = "inFogOfWar",
					t = "bool",
					nilable = false,
				},
				{
					n = "atlasName",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "hasTooltip",
					t = "bool",
					nilable = false,
				},
				{
					n = "vignetteID",
					t = "number",
					nilable = false,
				},
				{
					n = "type",
					t = "VignetteType",
					nilable = false,
				},
				{
					n = "rewardQuestID",
					t = "number",
					nilable = false,
				},
				{
					n = "tooltipWidgetSet",
					t = "number",
					nilable = true,
				},
				{
					n = "iconWidgetSet",
					t = "number",
					nilable = true,
				},
				{
					n = "addPaddingAboveTooltipWidgets",
					t = "bool",
					nilable = true,
				},
				{
					n = "mapPin",
					t = "UIMapPinInfo",
					nilable = true,
				},
				{
					n = "objectiveType",
					t = "VignetteObjectiveType",
					nilable = true,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "VoiceChat",
	type = "System",
	ns = "C_VoiceChat",
	env = "All",
	file = "VoiceChatDocumentation.lua",
	hash = "1c3b42d18a0a6525e7372dbe4472aa69af48bfbcfb1da22b0af6f9abbb0a7953",
	functions = {
		{
			n = "ActivateChannel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ActivateChannelTranscription",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "BeginLocalCapture",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "listenToLocalUser",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanAccessSettings",
			k = "Function",
			rets = {
				{
					n = "canAccess",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanPlayerUseVoiceChat",
			k = "Function",
			rets = {
				{
					n = "canUseVoiceChat",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CreateChannel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelDisplayName",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "status",
					t = "VoiceChatStatusCode",
					nilable = false,
				},
			},
		},
		{
			n = "DeactivateChannel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "DeactivateChannelTranscription",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "EndLocalCapture",
			k = "Function",
		},
		{
			n = "GetActiveChannelID",
			k = "Function",
			rets = {
				{
					n = "channelID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetActiveChannelType",
			k = "Function",
			rets = {
				{
					n = "channelType",
					t = "ChatChannelType",
					nilable = true,
				},
			},
		},
		{
			n = "GetAvailableInputDevices",
			k = "Function",
			rets = {
				{
					n = "inputDevices",
					t = "table",
					nilable = true,
					it = "VoiceAudioDevice",
				},
			},
		},
		{
			n = "GetAvailableOutputDevices",
			k = "Function",
			rets = {
				{
					n = "outputDevices",
					t = "table",
					nilable = true,
					it = "VoiceAudioDevice",
				},
			},
		},
		{
			n = "GetChannel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "channel",
					t = "VoiceChatChannel",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			mayReturnNothing = true,
		},
		{
			n = "GetChannelForChannelType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelType",
					t = "ChatChannelType",
					nilable = false,
				},
			},
			rets = {
				{
					n = "channel",
					t = "VoiceChatChannel",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			mayReturnNothing = true,
		},
		{
			n = "GetChannelForCommunityStream",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "clubId",
					t = "ClubId",
					nilable = false,
				},
				{
					n = "streamId",
					t = "ClubStreamId",
					nilable = false,
				},
			},
			rets = {
				{
					n = "channel",
					t = "VoiceChatChannel",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			mayReturnNothing = true,
		},
		{
			n = "GetCommunicationMode",
			k = "Function",
			rets = {
				{
					n = "communicationMode",
					t = "CommunicationMode",
					nilable = true,
				},
			},
		},
		{
			n = "GetCurrentVoiceChatConnectionStatusCode",
			k = "Function",
			rets = {
				{
					n = "statusCode",
					t = "VoiceChatStatusCode",
					nilable = true,
				},
			},
		},
		{
			n = "GetInputVolume",
			k = "Function",
			rets = {
				{
					n = "volume",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetJoinClubVoiceChannelError",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "clubId",
					t = "ClubId",
					nilable = false,
				},
			},
			rets = {
				{
					n = "errorReason",
					t = "VoiceChannelErrorReason",
					nilable = true,
				},
			},
		},
		{
			n = "GetLocalPlayerActiveChannelMemberInfo",
			k = "Function",
			rets = {
				{
					n = "memberInfo",
					t = "VoiceChatMember",
					nilable = true,
				},
			},
		},
		{
			n = "GetLocalPlayerMemberID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "memberID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetMasterVolumeScale",
			k = "Function",
			rets = {
				{
					n = "scale",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetMemberGUID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "memberGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
		},
		{
			n = "GetMemberID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "memberGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "memberID",
					t = "number",
					nilable = true,
				},
			},
			SecretInChatMessagingLockdown = true,
		},
		{
			n = "GetMemberInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "memberInfo",
					t = "VoiceChatMember",
					nilable = true,
				},
			},
			SecretInChatMessagingLockdown = true,
		},
		{
			n = "GetMemberName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "memberName",
					t = "string",
					nilable = true,
				},
			},
			SecretInChatMessagingLockdown = true,
		},
		{
			n = "GetMemberVolume",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerLocation",
					t = "PlayerLocation",
					nilable = false,
					mix = "PlayerLocationMixin",
				},
			},
			rets = {
				{
					n = "volume",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetOutputVolume",
			k = "Function",
			rets = {
				{
					n = "volume",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetPTTButtonPressedState",
			k = "Function",
			rets = {
				{
					n = "isPressed",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "GetProcesses",
			k = "Function",
			rets = {
				{
					n = "processes",
					t = "table",
					nilable = false,
					it = "VoiceChatProcess",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPushToTalkBinding",
			k = "Function",
			rets = {
				{
					n = "keys",
					t = "table",
					nilable = true,
					it = "string",
				},
			},
		},
		{
			n = "GetRemoteTtsVoices",
			k = "Function",
			rets = {
				{
					n = "ttsVoices",
					t = "table",
					nilable = false,
					it = "VoiceTtsVoiceType",
				},
			},
		},
		{
			n = "GetTtsVoices",
			k = "Function",
			rets = {
				{
					n = "ttsVoices",
					t = "table",
					nilable = false,
					it = "VoiceTtsVoiceType",
				},
			},
		},
		{
			n = "GetVADSensitivity",
			k = "Function",
			rets = {
				{
					n = "sensitivity",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "IsChannelJoinPending",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelType",
					t = "ChatChannelType",
					nilable = false,
				},
				{
					n = "clubId",
					t = "ClubId",
					nilable = true,
				},
				{
					n = "streamId",
					t = "ClubStreamId",
					nilable = true,
				},
			},
			rets = {
				{
					n = "isPending",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsDeafened",
			k = "Function",
			rets = {
				{
					n = "isDeafened",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "IsEnabled",
			k = "Function",
			rets = {
				{
					n = "isEnabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsLoggedIn",
			k = "Function",
			rets = {
				{
					n = "isLoggedIn",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsMemberLocalPlayer",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isLocalPlayer",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsMemberMuted",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerLocation",
					t = "PlayerLocation",
					nilable = false,
					mix = "PlayerLocationMixin",
				},
			},
			rets = {
				{
					n = "mutedForMe",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "IsMemberMutedForAll",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "mutedForAll",
					t = "bool",
					nilable = true,
				},
			},
			SecretInChatMessagingLockdown = true,
		},
		{
			n = "IsMemberSilenced",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "silenced",
					t = "bool",
					nilable = true,
				},
			},
			SecretInChatMessagingLockdown = true,
		},
		{
			n = "IsMuted",
			k = "Function",
			rets = {
				{
					n = "isMuted",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "IsParentalDisabled",
			k = "Function",
			rets = {
				{
					n = "isParentalDisabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsParentalMuted",
			k = "Function",
			rets = {
				{
					n = "isParentalMuted",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsPlayerUsingVoice",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerLocation",
					t = "PlayerLocation",
					nilable = false,
					mix = "PlayerLocationMixin",
				},
			},
			rets = {
				{
					n = "isUsingVoice",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsSilenced",
			k = "Function",
			rets = {
				{
					n = "isSilenced",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "IsSpeakForMeActive",
			k = "Function",
			rets = {
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsSpeakForMeAllowed",
			k = "Function",
			rets = {
				{
					n = "isAllowed",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsTranscribing",
			k = "Function",
			rets = {
				{
					n = "isTranscribing",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsTranscriptionAllowed",
			k = "Function",
			rets = {
				{
					n = "isAllowed",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsVoiceChatConnected",
			k = "Function",
			rets = {
				{
					n = "connected",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "LeaveChannel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "Login",
			k = "Function",
			rets = {
				{
					n = "status",
					t = "VoiceChatStatusCode",
					nilable = false,
				},
			},
		},
		{
			n = "Logout",
			k = "Function",
			rets = {
				{
					n = "status",
					t = "VoiceChatStatusCode",
					nilable = false,
				},
			},
		},
		{
			n = "MarkChannelsDiscovered",
			k = "Function",
			doc = {
				"Once the UI has enumerated all channels, use this to reset the channel discovery state, it will be updated again if appropriate",
			},
		},
		{
			n = "RequestJoinAndActivateCommunityStreamChannel",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "clubId",
					t = "ClubId",
					nilable = false,
				},
				{
					n = "streamId",
					t = "ClubStreamId",
					nilable = false,
				},
			},
		},
		{
			n = "RequestJoinChannelByChannelType",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "channelType",
					t = "ChatChannelType",
					nilable = false,
				},
				{
					n = "autoActivate",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "SetCommunicationMode",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "communicationMode",
					t = "CommunicationMode",
					nilable = false,
				},
			},
		},
		{
			n = "SetDeafened",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isDeafened",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetInputDevice",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "deviceID",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "SetInputVolume",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "volume",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetMasterVolumeScale",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "scale",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetMemberMuted",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerLocation",
					t = "PlayerLocation",
					nilable = false,
					mix = "PlayerLocationMixin",
				},
				{
					n = "muted",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetMemberVolume",
			k = "Function",
			doc = {
				"Adjusts member volume across all channels",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerLocation",
					t = "PlayerLocation",
					nilable = false,
					mix = "PlayerLocationMixin",
				},
				{
					n = "volume",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetMuted",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isMuted",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetOutputDevice",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "deviceID",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "SetOutputVolume",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "volume",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetPortraitTexture",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "textureObject",
					t = "SimpleTexture",
					nilable = false,
				},
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetPushToTalkBinding",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "keys",
					t = "table",
					nilable = false,
					it = "string",
				},
			},
		},
		{
			n = "SetVADSensitivity",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "sensitivity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "ShouldDiscoverChannels",
			k = "Function",
			doc = {
				"Use this while loading to determine if the UI should attempt to rediscover the previously joined/active voice channels",
			},
			rets = {
				{
					n = "shouldDiscoverChannels",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SpeakRemoteTextSample",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "text",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "SpeakText",
			k = "Function",
			doc = {
				"SpeakText also supports XML TTS tags on Windows including bookmarks - see SAPI XML TTS Tutorial in Microsoft's online documentation for more information.",
			},
			sec = "AllowedWhenTainted",
			args = {
				{
					n = "voiceID",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "text",
					t = "cstring",
					nilable = false,
				},
				{
					n = "rate",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "volume",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "overlap",
					t = "bool",
					nilable = false,
					def = false,
					NeverSecret = true,
				},
			},
		},
		{
			n = "StopSpeakingText",
			k = "Function",
		},
		{
			n = "ToggleDeafened",
			k = "Function",
		},
		{
			n = "ToggleMemberMuted",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "playerLocation",
					t = "PlayerLocation",
					nilable = false,
					mix = "PlayerLocationMixin",
				},
			},
		},
		{
			n = "ToggleMuted",
			k = "Function",
		},
	},
	events = {
		{
			n = "VoiceChatActiveInputDeviceUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_ACTIVE_INPUT_DEVICE_UPDATED",
		},
		{
			n = "VoiceChatActiveOutputDeviceUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_ACTIVE_OUTPUT_DEVICE_UPDATED",
		},
		{
			n = "VoiceChatAudioCaptureEnergy",
			k = "Event",
			payload = {
				{
					n = "isSpeaking",
					t = "bool",
					nilable = false,
				},
				{
					n = "energy",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_AUDIO_CAPTURE_ENERGY",
		},
		{
			n = "VoiceChatAudioCaptureStarted",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_AUDIO_CAPTURE_STARTED",
		},
		{
			n = "VoiceChatAudioCaptureStopped",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_AUDIO_CAPTURE_STOPPED",
		},
		{
			n = "VoiceChatChannelActivated",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_ACTIVATED",
		},
		{
			n = "VoiceChatChannelDeactivated",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_DEACTIVATED",
		},
		{
			n = "VoiceChatChannelDisplayNameChanged",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelDisplayName",
					t = "cstring",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_DISPLAY_NAME_CHANGED",
		},
		{
			n = "VoiceChatChannelJoined",
			k = "Event",
			payload = {
				{
					n = "status",
					t = "VoiceChatStatusCode",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelType",
					t = "ChatChannelType",
					nilable = false,
				},
				{
					n = "clubId",
					t = "ClubId",
					nilable = true,
				},
				{
					n = "streamId",
					t = "ClubStreamId",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_JOINED",
		},
		{
			n = "VoiceChatChannelMemberActiveStateChanged",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_ACTIVE_STATE_CHANGED",
		},
		{
			n = "VoiceChatChannelMemberAdded",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_ADDED",
		},
		{
			n = "VoiceChatChannelMemberEnergyChanged",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "speakingEnergy",
					t = "number",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_ENERGY_CHANGED",
		},
		{
			n = "VoiceChatChannelMemberGuidUpdated",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_GUID_UPDATED",
		},
		{
			n = "VoiceChatChannelMemberMuteForAllChanged",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "isMutedForAll",
					t = "bool",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_MUTE_FOR_ALL_CHANGED",
		},
		{
			n = "VoiceChatChannelMemberMuteForMeChanged",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "isMutedForMe",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_MUTE_FOR_ME_CHANGED",
		},
		{
			n = "VoiceChatChannelMemberRemoved",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_REMOVED",
		},
		{
			n = "VoiceChatChannelMemberSilencedChanged",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "isSilenced",
					t = "bool",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_SILENCED_CHANGED",
		},
		{
			n = "VoiceChatChannelMemberSpeakingStateChanged",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "isSpeaking",
					t = "bool",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_SPEAKING_STATE_CHANGED",
		},
		{
			n = "VoiceChatChannelMemberSttMessage",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "message",
					t = "string",
					nilable = false,
				},
				{
					n = "language",
					t = "string",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_STT_MESSAGE",
		},
		{
			n = "VoiceChatChannelMemberVolumeChanged",
			k = "Event",
			payload = {
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "volume",
					t = "number",
					nilable = false,
				},
			},
			SecretInChatMessagingLockdown = true,
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MEMBER_VOLUME_CHANGED",
		},
		{
			n = "VoiceChatChannelMuteStateChanged",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "isMuted",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_MUTE_STATE_CHANGED",
		},
		{
			n = "VoiceChatChannelPttChanged",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "pushToTalkSetting",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_PTT_CHANGED",
		},
		{
			n = "VoiceChatChannelRemoved",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_REMOVED",
		},
		{
			n = "VoiceChatChannelTranscribingChanged",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "isTranscribing",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_TRANSCRIBING_CHANGED",
		},
		{
			n = "VoiceChatChannelTransmitChanged",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "isTransmitting",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_TRANSMIT_CHANGED",
		},
		{
			n = "VoiceChatChannelVolumeChanged",
			k = "Event",
			payload = {
				{
					n = "channelID",
					t = "number",
					nilable = false,
				},
				{
					n = "volume",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CHANNEL_VOLUME_CHANGED",
		},
		{
			n = "VoiceChatCommunicationModeChanged",
			k = "Event",
			payload = {
				{
					n = "communicationMode",
					t = "CommunicationMode",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_COMMUNICATION_MODE_CHANGED",
		},
		{
			n = "VoiceChatConnectionSuccess",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_CONNECTION_SUCCESS",
		},
		{
			n = "VoiceChatDeafenedChanged",
			k = "Event",
			payload = {
				{
					n = "isDeafened",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_DEAFENED_CHANGED",
		},
		{
			n = "VoiceChatError",
			k = "Event",
			payload = {
				{
					n = "platformCode",
					t = "number",
					nilable = false,
				},
				{
					n = "statusCode",
					t = "VoiceChatStatusCode",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_ERROR",
		},
		{
			n = "VoiceChatInputDevicesUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_INPUT_DEVICES_UPDATED",
		},
		{
			n = "VoiceChatLogin",
			k = "Event",
			payload = {
				{
					n = "status",
					t = "VoiceChatStatusCode",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_LOGIN",
		},
		{
			n = "VoiceChatLogout",
			k = "Event",
			payload = {
				{
					n = "status",
					t = "VoiceChatStatusCode",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_LOGOUT",
		},
		{
			n = "VoiceChatMutedChanged",
			k = "Event",
			payload = {
				{
					n = "isMuted",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_MUTED_CHANGED",
		},
		{
			n = "VoiceChatOutputDevicesUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_OUTPUT_DEVICES_UPDATED",
		},
		{
			n = "VoiceChatPendingChannelJoinState",
			k = "Event",
			payload = {
				{
					n = "channelType",
					t = "ChatChannelType",
					nilable = false,
				},
				{
					n = "clubId",
					t = "ClubId",
					nilable = true,
				},
				{
					n = "streamId",
					t = "ClubStreamId",
					nilable = true,
				},
				{
					n = "pendingJoin",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_PENDING_CHANNEL_JOIN_STATE",
		},
		{
			n = "VoiceChatPttButtonPressedStateChanged",
			k = "Event",
			payload = {
				{
					n = "isPressed",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_PTT_BUTTON_PRESSED_STATE_CHANGED",
		},
		{
			n = "VoiceChatSilencedChanged",
			k = "Event",
			payload = {
				{
					n = "isSilenced",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_SILENCED_CHANGED",
		},
		{
			n = "VoiceChatSpeakForMeActiveStatusUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_SPEAK_FOR_ME_ACTIVE_STATUS_UPDATED",
		},
		{
			n = "VoiceChatSpeakForMeFeatureStatusUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_SPEAK_FOR_ME_FEATURE_STATUS_UPDATED",
		},
		{
			n = "VoiceChatTtsPlaybackBookmark",
			k = "Event",
			payload = {
				{
					n = "utteranceID",
					t = "number",
					nilable = false,
				},
				{
					n = "bookmarkName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_TTS_PLAYBACK_BOOKMARK",
		},
		{
			n = "VoiceChatTtsPlaybackFailed",
			k = "Event",
			payload = {
				{
					n = "utteranceID",
					t = "number",
					nilable = false,
				},
				{
					n = "status",
					t = "VoiceTtsStatusCode",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_TTS_PLAYBACK_FAILED",
		},
		{
			n = "VoiceChatTtsPlaybackFinished",
			k = "Event",
			payload = {
				{
					n = "utteranceID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_TTS_PLAYBACK_FINISHED",
		},
		{
			n = "VoiceChatTtsPlaybackStarted",
			k = "Event",
			payload = {
				{
					n = "utteranceID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_TTS_PLAYBACK_STARTED",
		},
		{
			n = "VoiceChatTtsSpeakTextUpdate",
			k = "Event",
			payload = {
				{
					n = "status",
					t = "VoiceTtsStatusCode",
					nilable = false,
				},
				{
					n = "utteranceID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "VOICE_CHAT_TTS_SPEAK_TEXT_UPDATE",
		},
		{
			n = "VoiceChatTtsVoicesUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_TTS_VOICES_UPDATE",
		},
		{
			n = "VoiceChatVadSettingsUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "VOICE_CHAT_VAD_SETTINGS_UPDATED",
		},
	},
	tables = {
		{
			n = "CommunicationMode",
			k = "Enumeration",
			fields = {
				{
					n = "PushToTalk",
					t = "CommunicationMode",
					EnumValue = 0,
				},
				{
					n = "OpenMic",
					t = "CommunicationMode",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "VoiceChannelErrorReason",
			k = "Enumeration",
			fields = {
				{
					n = "Unknown",
					t = "VoiceChannelErrorReason",
					EnumValue = 0,
				},
				{
					n = "IsBattleNetChannel",
					t = "VoiceChannelErrorReason",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "VoiceChatStatusCode",
			k = "Enumeration",
			fields = {
				{
					n = "Success",
					t = "VoiceChatStatusCode",
					EnumValue = 0,
				},
				{
					n = "OperationPending",
					t = "VoiceChatStatusCode",
					EnumValue = 1,
				},
				{
					n = "TooManyRequests",
					t = "VoiceChatStatusCode",
					EnumValue = 2,
				},
				{
					n = "LoginProhibited",
					t = "VoiceChatStatusCode",
					EnumValue = 3,
				},
				{
					n = "ClientNotInitialized",
					t = "VoiceChatStatusCode",
					EnumValue = 4,
				},
				{
					n = "ClientNotLoggedIn",
					t = "VoiceChatStatusCode",
					EnumValue = 5,
				},
				{
					n = "ClientAlreadyLoggedIn",
					t = "VoiceChatStatusCode",
					EnumValue = 6,
				},
				{
					n = "ChannelNameTooShort",
					t = "VoiceChatStatusCode",
					EnumValue = 7,
				},
				{
					n = "ChannelNameTooLong",
					t = "VoiceChatStatusCode",
					EnumValue = 8,
				},
				{
					n = "ChannelAlreadyExists",
					t = "VoiceChatStatusCode",
					EnumValue = 9,
				},
				{
					n = "AlreadyInChannel",
					t = "VoiceChatStatusCode",
					EnumValue = 10,
				},
				{
					n = "TargetNotFound",
					t = "VoiceChatStatusCode",
					EnumValue = 11,
				},
				{
					n = "Failure",
					t = "VoiceChatStatusCode",
					EnumValue = 12,
				},
				{
					n = "ServiceLost",
					t = "VoiceChatStatusCode",
					EnumValue = 13,
				},
				{
					n = "UnableToLaunchProxy",
					t = "VoiceChatStatusCode",
					EnumValue = 14,
				},
				{
					n = "ProxyConnectionTimeOut",
					t = "VoiceChatStatusCode",
					EnumValue = 15,
				},
				{
					n = "ProxyConnectionUnableToConnect",
					t = "VoiceChatStatusCode",
					EnumValue = 16,
				},
				{
					n = "ProxyConnectionUnexpectedDisconnect",
					t = "VoiceChatStatusCode",
					EnumValue = 17,
				},
				{
					n = "Disabled",
					t = "VoiceChatStatusCode",
					EnumValue = 18,
				},
				{
					n = "UnsupportedChatChannelType",
					t = "VoiceChatStatusCode",
					EnumValue = 19,
				},
				{
					n = "InvalidCommunityStream",
					t = "VoiceChatStatusCode",
					EnumValue = 20,
				},
				{
					n = "PlayerSilenced",
					t = "VoiceChatStatusCode",
					EnumValue = 21,
				},
				{
					n = "PlayerVoiceChatParentalDisabled",
					t = "VoiceChatStatusCode",
					EnumValue = 22,
				},
				{
					n = "InvalidInputDevice",
					t = "VoiceChatStatusCode",
					EnumValue = 23,
				},
				{
					n = "InvalidOutputDevice",
					t = "VoiceChatStatusCode",
					EnumValue = 24,
				},
			},
			max = 24,
			min = 0,
			num = 25,
		},
		{
			n = "VoiceTtsStatusCode",
			k = "Enumeration",
			fields = {
				{
					n = "Success",
					t = "VoiceTtsStatusCode",
					EnumValue = 0,
				},
				{
					n = "InvalidEngineType",
					t = "VoiceTtsStatusCode",
					EnumValue = 1,
				},
				{
					n = "EngineAllocationFailed",
					t = "VoiceTtsStatusCode",
					EnumValue = 2,
				},
				{
					n = "NotSupported",
					t = "VoiceTtsStatusCode",
					EnumValue = 3,
				},
				{
					n = "MaxCharactersExceeded",
					t = "VoiceTtsStatusCode",
					EnumValue = 4,
				},
				{
					n = "UtteranceBelowMinimumDuration",
					t = "VoiceTtsStatusCode",
					EnumValue = 5,
				},
				{
					n = "InputTextEnqueued",
					t = "VoiceTtsStatusCode",
					EnumValue = 6,
				},
				{
					n = "SdkNotInitialized",
					t = "VoiceTtsStatusCode",
					EnumValue = 7,
				},
				{
					n = "DestinationQueueFull",
					t = "VoiceTtsStatusCode",
					EnumValue = 8,
				},
				{
					n = "EnqueueNotNecessary",
					t = "VoiceTtsStatusCode",
					EnumValue = 9,
				},
				{
					n = "UtteranceNotFound",
					t = "VoiceTtsStatusCode",
					EnumValue = 10,
				},
				{
					n = "ManagerNotFound",
					t = "VoiceTtsStatusCode",
					EnumValue = 11,
				},
				{
					n = "InvalidArgument",
					t = "VoiceTtsStatusCode",
					EnumValue = 12,
				},
				{
					n = "InternalError",
					t = "VoiceTtsStatusCode",
					EnumValue = 13,
				},
			},
			max = 13,
			min = 0,
			num = 14,
		},
		{
			n = "VoiceAudioDevice",
			k = "Structure",
			fields = {
				{
					n = "deviceID",
					t = "string",
					nilable = false,
				},
				{
					n = "displayName",
					t = "string",
					nilable = false,
				},
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
				{
					n = "isSystemDefault",
					t = "bool",
					nilable = false,
				},
				{
					n = "isCommsDefault",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "VoiceChatChannel",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "channelID",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "channelType",
					t = "ChatChannelType",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "clubId",
					t = "ClubId",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "streamId",
					t = "ClubStreamId",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "volume",
					t = "number",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "isActive",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "isMuted",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "isTransmitting",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "isTranscribing",
					t = "bool",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "members",
					t = "table",
					nilable = false,
					it = "VoiceChatMember",
				},
			},
		},
		{
			n = "VoiceChatMember",
			k = "Structure",
			fields = {
				{
					n = "energy",
					t = "number",
					nilable = false,
				},
				{
					n = "memberID",
					t = "number",
					nilable = false,
				},
				{
					n = "isActive",
					t = "bool",
					nilable = false,
				},
				{
					n = "isSpeaking",
					t = "bool",
					nilable = false,
				},
				{
					n = "isMutedForAll",
					t = "bool",
					nilable = false,
				},
				{
					n = "isSilenced",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "VoiceChatProcess",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "string",
					nilable = false,
				},
				{
					n = "channels",
					t = "table",
					nilable = false,
					it = "VoiceChatChannel",
				},
			},
		},
		{
			n = "VoiceTtsVoiceType",
			k = "Structure",
			fields = {
				{
					n = "voiceID",
					t = "number",
					nilable = false,
				},
				{
					n = "name",
					t = "string",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "WarCampaign",
	type = "System",
	ns = "C_CampaignInfo",
	env = "All",
	file = "WarCampaignDocumentation.lua",
	hash = "244caaf823239426728e09311e55d6d0bb189239c7f334a69087be41f1ed9feb",
	functions = {
		{
			n = "GetAvailableCampaigns",
			k = "Function",
			rets = {
				{
					n = "campaignIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetCampaignChapterInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "campaignChapterID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "campaignChapterInfo",
					t = "CampaignChapterInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCampaignID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "questID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "campaignID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetCampaignInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "campaignID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "campaignInfo",
					t = "CampaignInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetChapterIDs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "campaignID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "chapterIDs",
					t = "table",
					nilable = true,
					it = "number",
				},
			},
		},
		{
			n = "GetCurrentChapterID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "campaignID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "currentChapterID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetFailureReason",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "campaignID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "failureReason",
					t = "CampaignFailureReason",
					nilable = true,
				},
			},
		},
		{
			n = "GetState",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "campaignID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "state",
					t = "CampaignState",
					nilable = false,
				},
			},
		},
		{
			n = "IsCampaignQuest",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "questID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isCampaignQuest",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SortAsNormalQuest",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "campaignID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "sortAsNormalQuest",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	tables = {
		{
			n = "CampaignState",
			k = "Enumeration",
			fields = {
				{
					n = "Invalid",
					t = "CampaignState",
					EnumValue = 0,
				},
				{
					n = "Complete",
					t = "CampaignState",
					EnumValue = 1,
				},
				{
					n = "InProgress",
					t = "CampaignState",
					EnumValue = 2,
				},
				{
					n = "Stalled",
					t = "CampaignState",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "CampaignChapterInfo",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "description",
					t = "cstring",
					nilable = false,
				},
				{
					n = "rewardQuestID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CampaignFailureReason",
			k = "Structure",
			fields = {
				{
					n = "text",
					t = "string",
					nilable = false,
				},
				{
					n = "questID",
					t = "number",
					nilable = true,
				},
				{
					n = "mapID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "CampaignInfo",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "description",
					t = "cstring",
					nilable = false,
				},
				{
					n = "uiTextureKit",
					t = "textureKit",
					nilable = false,
				},
				{
					n = "isWarCampaign",
					t = "bool",
					nilable = false,
				},
				{
					n = "usesNormalQuestIcons",
					t = "bool",
					nilable = false,
				},
				{
					n = "isContainerCampaign",
					t = "bool",
					nilable = false,
				},
				{
					n = "sortAsNormalQuest",
					t = "bool",
					nilable = false,
				},
				{
					n = "hideFutureChapters",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "WarbandSceneInfoConstantsDocumentation.lua",
	hash = "4baa4df5808009a19cbe89b8173f6d1c8131c5d8bc5cf4409369bdd6b2dd5445",
	tables = {
		{
			n = "WarbandSceneFlags",
			k = "Enumeration",
			fields = {
				{
					n = "DoNotInclude",
					t = "WarbandSceneFlags",
					EnumValue = 1,
				},
				{
					n = "HiddenUntilCollected",
					t = "WarbandSceneFlags",
					EnumValue = 2,
				},
				{
					n = "CannotBeSaved",
					t = "WarbandSceneFlags",
					EnumValue = 4,
				},
				{
					n = "AwardedAutomatically",
					t = "WarbandSceneFlags",
					EnumValue = 8,
				},
				{
					n = "IsDefault",
					t = "WarbandSceneFlags",
					EnumValue = 16,
				},
			},
			max = 16,
			min = 1,
			num = 5,
		},
	},
}
systems[#systems + 1] = {
	name = "WarbandSceneInfo",
	type = "System",
	ns = "C_WarbandScene",
	env = "All",
	file = "WarbandSceneInfoDocumentation.lua",
	hash = "74ea090b1456c682e168ebb661860f2b3618d40f92919078a01a521ca53ffa3f",
	functions = {
		{
			n = "GetRandomEntryID",
			k = "Function",
			rets = {
				{
					n = "warbandSceneID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetWarbandSceneEntry",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "warbandSceneID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "warbandSceneEntry",
					t = "WarbandSceneEntry",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "HasWarbandScene",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "warbandSceneID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "owned",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsFavorite",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "warbandSceneID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "favorite",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SearchWarbandSceneEntries",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "searchParams",
					t = "WarbandSceneSearchInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "matchingEntryIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "SetFavorite",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "warbandSceneID",
					t = "number",
					nilable = false,
				},
				{
					n = "favorite",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "NewWarbandSceneAdded",
			k = "Event",
			payload = {
				{
					n = "warbandScenID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "NEW_WARBAND_SCENE_ADDED",
		},
		{
			n = "WarbandSceneFavoritesUpdated",
			k = "Event",
			SynchronousEvent = true,
			literal = "WARBAND_SCENE_FAVORITES_UPDATED",
		},
	},
	tables = {
		{
			n = "WarbandSceneEntry",
			k = "Structure",
			fields = {
				{
					n = "warbandSceneID",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "description",
					t = "cstring",
					nilable = false,
				},
				{
					n = "source",
					t = "cstring",
					nilable = false,
				},
				{
					n = "quality",
					t = "number",
					nilable = false,
				},
				{
					n = "textureKit",
					t = "textureKit",
					nilable = false,
				},
				{
					n = "isFavorite",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "hasFanfare",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "sourceType",
					t = "number",
					nilable = false,
					def = 0,
				},
			},
		},
		{
			n = "WarbandSceneSearchInfo",
			k = "Structure",
			fields = {
				{
					n = "ownedOnly",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "favoritesOnly",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "WeeklyRewards",
	type = "System",
	ns = "C_WeeklyRewards",
	env = "All",
	file = "WeeklyRewardsDocumentation.lua",
	hash = "76791b25cf25e548cb66baf83da688417c0b674634b875531ef283d87af682f8",
	functions = {
		{
			n = "AreRewardsForCurrentRewardPeriod",
			k = "Function",
			rets = {
				{
					n = "isCurrentPeriod",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CanClaimRewards",
			k = "Function",
			rets = {
				{
					n = "canClaimRewards",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ClaimReward",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "id",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CloseInteraction",
			k = "Function",
		},
		{
			n = "GetActivities",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "type",
					t = "WeeklyRewardChestThresholdType",
					nilable = true,
				},
			},
			rets = {
				{
					n = "activities",
					t = "table",
					nilable = false,
					it = "WeeklyRewardActivityInfo",
				},
			},
		},
		{
			n = "GetActivityEncounterInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "type",
					t = "WeeklyRewardChestThresholdType",
					nilable = false,
				},
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "table",
					nilable = false,
					it = "WeeklyRewardActivityEncounterInfo",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetConquestWeeklyProgress",
			k = "Function",
			rets = {
				{
					n = "weeklyProgress",
					t = "ConquestWeeklyProgress",
					nilable = false,
				},
			},
		},
		{
			n = "GetDifficultyIDForActivityTier",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "activityTierID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "difficultyID",
					t = "number",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetExampleRewardItemHyperlinks",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "id",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hyperlink",
					t = "string",
					nilable = false,
				},
				{
					n = "upgradeHyperlink",
					t = "string",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetItemHyperlink",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemDBID",
					t = "WeeklyRewardItemDBID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hyperlink",
					t = "cstring",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetNextActivitiesIncrease",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "activityTierID",
					t = "number",
					nilable = false,
				},
				{
					n = "level",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasSeasonData",
					t = "bool",
					nilable = false,
				},
				{
					n = "nextActivityTierID",
					t = "number",
					nilable = true,
				},
				{
					n = "nextLevel",
					t = "number",
					nilable = true,
				},
				{
					n = "itemLevel",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetNextMythicPlusIncrease",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "mythicPlusLevel",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "hasSeasonData",
					t = "bool",
					nilable = false,
				},
				{
					n = "nextMythicPlusLevel",
					t = "number",
					nilable = true,
				},
				{
					n = "itemLevel",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetNumCompletedDungeonRuns",
			k = "Function",
			rets = {
				{
					n = "numHeroic",
					t = "number",
					nilable = false,
				},
				{
					n = "numMythic",
					t = "number",
					nilable = false,
				},
				{
					n = "numMythicPlus",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetSortedProgressForActivity",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "type",
					t = "WeeklyRewardChestThresholdType",
					nilable = false,
				},
				{
					n = "combineSharedDifficulty",
					t = "bool",
					nilable = false,
				},
			},
			rets = {
				{
					n = "progress",
					t = "table",
					nilable = false,
					it = "WeeklyRewardActivityTierProgress",
				},
			},
		},
		{
			n = "HasAvailableRewards",
			k = "Function",
			rets = {
				{
					n = "hasAvailableRewards",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasGeneratedRewards",
			k = "Function",
			rets = {
				{
					n = "hasGeneratedRewards",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "HasInteraction",
			k = "Function",
			rets = {
				{
					n = "isInteracting",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsWeeklyChestRetired",
			k = "Function",
			rets = {
				{
					n = "isRetired",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "OnUIInteract",
			k = "Function",
		},
		{
			n = "ShouldShowFinalRetirementMessage",
			k = "Function",
			rets = {
				{
					n = "showRetirementMessage",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "ShouldShowRetirementMessage",
			k = "Function",
			rets = {
				{
					n = "showRetirementMessage",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "WeeklyRewardsItemChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "WEEKLY_REWARDS_ITEM_CHANGED",
		},
		{
			n = "WeeklyRewardsUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "WEEKLY_REWARDS_UPDATE",
		},
	},
	tables = {
		{
			n = "ConquestProgressBarDisplayType",
			k = "Enumeration",
			fields = {
				{
					n = "FirstChest",
					t = "ConquestProgressBarDisplayType",
					EnumValue = 0,
				},
				{
					n = "AdditionalChest",
					t = "ConquestProgressBarDisplayType",
					EnumValue = 1,
				},
				{
					n = "Seasonal",
					t = "ConquestProgressBarDisplayType",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "ConquestWeeklyProgress",
			k = "Structure",
			fields = {
				{
					n = "progress",
					t = "number",
					nilable = false,
				},
				{
					n = "maxProgress",
					t = "number",
					nilable = false,
				},
				{
					n = "displayType",
					t = "ConquestProgressBarDisplayType",
					nilable = false,
				},
				{
					n = "unlocksCompleted",
					t = "number",
					nilable = false,
				},
				{
					n = "maxUnlocks",
					t = "number",
					nilable = false,
				},
				{
					n = "sampleItemHyperlink",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "WeeklyRewardActivityEncounterInfo",
			k = "Structure",
			fields = {
				{
					n = "encounterID",
					t = "number",
					nilable = false,
				},
				{
					n = "bestDifficulty",
					t = "number",
					nilable = false,
				},
				{
					n = "uiOrder",
					t = "number",
					nilable = false,
				},
				{
					n = "instanceID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "WeeklyRewardActivityInfo",
			k = "Structure",
			fields = {
				{
					n = "type",
					t = "WeeklyRewardChestThresholdType",
					nilable = false,
				},
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "threshold",
					t = "number",
					nilable = false,
				},
				{
					n = "progress",
					t = "number",
					nilable = false,
				},
				{
					n = "id",
					t = "number",
					nilable = false,
				},
				{
					n = "activityTierID",
					t = "number",
					nilable = false,
				},
				{
					n = "level",
					t = "number",
					nilable = false,
				},
				{
					n = "claimID",
					t = "number",
					nilable = true,
				},
				{
					n = "raidString",
					t = "cstring",
					nilable = true,
				},
				{
					n = "rewards",
					t = "table",
					nilable = false,
					it = "WeeklyRewardActivityRewardInfo",
				},
			},
		},
		{
			n = "WeeklyRewardActivityRewardInfo",
			k = "Structure",
			fields = {
				{
					n = "type",
					t = "CachedRewardType",
					nilable = false,
				},
				{
					n = "id",
					t = "number",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
				{
					n = "itemDBID",
					t = "WeeklyRewardItemDBID",
					nilable = true,
				},
			},
		},
		{
			n = "WeeklyRewardActivityTierProgress",
			k = "Structure",
			fields = {
				{
					n = "activityTierID",
					t = "number",
					nilable = false,
				},
				{
					n = "difficulty",
					t = "number",
					nilable = false,
				},
				{
					n = "numPoints",
					t = "number",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "WeeklyRewardsSharedDocumentation.lua",
	hash = "f027c251ecfae23f7ee636467b74fb02242e51c5fc7dc4e0b7bbfc0f9566fb44",
}
