// LL & Redux

this.get_class = function(crc)
{
	var classname = hash_table_classes[crc];
	if(!classname)
	{		
		print("unknown class found, crc ", crc);
		return "";
	}
	else
		return classname;
}

this.get_static_data_key = function(crc)
{
	var static_data_key = hash_table_static_data_keys[crc];
	if(!static_data_key)
	{
		print("unknown static data key found, crc ", crc);
		return "";
	}
	else
		return static_data_key;
}

var classes = [
	"AMEBA",
	"AMMO",
	"ANIMSCRIPT",
	"ANIM_OBJECT",
	"ANOMALY",
	"AQUA_FEMALE",
	"AQUA_MALE_BIG",
	"AQUA_MALE_SMALL",
	"ARAHIND",
	"BIG_MOTHER",
	"BIOMASS_LARGE",
	"BREAKABLE_ADVANCED",
	"BREAKABLE_ICE",
	"BROADENED_LIAN",
	"BUSH",
	"BUSH_ZONE",
	"CAM_TRACK",
	"CHARGER",
	"CLAYMORE_ZONE",
	"DARK",
	"DARKCHILD",
	"DEVICE",
	"DREZINA_HAND",
	"DREZINA_MOTO",
	"DUMMY_NPC",
	"EFFECT",
	"EFFECTM",
	"FILTER",
	"FLOWER",
	"FORCE_FIELD",
	"GASMASK",
	"GATEWAY",
	"GRIZLY",
	"G_LEVEL",
	"G_PERSIS",
	"HANDS_FOR_DREZINA",
	"HARPY",
	"HEAP",
	"HEAP_ZONE",
	"HELSING_ARROW",
	"HUD_MNGR",
	"HUMAN",
	"KID",
	"KULEMET",
	"LADDER",
	"LIAN",
	"LIBRARIAN",
	"LIGHTER",
	"LURKER",
	"MEDKIT",
	"MONSTER",
	"NIGHTVISION",
	"NOSACH",
	"NOSALIS",
	"NOSALIS_FEMALE",
	"NPC",
	"NPC_FX",
	"O_AIPOINT",
	"O_ANIM_ENTITY",
	"O_BASEZONE",
	"O_BRKBL",
	"O_DUMMY",
	"O_ENTITY",
	"O_EXPLOSION",
	"O_INTEREST",
	"O_PHYSICS",
	"O_WATERZONE",
	"PARTICLES",
	"PATROL_POINT",
	"PLAYER",
	"PLAYERS_HANDS",
	"PLAYERS_KNIFE",
	"PLAYER_MAP",
	"PLAYER_TIMER",
	"PLAYER_TIMER_2033",
	"PROXY",
	"RAGDOLL",
	"RAT",
	"SHIELD",
	"SIMPLE",
	"SIMPLE_MONSTER",
	"SIMPLE_NPC",
	"SOFT_ENTITY",
	"SOFT_ENTITY_INST",
	"STATICPROP",
	"STATICPROP_BREAKABLE",
	"STATION_STAND",
	"STRETCHY_HAND",
	"STRETCHY_HANDLEFT",
	"STRETCHY_MAN",
	"TORCH",
	"VISUALSCRIPT",
	"VISUALSCRIPT_REF",
	"WATCHMAN",
	"WEAPON",
	"WEAPON_2012",
	"WEAPON_ABZAC",
	"WEAPON_AK74",
	"WEAPON_AK74_TEST",
	"WEAPON_AKSU",
	"WEAPON_AK_74",
	"WEAPON_ASHOT",
	"WEAPON_BIGUN",
	"WEAPON_C4_DYNAMITE",
	"WEAPON_CLAYMORE",
	"WEAPON_DAGGER",
	"WEAPON_DSHK",
	"WEAPON_DUPLET",
	"WEAPON_DUPLET_2B",
	"WEAPON_DUPLET_3B",
	"WEAPON_DUPLET_4B",
	"WEAPON_DYNAMITE",
	"WEAPON_FAKE",
	"WEAPON_FLAME",
	"WEAPON_FLAMETHROWER",
	"WEAPON_FLAME_DYNAMITE",
	"WEAPON_GATLING",
	"WEAPON_HELLBREATH",
	"WEAPON_HELLBREATH_SHOCK",
	"WEAPON_HELSING",
	"WEAPON_ITEM",
	"WEAPON_ITEM_LASER",
	"WEAPON_ITEM_NOOBEGUN",
	"WEAPON_ITEM_NOOBETUBE",
	"WEAPON_KNIVES",
	"WEAPON_LAUNCHER",
	"WEAPON_LAUNCHER_TIME",
	"WEAPON_MACHETA",
	"WEAPON_MAG",
	"WEAPON_MEDVED",
	"WEAPON_NOOB_LAUNCHER",
	"WEAPON_NOOB_SHOTGUN",
	"WEAPON_PADONAG",
	"WEAPON_PREVED",
	"WEAPON_REVOLVER",
	"WEAPON_RPK",
	"WEAPON_SAIGA",
	"WEAPON_SHOTGUN",
	"WEAPON_STICKY_DYNAMITE",
	"WEAPON_TIHAR",
	"WEAPON_TUMAK",
	"WEAPON_UBLUDOK",
	"WEAPON_UBOYNICHEG",
	"WEAPON_VENTIL",
	"WEAPON_VSV",
	"WEAPON_VYHLOP",
	"WEB",
	"WEB_ZONE",
	"WOMAN",
	"WOMAN_STRIP",
	"af_demon_prey",
	"coroners",
	"headquarter",
	"o_hlamp",
	"s_actor",
	"siege_bomb"
];

var static_data_keys = [
	"_G.config.entity.ai_point",
	"_G.config.entity.ameba",
	"_G.config.entity.ammo_044_ap",
	"_G.config.entity.ammo_044_fmj",
	"_G.config.entity.ammo_12x70mm",
	"_G.config.entity.ammo_12x70mm_fire",
	"_G.config.entity.ammo_12x70mm_flamethrower",
	"_G.config.entity.ammo_12x70mm_macheta",
	"_G.config.entity.ammo_12x70mm_macheta_alt",
	"_G.config.entity.ammo_12x70mm_macheta_fast",
	"_G.config.entity.ammo_15mm",
	"_G.config.entity.ammo_545x39_fmj",
	"_G.config.entity.ammo_545x39_fmj_unlim",
	"_G.config.entity.ammo_762x39_fmj",
	"_G.config.entity.ammo_762x39_mg",
	"_G.config.entity.ammo_762x39_mg_light",
	"_G.config.entity.ammo_762x39_mg_nopierce",
	"_G.config.entity.ammo_ameba_unlim",
	"_G.config.entity.ammo_claymore",
	"_G.config.entity.ammo_dshk",
	"_G.config.entity.ammo_dshk_light",
	"_G.config.entity.ammo_dshk_light_notrace",
	"_G.config.entity.ammo_fatality",
	"_G.config.entity.ammo_flame_fmj",
	"_G.config.entity.ammo_money",
	"_G.config.entity.aqua_female",
	"_G.config.entity.aqua_male_big",
	"_G.config.entity.aqua_male_small",
	"_G.config.entity.arahind",
	"_G.config.entity.big_mother",
	"_G.config.entity.biomass_large",
	"_G.config.entity.breakable_ice",
	"_G.config.entity.bush",
	"_G.config.entity.charger",
	"_G.config.entity.dark",
	"_G.config.entity.darkchild",
	"_G.config.entity.drezina_hand",
	"_G.config.entity.drezina_moto",
	"_G.config.entity.effect",
	"_G.config.entity.effectm",
	"_G.config.entity.entity",
	"_G.config.entity.explosion",
	"_G.config.entity.filter",
	"_G.config.entity.flame_thrower",
	"_G.config.entity.flower",
	"_G.config.entity.force_field",
	"_G.config.entity.gasmask",
	"_G.config.entity.grizly",
	"_G.config.entity.hands_for_drezina",
	"_G.config.entity.hanging_lamp",
	"_G.config.entity.harpy",
	"_G.config.entity.heap_2",
	"_G.config.entity.interest",
	"_G.config.entity.kid",
	"_G.config.entity.kulemet",
	"_G.config.entity.kulemet_bashnya",
	"_G.config.entity.kulemet_bashnya_nopierce",
	"_G.config.entity.kulemet_light",
	"_G.config.entity.kulemet_light_bench",
	"_G.config.entity.kulemet_nopierce",
	"_G.config.entity.ladder",
	"_G.config.entity.lian",
	"_G.config.entity.librarian",
	"_G.config.entity.lighter",
	"_G.config.entity.lurker",
	"_G.config.entity.medkit",
	"_G.config.entity.monster",
	"_G.config.entity.nightvision",
	"_G.config.entity.nosalis",
	"_G.config.entity.nosalis_female",
	"_G.config.entity.npc_enemy_fx",
	"_G.config.entity.npc_friend_fx",
	"_G.config.entity.patrol_point",
	"_G.config.entity.player",
	"_G.config.entity.player_map",
	"_G.config.entity.player_timer_2033_entity",
	"_G.config.entity.player_timer_entity",
	"_G.config.entity.players_hands",
	"_G.config.entity.players_knife",
	"_G.config.entity.proxy",
	"_G.config.entity.rat",
	"_G.config.entity.reflected_light",
	"_G.config.entity.restrictor",
	"_G.config.entity.siege_bomb",
	"_G.config.entity.simple_anomaly",
	"_G.config.entity.soft_entity",
	"_G.config.entity.static",
	"_G.config.entity.static_breakable",
	"_G.config.entity.station",
	"_G.config.entity.station_stand",
	"_G.config.entity.stretchy_hand",
	"_G.config.entity.stretchy_handleft",
	"_G.config.entity.stretchy_man",
	"_G.config.entity.torchlight",
	"_G.config.entity.volosaty",
	"_G.config.entity.vs",
	"_G.config.entity.watchman",
	"_G.config.entity.waterzone",
	"_G.config.entity.weapon_autofire_2_padonag",
	"_G.config.entity.weapon_autofire_abzac",
	"_G.config.entity.weapon_autofire_padonag",
	"_G.config.entity.weapon_barrel_ashot",
	"_G.config.entity.weapon_barrel_padonag",
	"_G.config.entity.weapon_barrel_revolver",
	"_G.config.entity.weapon_barrel_shotgun",
	"_G.config.entity.weapon_battery_hellbreath",
	"_G.config.entity.weapon_bell_base",
	"_G.config.entity.weapon_bell_handle",
	"_G.config.entity.weapon_butt",
	"_G.config.entity.weapon_butt_ashot",
	"_G.config.entity.weapon_butt_gatling",
	"_G.config.entity.weapon_butt_revolver",
	"_G.config.entity.weapon_butt_ubludok",
	"_G.config.entity.weapon_capacitor_hellbreath",
	"_G.config.entity.weapon_collimator_small",
	"_G.config.entity.weapon_compens_abzac",
	"_G.config.entity.weapon_duplet_barrel",
	"_G.config.entity.weapon_duplet_barrel_big",
	"_G.config.entity.weapon_duplet_barrel_big_hammer",
	"_G.config.entity.weapon_duplet_butt",
	"_G.config.entity.weapon_duplet_butt_2",
	"_G.config.entity.weapon_duplet_no_butt",
	"_G.config.entity.weapon_duplet_silencer",
	"_G.config.entity.weapon_engine_base_arm_gatling",
	"_G.config.entity.weapon_engine_base_disk_gatling",
	"_G.config.entity.weapon_engine_base_frame_gatling",
	"_G.config.entity.weapon_engine_base_gatling",
	"_G.config.entity.weapon_engine_base_gear_gatling",
	"_G.config.entity.weapon_engine_cap_gatling",
	"_G.config.entity.weapon_engine_frame_gatling",
	"_G.config.entity.weapon_engine_fuel_gatling",
	"_G.config.entity.weapon_engine_gatling",
	"_G.config.entity.weapon_engine_mech_gatling",
	"_G.config.entity.weapon_envg",
	"_G.config.entity.weapon_flashhider_preved",
	"_G.config.entity.weapon_flashhider_ventil",
	"_G.config.entity.weapon_item_base",
	"_G.config.entity.weapon_kalimator",
	"_G.config.entity.weapon_laser",
	"_G.config.entity.weapon_laser_aksu",
	"_G.config.entity.weapon_laser_green",
	"_G.config.entity.weapon_laser_hellbreath",
	"_G.config.entity.weapon_laser_hellbreath_green",
	"_G.config.entity.weapon_laser_shotgun",
	"_G.config.entity.weapon_magazine",
	"_G.config.entity.weapon_magazine_2",
	"_G.config.entity.weapon_magazine_abzac",
	"_G.config.entity.weapon_magazine_base_abzac",
	"_G.config.entity.weapon_magazine_base_padonag",
	"_G.config.entity.weapon_magazine_base_preved",
	"_G.config.entity.weapon_magazine_base_saiga",
	"_G.config.entity.weapon_magazine_base_ventil",
	"_G.config.entity.weapon_magazine_padonag",
	"_G.config.entity.weapon_magazine_preved",
	"_G.config.entity.weapon_magazine_rpk",
	"_G.config.entity.weapon_magazine_rpk_base",
	"_G.config.entity.weapon_magazine_saiga",
	"_G.config.entity.weapon_magazine_ventil",
	"_G.config.entity.weapon_no_butt",
	"_G.config.entity.weapon_no_butt_ashot",
	"_G.config.entity.weapon_no_butt_revolver",
	"_G.config.entity.weapon_no_butt_ubludok",
	"_G.config.entity.weapon_noobgun",
	"_G.config.entity.weapon_noobgun_barrel",
	"_G.config.entity.weapon_noobgun_bolt",
	"_G.config.entity.weapon_noobgun_round",
	"_G.config.entity.weapon_noobtube",
	"_G.config.entity.weapon_noobtube_dynamite",
	"_G.config.entity.weapon_noobtube_flame_grenade",
	"_G.config.entity.weapon_noobtube_spring",
	"_G.config.entity.weapon_optics_hellbreath",
	"_G.config.entity.weapon_optics_mount_ak",
	"_G.config.entity.weapon_optics_mount_hellbreath",
	"_G.config.entity.weapon_optics_mount_picatinny",
	"_G.config.entity.weapon_optics_mount_picatinny_ventil",
	"_G.config.entity.weapon_optics_mount_vsv",
	"_G.config.entity.weapon_optics_sniper",
	"_G.config.entity.weapon_optics_tihar",
	"_G.config.entity.weapon_pentabarrel_gatling",
	"_G.config.entity.weapon_pivot",
	"_G.config.entity.weapon_pivot_ashot",
	"_G.config.entity.weapon_pivot_revolver",
	"_G.config.entity.weapon_radiator_ubludok",
	"_G.config.entity.weapon_round_uboynicheg",
	"_G.config.entity.weapon_scope",
	"_G.config.entity.weapon_silencer",
	"_G.config.entity.weapon_silencer_aksu",
	"_G.config.entity.weapon_silencer_padonag",
	"_G.config.entity.weapon_silencer_revolver",
	"_G.config.entity.weapon_silencer_saiga",
	"_G.config.entity.weapon_silencer_shotgun",
	"_G.config.entity.weapon_silencer_shotgun_pistol",
	"_G.config.entity.weapon_silencer_vsv",
	"_G.config.entity.weapon_stabilizer_gatling",
	"_G.config.entity.weapon_stabilizer_gear_gatling",
	"_G.config.entity.weapon_stabilizer_wheel_gatling",
	"_G.config.entity.weapon_tank_base_helsing",
	"_G.config.entity.weapon_tank_base_tihar",
	"_G.config.entity.weapon_tank_helsing",
	"_G.config.entity.weapon_tank_tihar",
	"_G.config.entity.weapon_tribarrel_gatling",
	"_G.config.entity.web",
	"_G.config.entity.woman",
	"_G.config.entity.woman_strip",
	"_G.config.entity.wpn_2012",
	"_G.config.entity.wpn_2012_green_laser",
	"_G.config.entity.wpn_abzac",
	"_G.config.entity.wpn_abzac_2033",
	"_G.config.entity.wpn_abzac_dlc_class_pack",
	"_G.config.entity.wpn_ak_74",
	"_G.config.entity.wpn_ak_74_l17_green_laser",
	"_G.config.entity.wpn_aksu",
	"_G.config.entity.wpn_ameba_sputum",
	"_G.config.entity.wpn_aqua_sputum",
	"_G.config.entity.wpn_arrow",
	"_G.config.entity.wpn_ashot",
	"_G.config.entity.wpn_ashot_dlc_class_pack",
	"_G.config.entity.wpn_bayonet_uboynicheg_fx",
	"_G.config.entity.wpn_bigun",
	"_G.config.entity.wpn_claymore",
	"_G.config.entity.wpn_dagger",
	"_G.config.entity.wpn_duplet_fx",
	"_G.config.entity.wpn_duplet_fx_dlc_class_pack",
	"_G.config.entity.wpn_dynamite",
	"_G.config.entity.wpn_dynamite_yz",
	"_G.config.entity.wpn_flame_good",
	"_G.config.entity.wpn_flame_grenage",
	"_G.config.entity.wpn_flame_nodamage",
	"_G.config.entity.wpn_flamethrower",
	"_G.config.entity.wpn_flamethrower_2033_s",
	"_G.config.entity.wpn_flamethrower_grenage",
	"_G.config.entity.wpn_gatling",
	"_G.config.entity.wpn_gatling_d6",
	"_G.config.entity.wpn_hellbreath",
	"_G.config.entity.wpn_hellbreath_green_laser",
	"_G.config.entity.wpn_hellbreath_nocharge",
	"_G.config.entity.wpn_hellbreath_nocharge_green_laser",
	"_G.config.entity.wpn_helsing",
	"_G.config.entity.wpn_launcher_time_grenage",
	"_G.config.entity.wpn_macheta",
	"_G.config.entity.wpn_nosalis_sputum",
	"_G.config.entity.wpn_padonag",
	"_G.config.entity.wpn_padonag_dlc_class_pack",
	"_G.config.entity.wpn_padonag_green_laser",
	"_G.config.entity.wpn_preved",
	"_G.config.entity.wpn_preved_dlc_story_ann",
	"_G.config.entity.wpn_preved_dlc_story_ann_far",
	"_G.config.entity.wpn_preved_green_laser",
	"_G.config.entity.wpn_revolver",
	"_G.config.entity.wpn_revolver_dlc_class_pack",
	"_G.config.entity.wpn_revolver_green_laser",
	"_G.config.entity.wpn_rpk",
	"_G.config.entity.wpn_saiga",
	"_G.config.entity.wpn_saiga_dlc_class_pack",
	"_G.config.entity.wpn_saiga_green_laser",
	"_G.config.entity.wpn_sticky_dynamite",
	"_G.config.entity.wpn_tihar",
	"_G.config.entity.wpn_ubludok_fx",
	"_G.config.entity.wpn_uboynicheg_fx",
	"_G.config.entity.wpn_uboynicheg_fx_dlc_class_pack",
	"_G.config.entity.wpn_uboynicheg_fx_green_laser",
	"_G.config.entity.wpn_ventil",
	"_G.config.entity.wpn_ventil_dlc_faction_nazi_green_laser",
	"_G.config.entity.wpn_vsv",
	"_G.config.entity.wpn_vyhlop",
	
	// Last Light DLC's
	"_G.config.entity.medkit_dlc_story_ann",
	"_G.config.entity.weapon_laser_dlc_story_ann",
	"_G.config.entity.gasmask_dlc_story_ann",
	"_G.config.entity.wpn_dagger_dlc_story_ann",
	"_G.config.entity.wpn_macheta_dlc_story_ann",
	"_G.config.entity.player_dlc_story_ann",
	"_G.config.entity.wpn_medved",
	"_G.config.entity.weapon_magazine_base_vyhlop",
	"_G.config.entity.weapon_laser_shotgun_green",
	"_G.config.entity.weapon_optics_vyhlop",
	"_G.config.entity.weapon_laser_vyhlop",
	"_G.config.entity.weapon_duplet_barrel_big_class_pack",
	
	// Last Light REDUX
	"_G.config.entity.weapon_ammo_dynamite_0",
	"_G.config.entity.weapon_ammo_dynamite_1",
	"_G.config.entity.weapon_ammo_dynamite_2",
	"_G.config.entity.weapon_ammo_flame_grenade_0",
	"_G.config.entity.weapon_ammo_flame_grenade_1",
	"_G.config.entity.weapon_ammo_flame_grenade_2",	
	
	// XBox Build from 3 dec 2012
	"_G.config.entity.gateway",
	"_G.config.entity.claymore_zone",
	"_G.config.entity.soft_entity_inst",
	"_G.config.entity.heap_zone",
	
	// XBox Build from 19 oct 2012
	"_G.config.entity.weapon_laser_ubludok",
	"_G.config.entity.weapon_laser_abzac",
	"_G.config.entity.weapon_laser_2012",
	"_G.config.entity.weapon_laser_revolver",
	"_G.config.entity.weapon_laser_ak_74",
	"_G.config.entity.weapon_laser_vsv",
	"_G.config.entity.weapon_laser_preved",
	"_G.config.entity.weapon_laser_ventil",
	"_G.config.entity.weapon_laser_uboynicheg",
	"_G.config.entity.weapon_laser_duplet",
	"_G.config.entity.weapon_laser_ashot",
	"_G.config.entity.weapon_laser_padonag",
	"_G.config.entity.weapon_laser_saiga",
	"_G.config.entity.weapon_laser_tihar",
	"_G.config.entity.wpn_c4_grenade",
	"_G.config.entity.bush_zone",
	"_G.config.entity.heap"
];

var hash_table_classes = new Object;
for(var i = 0; i < classes.length; i++)
	hash_table_classes[crc32(classes[i])] = classes[i];
	
var hash_table_static_data_keys = new Object;
for(var i = 0; i < static_data_keys.length; i++)
	hash_table_static_data_keys[crc32(static_data_keys[i])] = static_data_keys[i];