// this script was compiled with wurst 1.8.1.0-jenkins-Wurst-1367
globals
// originframetype ORIGIN_FRAME_GAME_UI=null
// integer bj_MAX_PLAYER_SLOTS=0
integer array ClosureForGroups_tempCallbacks
integer ClosureForGroups_iterCount=0
string array Colors_hexs
integer Colors_decs=0
hashtable ErrorHandling_HT=null
framehandle Framehandle_GAME_UI=null
real GameTimer_currentTime=0.
boolean MagicFunctions_compiletime=false
player Player_localPlayer=null
hashtable Table_ht=null
integer TypeCasting_typecastdata=0
hashtable hashtable_compiletime=null
hashtable hashtable_compiletime_28=null
integer array ForGroupCallback_typeId
integer array Table_nextFree
integer Table_firstFree=0
integer Table_maxIndex=0
integer array Table_typeId
integer Comparator_firstFree=0
integer Comparator_maxIndex=0
integer array LLEntry_nextFree
integer LLEntry_firstFree=0
integer LLEntry_maxIndex=0
integer array LinkedList_typeId
integer array result
integer array LLEntry_prev
integer array LinkedList_dummy
integer array LinkedList_size
integer wurst_stack_depth=0
string array wurst_stack
code ref_function_init_AbilityIds=null
code ref_function_init_Real=null
code ref_function_init_Integer=null
code ref_function_init_Angle=null
code ref_function_init_String=null
code ref_function_init_Vectors=null
code ref_function_init_Destructable=null
code ref_function_init_Player=null
code ref_function_init_Basics=null
code ref_function_init_Maths=null
code ref_function_init_Printing=null
code ref_function_init_MagicFunctions=null
code ref_function_init_GameTimer=null
code ref_function_init_ErrorHandling=null
code ref_function_init_Matrices=null
code ref_function_init_Quaternion=null
code ref_function_init_Table=null
code ref_function_init_Playercolor=null
code ref_function_bridge_init_Colors=null
code ref_function_bridge_init_Framehandle=null
code ref_function_init_Group=null
code ref_function_init_Lightning=null
code ref_function_init_WeatherEffects=null
code ref_function_bridge_init_TypeCasting=null
code ref_function_init_HashList=null
code ref_function_bridge_init_EventHelper=null
code ref_function_init_ClosureForGroups=null
code ref_function_bridge_init_LinkedList=null
code ref_function_bridge_code__Filter_ClosureForGroups=null
code ref_function_code__startPeriodic_GameTimer=null
endglobals
function Loglevel_getTag takes integer this returns string
	if this == 0 then
		return "|cffADADADtrace|r"
	elseif this == 1 then
		return "|cff2685DCdebug|r"
	elseif this == 2 then
		return "|cffFFCC00info|r"
	elseif this == 3 then
		return "|cffF47E3Ewarning|r"
	else
		return "|cffFB2700error|r"
	endif
endfunction

function compileError takes string msg returns nothing
endfunction

function error takes string msg, string w__wurst_stackPos returns nothing
	local integer hash
	local integer stacktraceIndex
	local integer stacktraceLimit
	local player showTo
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	if MagicFunctions_compiletime then
		call compileError("ERROR: " + msg)
	else
		set hash = StringHash(msg)
		if HaveSavedInteger(ErrorHandling_HT, -1, hash) then
			if LoadInteger(ErrorHandling_HT, -1, hash) + 60 < GameTimer_currentTime then
				set w__wurst_stackPos = msg
				set msg = ""
				set stacktraceIndex = wurst_stack_depth
				set stacktraceLimit = 0
				loop
					set stacktraceIndex = stacktraceIndex - 1
					set stacktraceLimit = stacktraceLimit + 1
					exitwhen stacktraceLimit > 20 or stacktraceIndex < 0
					set msg = msg + "\n   " + wurst_stack[stacktraceIndex]
				endloop
				set msg = w__wurst_stackPos + msg
				set showTo = Player_localPlayer
				if 2 <= 4 then
					call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + msg)
				endif
				call SaveInteger(ErrorHandling_HT, -1, hash, R2I(GameTimer_currentTime))
				call SaveBoolean(ErrorHandling_HT, -1, hash, false)
			elseif HaveSavedBoolean(ErrorHandling_HT, -1, hash) then
				if  not LoadBoolean(ErrorHandling_HT, -1, hash) then
					set showTo = Player_localPlayer
					if 2 <= 4 then
						call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + "|cffFF3A29Excessive repeating errors are being omitted")
					endif
					call SaveBoolean(ErrorHandling_HT, -1, hash, true)
				endif
			else
				set showTo = Player_localPlayer
				if 2 <= 4 then
					call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + "|cffFF3A29Excessive repeating errors are being omitted")
				endif
				call SaveBoolean(ErrorHandling_HT, -1, hash, true)
			endif
		else
			call SaveInteger(ErrorHandling_HT, -1, hash, R2I(GameTimer_currentTime))
			set msg = "Message: " + msg
			set w__wurst_stackPos = ""
			set stacktraceIndex = wurst_stack_depth
			set hash = 0
			loop
				set stacktraceIndex = stacktraceIndex - 1
				set hash = hash + 1
				exitwhen hash > 20 or stacktraceIndex < 0
				set w__wurst_stackPos = w__wurst_stackPos + "\n   " + wurst_stack[stacktraceIndex]
			endloop
			set msg = msg + w__wurst_stackPos
			set showTo = Player_localPlayer
			if 2 <= 4 then
				call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + msg)
			endif
		endif
		call I2S(1 / 0)
	endif
	set wurst_stack_depth = wurst_stack_depth - 1
endfunction

function initCompiletimeState_0 takes nothing returns nothing
	set hashtable_compiletime_28 = InitHashtable()
	set hashtable_compiletime = InitHashtable()
	call InitHashtable()
	call InitHashtable()
	call SaveInteger(hashtable_compiletime_28, 1, -242600650, 0)
	call SaveInteger(hashtable_compiletime_28, 1, 1132341824, 1)
	call SaveInteger(hashtable_compiletime_28, 1, -647782241, 2)
	call SaveInteger(hashtable_compiletime_28, 1, -854572045, 3)
	call SaveInteger(hashtable_compiletime_28, 1, -680649701, 4)
	call SaveInteger(hashtable_compiletime_28, 1, -943650483, 5)
	call SaveInteger(hashtable_compiletime_28, 1, -671760605, 6)
	call SaveInteger(hashtable_compiletime_28, 1, 349230650, 7)
	call SaveInteger(hashtable_compiletime_28, 1, -1894922563, 8)
	call SaveInteger(hashtable_compiletime_28, 1, -1474492777, 9)
	call SaveInteger(hashtable_compiletime_28, 1, -1587459251, 10)
	call SaveInteger(hashtable_compiletime_28, 1, -1676716706, 11)
	call SaveInteger(hashtable_compiletime_28, 1, -1559655710, 12)
	call SaveInteger(hashtable_compiletime_28, 1, -1663695754, 13)
	call SaveInteger(hashtable_compiletime_28, 1, 597637742, 14)
	call SaveInteger(hashtable_compiletime_28, 1, 789744696, 15)
	call SaveStr(hashtable_compiletime_28, 2, 0, "")
endfunction

function new_LLEntry takes integer elem, integer prev, integer next, string w__wurst_stackPos returns integer
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	set wurst_stack[wurst_stack_depth] = "when calling alloc_LLEntry in LinkedList, line 434"
	set wurst_stack_depth = wurst_stack_depth + 1
	if LLEntry_firstFree == 0 then
		if LLEntry_maxIndex < 32768 then
			set LLEntry_maxIndex = LLEntry_maxIndex + 1
			set next = LLEntry_maxIndex
		else
			call error("Out of memory: Could not create LLEntry.", "when calling error in LinkedList, line 429")
			set next = 0
		endif
	else
		set LLEntry_firstFree = LLEntry_firstFree - 1
		set next = LLEntry_nextFree[LLEntry_firstFree]
	endif
	set wurst_stack_depth = wurst_stack_depth - 1
	set LLEntry_prev[next] = prev
	set wurst_stack_depth = wurst_stack_depth - 1
	return next
endfunction

function dispatch_LinkedList_LinkedList_LinkedList_add_1 takes integer this, integer elems_0, string w__wurst_stackPos returns nothing
	local integer entry
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	if LinkedList_typeId[this] == 0 then
		if this == 0 then
			call error("Nullpointer exception when calling LinkedList.add", "when calling error in LinkedList, line 38")
		else
			call error("Called LinkedList.add on invalid object.", "when calling error in LinkedList, line 38")
		endif
	endif
	set wurst_stack[wurst_stack_depth] = "when calling add in LinkedList, line 38"
	set wurst_stack_depth = wurst_stack_depth + 1
	set entry = new_LLEntry(elems_0, LLEntry_prev[LinkedList_dummy[this]], LinkedList_dummy[this], "when calling new_LLEntry in LinkedList, line 40")
	set LLEntry_prev[LinkedList_dummy[this]] = entry
	set LinkedList_size[this] = LinkedList_size[this] + 1
	set wurst_stack_depth = wurst_stack_depth - 1 - 1
endfunction

function filterCallback takes unit filter, string w__wurst_stackPos returns nothing
	local integer this
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	if ClosureForGroups_iterCount < 2147483647 then
		set this = ClosureForGroups_tempCallbacks[-1]
		set wurst_stack[wurst_stack_depth] = "when calling callback in ClosureForGroups, line 18"
		set wurst_stack_depth = wurst_stack_depth + 1
		if ForGroupCallback_typeId[this] == 0 then
			if this == 0 then
				call error("Nullpointer exception when calling ForGroupCallback.callback", "when calling error in ClosureForGroups, line 4")
			else
				call error("Called ForGroupCallback.callback on invalid object.", "when calling error in ClosureForGroups, line 4")
			endif
		endif
		set wurst_stack[wurst_stack_depth] = "when calling callback_forEachFrom_LinkedList in ClosureForGroups, line 4"
		set wurst_stack_depth = wurst_stack_depth + 1
		call dispatch_LinkedList_LinkedList_LinkedList_add_1(result[this], GetHandleId(filter), "when calling add in LinkedList, line 574")
		set wurst_stack_depth = wurst_stack_depth - 1 - 1
	endif
	set ClosureForGroups_iterCount = ClosureForGroups_iterCount + 1
	set wurst_stack_depth = wurst_stack_depth - 1
endfunction

function bridge_code__Filter_ClosureForGroups takes nothing returns nothing
	set wurst_stack_depth = 0
	set wurst_stack[wurst_stack_depth] = "via function reference ClosureForGroups, line 14"
	set wurst_stack_depth = wurst_stack_depth + 1
	call filterCallback(GetFilterUnit(), "when calling filterCallback in ClosureForGroups, line 14")
	set wurst_stack_depth = wurst_stack_depth - 1
endfunction

function initializeTable takes string w__wurst_stackPos returns nothing
	local integer i
	local integer this
	local integer parentKey
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	set i = 0
	loop
		exitwhen i > 15
		set this = Colors_decs
		set parentKey = StringHash(Colors_hexs[i])
		set wurst_stack[wurst_stack_depth] = "when calling saveInt in Colors, line 299"
		set wurst_stack_depth = wurst_stack_depth + 1
		if Table_typeId[this] == 0 then
			if this == 0 then
				call error("Nullpointer exception when calling Table.saveInt", "when calling error in Table, line 43")
			else
				call error("Called Table.saveInt on invalid object.", "when calling error in Table, line 43")
			endif
		endif
		call SaveInteger(Table_ht, this, parentKey, i)
		set wurst_stack_depth = wurst_stack_depth - 1
		set i = i + 1
	endloop
	set wurst_stack_depth = wurst_stack_depth - 1
endfunction

function new_Table takes string w__wurst_stackPos returns integer
	local integer this
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	set wurst_stack[wurst_stack_depth] = "when calling alloc_Table in Table, line 6"
	set wurst_stack_depth = wurst_stack_depth + 1
	if Table_firstFree == 0 then
		if Table_maxIndex < 32768 then
			set Table_maxIndex = Table_maxIndex + 1
			set this = Table_maxIndex
			set Table_typeId[this] = 32
		else
			call error("Out of memory: Could not create Table.", "when calling error in Table, line 7")
			set this = 0
		endif
	else
		set Table_firstFree = Table_firstFree - 1
		set this = Table_nextFree[Table_firstFree]
		set Table_typeId[this] = 32
	endif
	set wurst_stack_depth = wurst_stack_depth - 1 - 1
	return this
endfunction

function init_Colors takes string w__wurst_stackPos returns boolean
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	set Colors_hexs[0] = "0"
	set Colors_hexs[1] = "1"
	set Colors_hexs[2] = "2"
	set Colors_hexs[3] = "3"
	set Colors_hexs[4] = "4"
	set Colors_hexs[5] = "5"
	set Colors_hexs[6] = "6"
	set Colors_hexs[7] = "7"
	set Colors_hexs[8] = "8"
	set Colors_hexs[9] = "9"
	set Colors_hexs[10] = "A"
	set Colors_hexs[11] = "B"
	set Colors_hexs[12] = "C"
	set Colors_hexs[13] = "D"
	set Colors_hexs[14] = "E"
	set Colors_hexs[15] = "F"
	set Colors_decs = new_Table("when calling new_Table in Colors, line 15")
	call initializeTable("when calling initializeTable in Colors, line 302")
	set wurst_stack_depth = wurst_stack_depth - 1
	return true
endfunction

function bridge_init_Colors takes nothing returns boolean
	set wurst_stack_depth = 0
	return init_Colors("via function reference Colors, line 1")
endfunction

function new_HashMap takes string w__wurst_stackPos returns integer
	local integer this
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	set wurst_stack[wurst_stack_depth] = "when calling alloc_HashMap in HashMap, line 7"
	set wurst_stack_depth = wurst_stack_depth + 1
	if Table_firstFree == 0 then
		if Table_maxIndex < 32768 then
			set Table_maxIndex = Table_maxIndex + 1
			set this = Table_maxIndex
			set Table_typeId[this] = 33
		else
			call error("Out of memory: Could not create HashMap.", "when calling error in HashMap, line 8")
			set this = 0
		endif
	else
		set Table_firstFree = Table_firstFree - 1
		set this = Table_nextFree[Table_firstFree]
		set Table_typeId[this] = 33
	endif
	set wurst_stack_depth = wurst_stack_depth - 1 - 1
	return this
endfunction

function bridge_init_EventHelper takes nothing returns boolean
	set wurst_stack_depth = 0
	set wurst_stack[wurst_stack_depth] = "via function reference EventHelper, line 1"
	set wurst_stack_depth = wurst_stack_depth + 1
	call new_HashMap("when calling new_HashMap in EventHelper, line 7")
	call new_HashMap("when calling new_HashMap in EventHelper, line 8")
	call new_Table("when calling new_Table in EventHelper, line 9")
	set wurst_stack_depth = wurst_stack_depth - 1
	return true
endfunction

function verifyFrameNameLength takes string name, string w__wurst_stackPos returns boolean
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	if StringLength(name) > 560 then
		call error("Trying to address frame with exceeding maximum frame name length (" + I2S(560) + ") for: " + name, "when calling error in Framehandle, line 78")
		set wurst_stack_depth = wurst_stack_depth - 1
		return false
	endif
	set wurst_stack_depth = wurst_stack_depth - 1
	return true
endfunction

function init_Framehandle takes string w__wurst_stackPos returns boolean
	local framehandle owner
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	set Framehandle_GAME_UI = BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0)
	set owner = Framehandle_GAME_UI
	set wurst_stack[wurst_stack_depth] = "when calling createFrame in Framehandle, line 491"
	set wurst_stack_depth = wurst_stack_depth + 1
	call verifyFrameNameLength("SetMousePositionCage", "when calling verifyFrameNameLength in Framehandle, line 144")
	set owner = BlzCreateFrameByType("FRAME", "SetMousePositionCage", owner, null, 0)
	set wurst_stack_depth = wurst_stack_depth - 1
	call BlzFrameSetSize(owner, 0.0001, 0.0001)
	set wurst_stack_depth = wurst_stack_depth - 1
	return true
endfunction

function bridge_init_Framehandle takes nothing returns boolean
	set wurst_stack_depth = 0
	return init_Framehandle("via function reference Framehandle, line 1")
endfunction

function init_LinkedList takes string w__wurst_stackPos returns boolean
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	set wurst_stack[wurst_stack_depth] = "when calling alloc_Comparator_LinkedList in LinkedList, line 563"
	set wurst_stack_depth = wurst_stack_depth + 1
	if Comparator_firstFree == 0 then
		if Comparator_maxIndex < 32768 then
			set Comparator_maxIndex = Comparator_maxIndex + 1
		else
			call error("Out of memory: Could not create Comparator_LinkedList.", "when calling error in LinkedList, line 563")
		endif
	else
		set Comparator_firstFree = Comparator_firstFree - 1
	endif
	set wurst_stack_depth = wurst_stack_depth - 1
	set wurst_stack[wurst_stack_depth] = "when calling alloc_Comparator_LinkedList in LinkedList, line 567"
	set wurst_stack_depth = wurst_stack_depth + 1
	if Comparator_firstFree == 0 then
		if Comparator_maxIndex < 32768 then
			set Comparator_maxIndex = Comparator_maxIndex + 1
		else
			call error("Out of memory: Could not create Comparator_LinkedList.", "when calling error in LinkedList, line 567")
		endif
	else
		set Comparator_firstFree = Comparator_firstFree - 1
	endif
	set wurst_stack_depth = wurst_stack_depth - 1 - 1
	return true
endfunction

function bridge_init_LinkedList takes nothing returns boolean
	set wurst_stack_depth = 0
	return init_LinkedList("via function reference LinkedList, line 1")
endfunction

function init_TypeCasting takes string w__wurst_stackPos returns boolean
	local integer this
	set wurst_stack[wurst_stack_depth] = w__wurst_stackPos
	set wurst_stack_depth = wurst_stack_depth + 1
	set TypeCasting_typecastdata = new_Table("when calling new_Table in TypeCasting, line 7")
	set wurst_stack[wurst_stack_depth] = "when calling initTypecastData in TypeCasting, line 15"
	set wurst_stack_depth = wurst_stack_depth + 1
	set this = TypeCasting_typecastdata
	set wurst_stack[wurst_stack_depth] = "when calling saveString in TypeCasting, line 12"
	set wurst_stack_depth = wurst_stack_depth + 1
	if Table_typeId[this] == 0 then
		if this == 0 then
			call error("Nullpointer exception when calling Table.saveString", "when calling error in Table, line 61")
		else
			call error("Called Table.saveString on invalid object.", "when calling error in Table, line 61")
		endif
	endif
	call SaveStr(Table_ht, this, 0, "")
	set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1
	return true
endfunction

function bridge_init_TypeCasting takes nothing returns boolean
	set wurst_stack_depth = 0
	return init_TypeCasting("via function reference TypeCasting, line 1")
endfunction

function code__startPeriodic_GameTimer takes nothing returns nothing
	set GameTimer_currentTime = GameTimer_currentTime + 0.030
endfunction

function init_AbilityIds takes nothing returns boolean
	return true
endfunction

function init_Angle takes nothing returns boolean
	return true
endfunction

function init_Basics takes nothing returns boolean
	return true
endfunction

function init_ClosureForGroups takes nothing returns boolean
	call CreateGroup()
	call Filter(ref_function_bridge_code__Filter_ClosureForGroups)
	call Rect(0., 0., 0., 0.)
	return true
endfunction

function init_Destructable takes nothing returns boolean
	return true
endfunction

function init_ErrorHandling takes nothing returns boolean
	set ErrorHandling_HT = hashtable_compiletime
	return true
endfunction

function init_GameTimer takes nothing returns boolean
	call TimerStart(CreateTimer(), 100000., false, null)
	call TimerStart(CreateTimer(), 0.030, true, ref_function_code__startPeriodic_GameTimer)
	return true
endfunction

function init_Group takes nothing returns boolean
	call CreateGroup()
	return true
endfunction

function init_HashList takes nothing returns boolean
	return true
endfunction

function init_Integer takes nothing returns boolean
	return true
endfunction

function init_Lightning takes nothing returns boolean
	return true
endfunction

function init_MagicFunctions takes nothing returns boolean
	set MagicFunctions_compiletime = false
	return true
endfunction

function init_Maths takes nothing returns boolean
	return true
endfunction

function init_Matrices takes nothing returns boolean
	return true
endfunction

function init_Player takes nothing returns boolean
	local integer i
	local integer temp
	set Player_localPlayer = GetLocalPlayer()
	set i = 0
	set temp = bj_MAX_PLAYER_SLOTS - 1
	loop
		exitwhen i > temp
		set i = i + 1
	endloop
	return true
endfunction

function init_Playercolor takes nothing returns boolean
	return true
endfunction

function init_Printing takes nothing returns boolean
	return true
endfunction

function init_Quaternion takes nothing returns boolean
	return true
endfunction

function init_Real takes nothing returns boolean
	return true
endfunction

function init_String takes nothing returns boolean
	return true
endfunction

function init_Table takes nothing returns boolean
	set Table_ht = hashtable_compiletime_28
	return true
endfunction

function init_Vectors takes nothing returns boolean
	call Location(0., 0.)
	return true
endfunction

function init_WeatherEffects takes nothing returns boolean
	return true
endfunction

function initGlobals takes nothing returns nothing
	set ref_function_init_AbilityIds = function init_AbilityIds
	set ref_function_init_Real = function init_Real
	set ref_function_init_Integer = function init_Integer
	set ref_function_init_Angle = function init_Angle
	set ref_function_init_String = function init_String
	set ref_function_init_Vectors = function init_Vectors
	set ref_function_init_Destructable = function init_Destructable
	set ref_function_init_Player = function init_Player
	set ref_function_init_Basics = function init_Basics
	set ref_function_init_Maths = function init_Maths
	set ref_function_init_Printing = function init_Printing
	set ref_function_init_MagicFunctions = function init_MagicFunctions
	set ref_function_init_GameTimer = function init_GameTimer
	set ref_function_init_ErrorHandling = function init_ErrorHandling
	set ref_function_init_Matrices = function init_Matrices
	set ref_function_init_Quaternion = function init_Quaternion
	set ref_function_init_Table = function init_Table
	set ref_function_init_Playercolor = function init_Playercolor
	set ref_function_bridge_init_Colors = function bridge_init_Colors
	set ref_function_bridge_init_Framehandle = function bridge_init_Framehandle
	set ref_function_init_Group = function init_Group
	set ref_function_init_Lightning = function init_Lightning
	set ref_function_init_WeatherEffects = function init_WeatherEffects
	set ref_function_bridge_init_TypeCasting = function bridge_init_TypeCasting
	set ref_function_init_HashList = function init_HashList
	set ref_function_bridge_init_EventHelper = function bridge_init_EventHelper
	set ref_function_init_ClosureForGroups = function init_ClosureForGroups
	set ref_function_bridge_init_LinkedList = function bridge_init_LinkedList
	set ref_function_bridge_code__Filter_ClosureForGroups = function bridge_code__Filter_ClosureForGroups
	set ref_function_code__startPeriodic_GameTimer = function code__startPeriodic_GameTimer
endfunction

function main takes nothing returns nothing
	local trigger initTrig
	call initGlobals()
	call ExecuteFunc("initCompiletimeState_0")
	set initTrig = CreateTrigger()
	call TriggerAddCondition(initTrig, Condition(ref_function_init_AbilityIds))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package AbilityIds.", "when calling error in AbilityIds, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Real))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Real.", "when calling error in Real, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Integer))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Integer.", "when calling error in Integer, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Angle))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Angle.", "when calling error in Angle, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_String))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package String.", "when calling error in String, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Vectors))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Vectors.", "when calling error in Vectors, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Destructable))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Destructable.", "when calling error in Destructable, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Player))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Player.", "when calling error in Player, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Basics))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Basics.", "when calling error in Basics, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Maths))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Maths.", "when calling error in Maths, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Printing))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Printing.", "when calling error in Printing, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_MagicFunctions))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package MagicFunctions.", "when calling error in MagicFunctions, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_GameTimer))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package GameTimer.", "when calling error in GameTimer, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_ErrorHandling))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package ErrorHandling.", "when calling error in ErrorHandling, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Matrices))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Matrices.", "when calling error in Matrices, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Quaternion))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Quaternion.", "when calling error in Quaternion, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Table))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Table.", "when calling error in Table, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Playercolor))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Playercolor.", "when calling error in Playercolor, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_Colors))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Colors.", "when calling error in Colors, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_Framehandle))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Framehandle.", "when calling error in Framehandle, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Group))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Group.", "when calling error in Group, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Lightning))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Lightning.", "when calling error in Lightning, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_WeatherEffects))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package WeatherEffects.", "when calling error in WeatherEffects, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_TypeCasting))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package TypeCasting.", "when calling error in TypeCasting, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_HashList))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package HashList.", "when calling error in HashList, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_EventHelper))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package EventHelper.", "when calling error in EventHelper, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_ClosureForGroups))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package ClosureForGroups.", "when calling error in ClosureForGroups, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_LinkedList))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package LinkedList.", "when calling error in LinkedList, line 1")
	endif
	call TriggerClearConditions(initTrig)
	call DestroyTrigger(initTrig)
endfunction

function config takes nothing returns nothing
endfunction