-- Bundled by luabundle {"version":"1.6.0"}
local __bundle_require, __bundle_loaded, __bundle_register, __bundle_modules = (function(superRequire)
	local loadingPlaceholder = {[{}] = true}

	local register
	local modules = {}

	local require
	local loaded = {}

	register = function(name, body)
		if not modules[name] then
			modules[name] = body
		end
	end

	require = function(name)
		local loadedModule = loaded[name]

		if loadedModule then
			if loadedModule == loadingPlaceholder then
				return nil
			end
		else
			if not modules[name] then
				if not superRequire then
					local identifier = type(name) == 'string' and '\"' .. name .. '\"' or tostring(name)
					error('Tried to require ' .. identifier .. ', but no such module has been registered')
				else
					return superRequire(name)
				end
			end

			loaded[name] = loadingPlaceholder
			loadedModule = modules[name](require, loaded, register, modules)
			loaded[name] = loadedModule
		end

		return loadedModule
	end

	return require, loaded, register, modules
end)(nil)
__bundle_register("__root", function(require, _LOADED, __bundle_register, __bundle_modules)
require("accessories/CustomPlaymatImages")
end)
__bundle_register("accessories/CustomPlaymatImages", function(require, _LOADED, __bundle_register, __bundle_modules)
local DATA = {
  ["Arkham Locations"] = { {
    Name = "Downtown 1",
    URL = "https://i.ibb.co/FzRk98n/Arkham-Downtown-Cristi-Balanescu.jpg"
  }, {
    Name = "Downtown 2",
    URL = "https://i.ibb.co/W2yJ5QZ/Arkham-Downtown-Jokubas-Uogintas.jpg"
  }, {
    Name = "Eastside 1",
    URL = "https://i.ibb.co/W3QvdZW/Arkham-Eastside-Cristi-Balanescu.jpg"
  }, {
    Name = "Eastside 2",
    URL = "https://i.ibb.co/xfn1Fp8/Arkham-Eastside-Jokubas-Uogintas.jpg"
  }, {
    Name = "French Hill",
    URL = "https://i.ibb.co/N7Lk7jc/Arkham-French-Hill-Cristi-Balanescu.jpg"
  }, {
    Name = "Merchant District",
    URL = "https://i.ibb.co/HTNCCq4/Arkham-Merchant-District-Jokubas-Uogintas.jpg"
  }, {
    Name = "Generic 1",
    URL = "https://i.ibb.co/hswfZD6/Arkham-Guillem-H-Pongiluppi.jpg"
  }, {
    Name = "Generic 2",
    URL = "https://i.ibb.co/5h5cMyF/Arkham-Guillem-H-Pongiluppi-2.jpg"
  }, {
    Name = "Generic 3",
    URL = "https://i.ibb.co/ZBdVsWt/Arkham-Guillem-H-Pongiluppi-3.jpg"
  }, {
    Name = "Generic 4",
    URL = "https://i.ibb.co/6NwbM59/Arkham-Michele-Botticelli.jpg"
  }, {
    Name = "Generic 5",
    URL = "https://i.ibb.co/N6sxyq5/Arkham-Mihail-Bila.jpg"
  }, {
    Name = "Generic 6",
    URL = "https://i.ibb.co/B393zxv/Arkham-Tomasz-Jedruszek.jpg"
  }, {
    Name = "Generic 7",
    URL = "https://i.ibb.co/2WQ2Vt6/Arkham-Tomasz-Jedruszek-2.jpg"
  }, {
    Name = "Generic 8",
    URL = "https://i.ibb.co/R7pQ9Y7/Arkham-Tomasz-Jedruszek-3.jpg"
  }, {
    Name = "Miskatonic University",
    URL = "https://i.ibb.co/ncz9xjP/Arkham-Miskatonic-University-Jokubas-Uogintas.jpg"
  }, {
    Name = "Northside",
    URL = "https://i.ibb.co/sVWx1R3/Arkham-Northside-Jokubas-Uogintas.jpg"
  }, {
    Name = "Rivertown",
    URL = "https://i.ibb.co/RyJnHmz/Arkham-Rivertown-Jokubas-Uogintas.jpg"
  }, {
    Name = "Southside",
    URL = "https://i.ibb.co/5GW5jg5/Arkham-Southside-Jokubas-Uogintas.jpg"
  }, {
    Name = "Uptown",
    URL = "https://i.ibb.co/YXjvkMn/Arkham-Uptown-Jokubas-Uogintas.jpg"
  } },
  ["Side Scenarios"] = { {
    Name = "Blob That Ate Everything 1",
    URL = "https://i.ibb.co/JxFV4ZN/Blob-That-Ate-Everything-Emilio-Rodriguez.jpg"
  }, {
    Name = "Blob That Ate Everything 2",
    URL = "https://i.ibb.co/qJzstWF/Blob-That-Ate-Everything-Emilio-Rodriguez.jpg"
  }, {
    Name = "Carnevale of Horrors 1",
    URL = "https://i.ibb.co/ZchJBpz/Carnevale-of-Horrors.jpg"
  }, {
    Name = "Curse of the Rougarou 1",
    URL = "https://i.ibb.co/Qf7Sr7P/Curse-of-the-Rougarou.jpg"
  }, {
    Name = "Curse of the Rougarou 2",
    URL = "https://i.ibb.co/hs1Qjp0/Curse-of-the-Rougarou-Ann-Kovaleva.jpg"
  }, {
    Name = "Curse of the Rougarou 3",
    URL = "https://i.ibb.co/BK7rmJ9/Curse-of-the-Rougarou-Karine-Villette.jpg"
  }, {
    Name = "Curse of the Rougarou 4",
    URL = "https://i.ibb.co/ZxGTC1w/Curse-of-the-Rougarou-Lachlan-Page.jpg"
  }, {
    Name = "Curse of the Rougarou 5",
    URL = "https://i.ibb.co/HgNXJhW/Curse-of-the-Rougarou-Vladimir-Manyukhin.jpg"
  }, {
    Name = "Guardians of the Abyss 1",
    URL = "https://i.ibb.co/gD3R6cw/Guardians-of-the-Abyss-Jake-Murray.jpg"
  }, {
    Name = "Guardians of the Abyss 2",
    URL = "https://i.ibb.co/jMHPcvz/Guardians-of-the-Abyss-Jose-Vega.jpg"
  }, {
    Name = "Guardians of the Abyss 3",
    URL = "https://i.ibb.co/99pqXQP/Guardians-of-the-Abyss-Koke-Nunez.jpg"
  }, {
    Name = "Guardians of the Abyss 4",
    URL = "https://i.ibb.co/QbMvjbx/Guardians-of-the-Abyss-Mike-Szabados.jpg"
  }, {
    Name = "Guardians of the Abyss 5",
    URL = "https://i.ibb.co/zFDt9Q8/Guardians-of-the-Abyss-Nele-Diel.jpg"
  }, {
    Name = "Guardians of the Abyss 6",
    URL = "https://i.ibb.co/Vpzptmt/Guardians-of-the-Abyss-Yujin-Choo.jpg"
  }, {
    Name = "Kingsport",
    URL = "https://i.ibb.co/rbkk7ys/Kingsport-Tomasz-Jedruszek.jpg"
  }, {
    Name = "Labyrinths of Lunacy 1",
    URL = "https://i.ibb.co/f17PMCC/Labyrinths-of-Lunacy-Cordelia-Wolf.jpg"
  }, {
    Name = "Labyrinths of Lunacy 2",
    URL = "https://i.ibb.co/44DXfWw/Labyrinths-of-Lunacy-Richard-Wright.jpg"
  }, {
    Name = "Labyrinths of Lunacy 3",
    URL = "https://i.ibb.co/jMQhs68/Labyrinths-of-Lunacy-Robert-Berg.jpg"
  }, {
    Name = "Murder at Excelsior Hotel 1",
    URL = "https://i.ibb.co/5cQ6LvN/Murder-at-Excelsior-Hotel-Alistair-Mitchell.jpg"
  }, {
    Name = "Murder at Excelsior Hotel 2",
    URL = "https://i.ibb.co/vBQRHNS/Murder-at-Excelsior-Hotel-Romain-Bayle.jpg"
  }, {
    Name = "War of the Outer Gods",
    URL = "https://i.ibb.co/wLNGFTG/War-of-the-Outer-Gods-Joshua-Cairos.jpg"
  } },
  ["The Path to Carcosa"] = { {
    Name = "I - Curtain Call",
    URL = "https://i.ibb.co/TcnKXJD/Carcosa-1-Curtain-Call-Mark-Molnar.jpg"
  }, {
    Name = "II - Last King 1",
    URL = "https://i.ibb.co/JRQJKR8/Carcosa-2-Last-King-Cristi-Balanescu.jpg"
  }, {
    Name = "II - Last King 2",
    URL = "https://i.ibb.co/NZzBwgv/Carcosa-2-Last-King-Cristi-Balanescu-2.jpg"
  }, {
    Name = "II - Last King 3",
    URL = "https://i.ibb.co/x56ZHt7/Carcosa-2-Last-King-Wu-Mengjia.jpg"
  }, {
    Name = "III - Echoes of the Past",
    URL = "https://i.ibb.co/R6gSm0D/Carcosa-3-Echoes-of-the-Past-Heather-Savage.jpg"
  }, {
    Name = "IV - Unspeakable Oath 1",
    URL = "https://i.ibb.co/DzzDQQQ/Carcosa-4-Unspeakable-Oath.jpg"
  }, {
    Name = "IV - Unspeakable Oath 2",
    URL = "https://i.ibb.co/9gqBzXr/Carcosa-4-Unspeakable-Oath-2-Mark-Molnar.jpg"
  }, {
    Name = "IV - Unspeakable Oath 3",
    URL = "https://i.ibb.co/wWL73c9/Carcosa-4-Unspeakable-Oath-Paul-Fairbairn.jpg"
  }, {
    Name = "V - Phantom of Truth 1",
    URL = "https://i.ibb.co/mzpz1Dd/Carcosa-5-Phantom-of-Truth-Lucas-Staniec.jpg"
  }, {
    Name = "V - Phantom of Truth 2",
    URL = "https://i.ibb.co/Vp1wNbT/Carcosa-5-Phantom-of-Truth-Tomasz-Jedruszek.jpg"
  }, {
    Name = "VI - Pallid Mask 1",
    URL = "https://i.ibb.co/Bf5LByY/Carcosa-6-Pallid-Mask-Greg-Bobrowski.jpg"
  }, {
    Name = "VI - Pallid Mask 2",
    URL = "https://i.ibb.co/1v1J9Xx/Carcosa-6-Pallid-Mask-Rafal-Pyra.jpg"
  }, {
    Name = "VII - Black Star Rises 1",
    URL = "https://i.ibb.co/TB451t7/Carcosa-7-Black-Star-Rises-Audric-Gatoux.jpg"
  }, {
    Name = "VII - Black Star Rises 2",
    URL = "https://i.ibb.co/nC8Ncxx/Carcosa-7-Black-Star-Rises-Chris-Kintner.jpg"
  }, {
    Name = "VIII - Dim Carcosa 1",
    URL = "https://i.ibb.co/QvS4y3D/Carcosa-8-Dim-Carcosa-Alexandr-Elichev.jpg"
  }, {
    Name = "VIII - Dim Carcosa 2",
    URL = "https://i.ibb.co/hR95x7k/Carcosa-8-Dim-Carcosa-Yuri-Shepherd.jpg"
  } },
  ["The Circle Undone"] = { {
    Name = "0 - Prologue",
    URL = "https://i.ibb.co/gm4C6yy/Circle-Undone-0-Prologue-Ted-Galaday.jpg"
  }, {
    Name = "I - Witching Hour",
    URL = "https://i.ibb.co/kgJ34WS/Circle-Undone-1-Witching-Hour-Nele-Diel.jpg"
  }, {
    Name = "II - At Death's Doorstep 1",
    URL = "https://i.ibb.co/qNWzH0Y/Circle-Undone-2-At-Death-039-s-Doorstep-Emilio-Rodriguez.jpg"
  }, {
    Name = "II - At Death's Doorstep 2",
    URL = "https://i.ibb.co/T1zp1QN/Circle-Undone-2-At-Death-039-s-Doorstep-Emilio-Rodriguez-2.jpg"
  }, {
    Name = "II - At Death's Doorstep 3",
    URL = "https://i.ibb.co/ZJfYZ1w/Circle-Undone-2-At-Death-039-s-Doorstep-Majid-Azim.jpg"
  }, {
    Name = "III - The Secret Name 1",
    URL = "https://i.ibb.co/hsBw4JQ/Circle-Undone-3-Secret-Name-Jeff-Jumper.jpg"
  }, {
    Name = "III - The Secret Name 2",
    URL = "https://i.ibb.co/MpcPXR5/Circle-Undone-3-Secret-Name-Pierre-Santamaria.jpg"
  }, {
    Name = "III - The Secret Name 3",
    URL = "https://i.ibb.co/LQ8rdKs/Circle-Undone-3-The-Secret-Name-Greg-Bobrowski.jpg"
  }, {
    Name = "III - The Secret Name 4",
    URL = "https://i.ibb.co/0D7LzxV/Circle-Undone-3-The-Secret-Name-Robert-Laskey.jpg"
  }, {
    Name = "IV - Wages of Sin 1",
    URL = "https://i.ibb.co/fDMqH1C/Circle-Undone-4-Wages-of-Sin-Emilio-Rodriguez.jpg"
  }, {
    Name = "IV - Wages of Sin 2",
    URL = "https://i.ibb.co/HDrKkZF/Circle-Undone-4-Wages-of-Sin-Emilio-Rodriguez-2.jpg"
  }, {
    Name = "IV - Wages of Sin 3",
    URL = "https://i.ibb.co/vkpG8cM/Circle-Undone-4-Wages-of-Sin-Greg-Bobrowski.jpg"
  }, {
    Name = "IV - Wages of Sin 4",
    URL = "https://i.ibb.co/CMj007q/Circle-Undone-4-Wages-of-Sin-Mateusz-Michalski.jpg"
  }, {
    Name = "IV - Wages of Sin 5",
    URL = "https://i.ibb.co/sj1bS5x/Circle-Undone-4-Wages-of-Sin-Serge-Da-Silva-Dias.jpg"
  }, {
    Name = "V - For the Greater Good 1",
    URL = "https://i.ibb.co/LDyqjbj/Circle-Undone-5-For-the-Greater-Good.jpg"
  }, {
    Name = "V - For the Greater Good 2",
    URL = "https://i.ibb.co/pPzXNd1/Circle-Undone-5-For-the-Greater-Good-2.jpg"
  }, {
    Name = "V - For the Greater Good 3",
    URL = "https://i.ibb.co/8rMLvJH/Circle-Undone-5-For-the-Greater-Good-Greg-Bobrowski.jpg"
  }, {
    Name = "V - For the Greater Good 4",
    URL = "https://i.ibb.co/vj1q4Cm/Circle-Undone-5-For-the-Greater-Good-Robert-Laskey.jpg"
  }, {
    Name = "VI - Union and Disillusioned",
    URL = "https://i.ibb.co/n7SD1tB/Circle-Undone-6-Union-amp-Disillusioned-Andreas-Rocha.jpg"
  }, {
    Name = "VII - In the Clutches of Chaos 1",
    URL = "https://i.ibb.co/bFXBNh7/Circle-Undone-7-In-the-Clutches-of-Chaos.jpg"
  }, {
    Name = "VII - In the Clutches of Chaos 2",
    URL = "https://i.ibb.co/m6DshNg/Circle-Undone-7-In-the-Clutches-of-Chaos-Alexandr-Elichev.jpg"
  }, {
    Name = "VII - In the Clutches of Chaos 3",
    URL = "https://i.ibb.co/k2p4yfG/Circle-Undone-7-In-the-Clutches-of-Chaos-Jokubas-Uogintas.jpg"
  }, {
    Name = "VIII - Before the Black Throne 1",
    URL = "https://i.ibb.co/9TPwvP6/Circle-Undone-8-Before-the-Black-Throne-Aaron-Luke-Wilson.jpg"
  }, {
    Name = "VIII - Before the Black Throne 2",
    URL = "https://i.ibb.co/VNtgH4v/Circle-Undone-8-Before-the-Black-Throne-Greg-Bobrowski.jpg"
  } },
  ["Side Scenarios (FM)"] = { {
    Name = "Consternation on the Constellation",
    URL = "https://i.ibb.co/Tw2xBP1/Consternation-Constellation.jpg"
  }, {
    Name = "Symphony of Erich Zann",
    URL = "https://i.ibb.co/SNr8tqN/Symphony-of-Erich-Zann-Hazel-Yingling.jpg"
  } },
  ["Cyclopean Foundations (FM)"] = { {
    Name = "I - Lost Moorings 1",
    URL = "https://i.ibb.co/DQ76z3c/Cyclopean-1-Lost-Moorings-Care-Line-Art.png"
  }, {
    Name = "I - Lost Moorings 2",
    URL = "https://i.ibb.co/c6LJNfr/Cyclopean-1-Lost-Moorings-Jake-Murray.png"
  }, {
    Name = "II - Going Twice",
    URL = "https://i.ibb.co/P6h3vbm/Cyclopean-2-Going-Twice-Quentin-Bouilloud.png"
  }, {
    Name = "III - Private Lives",
    URL = "https://i.ibb.co/9qK9Fzd/Cyclopean-3-Private-Lives-Christian-Bravery.png"
  }, {
    Name = "IV - Crumbling Masonry 1",
    URL = "https://i.ibb.co/pdrGK6p/Cyclopean-4-Crumbling-Masonry-Pete-Amachree.png"
  }, {
    Name = "IV - Crumbling Masonry 2",
    URL = "https://i.ibb.co/5RFcGyP/Cyclopean-4-Crumbling-Masonry-Simon-Craghead.png"
  }, {
    Name = "V - Across Dreadful Waters",
    URL = "https://i.ibb.co/3mYfFNB/Cyclopean-5-Across-Dreadful-Waters-Ev-Shipard.png"
  }, {
    Name = "VI - Blood From Stones",
    URL = "https://i.ibb.co/ynmQNSB/Cyclopean-6-Blood-From-Stones-Marc-Simonetti.png"
  }, {
    Name = "VII - Pyroclastic Flow 1",
    URL = "https://i.ibb.co/s1JDkFv/Cyclopean-7-Pyroclastic-Flow-Bastien-Grivet.png"
  }, {
    Name = "VII - Pyroclastic Flow 2",
    URL = "https://i.ibb.co/qs8Sk2N/Cyclopean-7-Pyroclastic-Flow-Rachid-Lotf.png"
  }, {
    Name = "VIII - Tomb of Dead Dreams 1",
    URL = "https://i.ibb.co/0MwX460/Cyclopean-8-Tomb-of-Dead-Dreams-Guillem-H-Pongiluppi.png"
  }, {
    Name = "VIII - Tomb of Dead Dreams 2",
    URL = "https://i.ibb.co/mGnKNcy/Cyclopean-8-Tomb-of-Dead-Dreams-Richard-Benning.png"
  }, {
    Name = "VIII - Tomb of Dead Dreams 3",
    URL = "https://i.ibb.co/vmBM8x2/Cyclopean-8-Tomb-of-Dead-Dreams-Walter-Brocca.png"
  } },
  ["Dark Matter (FM)"] = { {
    Name = "I - Tatterdemalion 1",
    URL = "https://i.ibb.co/DRMPGVt/Dark-Matter-1-Tatterdemalion-Andrey-Vozny.jpg"
  }, {
    Name = "I - Tatterdemalion 2",
    URL = "https://i.ibb.co/1JzrrX2/Dark-Matter-1-Tatterdemalion-Brian-Taylor.jpg"
  }, {
    Name = "I - Tatterdemalion 3",
    URL = "https://i.ibb.co/DzvvgGf/Dark-Matter-1-Tatterdemalion-John-Wallin-Liberto.jpg"
  }, {
    Name = "I - Tatterdemalion 4",
    URL = "https://i.ibb.co/sQf85b8/Dark-Matter-1-Tatterdemalion-Paul-Pepera.jpg"
  }, {
    Name = "II - Electric Nightmares 1",
    URL = "https://i.ibb.co/hLGVBt7/Dark-Matter-2-Electric-Nightmares-Dean-Lawrence.jpg"
  }, {
    Name = "II - Electric Nightmares 2",
    URL = "https://i.ibb.co/cTKZQ61/Dark-Matter-2-Electric-Nightmares-Robert-Thoma.jpg"
  }, {
    Name = "IIIa - Lost Quantum",
    URL = "https://i.ibb.co/6vyXv90/Dark-Matter-3-Lost-Quantum-Michael-Rajecki.jpg"
  }, {
    Name = "IIIb - In the Shadow of Earth 1",
    URL = "https://i.ibb.co/DfbTKHP/Dark-Matter-4-In-the-Shadow-of-Earth-Jihoo-Kim.jpg"
  }, {
    Name = "IIIb - In the Shadow of Earth 2",
    URL = "https://i.ibb.co/MCvPmCb/Dark-Matter-4-In-the-Shadow-of-Earth-N5-Luckybuuncle.jpg"
  }, {
    Name = "IIIc - Strange Moons",
    URL = "https://i.ibb.co/b2d8qvg/Dark-Matter-5-Strange-Moons-Hongyu-Yin.jpg"
  }, {
    Name = "V - Fragment of Carcosa 1",
    URL = "https://i.ibb.co/7WnTyYT/Dark-Matter-7-Fragment-of-Carcosa-Colin-Moore.jpg"
  }, {
    Name = "V - Fragment of Carcosa 2",
    URL = "https://i.ibb.co/mG2Brrd/Dark-Matter-7-Fragments-of-Carcosa-Matthieu-Rebuffat.jpg"
  }, {
    Name = "VI - Starfall 1",
    URL = "https://i.ibb.co/CJ3LKL7/Dark-Matter-8-Starfall-Vadim-Sadovski.jpg"
  }, {
    Name = "VI - Starfall 2",
    URL = "https://i.ibb.co/Njd1FcB/Dark-Matter-8-Starfall-Vadim-Sadovski-2.jpg"
  }, {
    Name = "VI - Starfall 3",
    URL = "https://i.ibb.co/W0Cx7bb/Dark-Matter-8-Starfall-Vadim-Sadovski-3.jpg"
  } },
  ["The Dream Eaters"] = { {
    Name = "I-A - Beyond the Gates of Sleep 1",
    URL = "https://i.ibb.co/HGvnxdX/Dream-Eaters-1-A-Beyond-the-Gates-of-Sleep-Jason-Scheier.jpg"
  }, {
    Name = "I-A - Beyond the Gates of Sleep 2",
    URL = "https://i.ibb.co/S6sCy7G/Dream-Eaters-1-A-Beyond-the-Gates-of-Sleep-Phoebe-Herring.jpg"
  }, {
    Name = "I-A - Beyond the Gates of Sleep 3",
    URL = "https://i.ibb.co/kBfW9SC/Dream-Eaters-1-A-Beyond-the-Gates-of-Sleep-Regina-Kurnya.jpg"
  }, {
    Name = "I-B - Waking Nightmare",
    URL = "https://i.ibb.co/sWsZCv8/Dream-Eaters-1-B-Waking-Nightmare-Josh-Gould-jpg.jpg"
  }, {
    Name = "II-A - Search for Kadath 1",
    URL = "https://i.ibb.co/4SwzCD8/Dream-Eaters-2-A-Search-for-Kadath-Andrei-Khrutskii.jpg"
  }, {
    Name = "II-A - Search for Kadath 2",
    URL = "https://i.ibb.co/WpZ4fMc/Dream-Eaters-2-A-Search-for-Kadath-Dan-Iorgulescu.jpg"
  }, {
    Name = "II-A - Search for Kadath 3",
    URL = "https://i.ibb.co/jwsn0jf/Dream-Eaters-2-A-Search-for-Kadath-Diana-Tsareva.jpg"
  }, {
    Name = "II-A - Search for Kadath 4",
    URL = "https://i.ibb.co/pd9vxmL/Dream-Eaters-2-A-Search-for-Kadath-Helen-Ilnytska.jpg"
  }, {
    Name = "II-A - Search for Kadath 5",
    URL = "https://i.ibb.co/MZ7Qtcc/Dream-Eaters-2-A-Search-for-Kadath-Nele-Diel.jpg"
  }, {
    Name = "II-B - Thousand Shapes of Horror 1",
    URL = "https://i.ibb.co/VJFQVYd/Dream-Eaters-2-B-Thousand-Shapes-of-Horror-Greg-Bobrowski.jpg"
  }, {
    Name = "II-B - Thousand Shapes of Horror 2",
    URL = "https://i.ibb.co/T4Pqx0H/Dream-Eaters-2-B-Thousand-Shapes-of-Horror-Nele-Diel.jpg"
  }, {
    Name = "II-B - Thousand Shapes of Horror 3",
    URL = "https://i.ibb.co/9s7M0PP/Dream-Eaters-2-B-Thousand-Shapes-of-Horror-Nele-Diel-2.jpg"
  }, {
    Name = "III-A - Dark Side of the Moon 1",
    URL = "https://i.ibb.co/B2DfXLZ/Dream-Eaters-3-A-Dark-Side-of-the-Moon-Dabanli.jpg"
  }, {
    Name = "III-A - Dark Side of the Moon 2",
    URL = "https://i.ibb.co/c27JRvv/Dream-Eaters-3-A-Dark-Side-of-the-Moon-Frej-Agelii.jpg"
  }, {
    Name = "III-B - Point of No Return 1",
    URL = "https://i.ibb.co/dMGNB9Y/Dream-Eaters-3-B-Point-of-No-Return-Daria-Khlebnikova.jpg"
  }, {
    Name = "III-B - Point of No Return 2",
    URL = "https://i.ibb.co/dpXxPmz/Dream-Eaters-3-B-Point-of-No-Return-Karine-Villette.jpg"
  }, {
    Name = "IV-A - Where the Gods Dwell",
    URL = "https://i.ibb.co/v4nqw6G/Dream-Eaters-4-A-Where-the-Gods-Dwell-Samantha-Franco.jpg"
  }, {
    Name = "IV-B - Weaver of the Cosmos 1",
    URL = "https://i.ibb.co/7btNBS1/Dream-Eaters-4-B-Weaver-of-the-Cosmos-Diana-Franco.jpg"
  }, {
    Name = "IV-B - Weaver of the Cosmos 2",
    URL = "https://i.ibb.co/RY7y22b/Dream-Eaters-4-B-Weaver-of-the-Cosmos-Leanna-Crossan.jpg"
  }, {
    Name = "IV-B - Weaver of the Cosmos 3",
    URL = "https://i.ibb.co/f8LBbFW/Dream-Eaters-4-B-Weaver-of-the-Cosmos-Nele-Diel.jpg"
  } },
  ["The Dunwich Legacy"] = { {
    Name = "I-A - Extracurricular Activity 1",
    URL = "https://i.ibb.co/tDxX8KS/Dunwich-1-Extracurricular-Activity-Igor-Kirdeika.jpg"
  }, {
    Name = "I-A - Extracurricular Activity 2",
    URL = "https://i.ibb.co/RQ6z0pj/Dunwich-1-Extracurricular-Activity-Joseph-Diaz.jpg"
  }, {
    Name = "I-A - Extracurricular Activity 3",
    URL = "https://i.ibb.co/nnJdwL2/Dunwich-1-Extracurricular-Activity-Tomasz-Jedruszek.jpg"
  }, {
    Name = "I-B - House Always Wins 1",
    URL = "https://i.ibb.co/8XPLdr9/Dunwich-2-House-Always-Wins-Jonny-Klein.jpg"
  }, {
    Name = "I-B - House Always Wins 2",
    URL = "https://i.ibb.co/HtX95GK/Dunwich-2-House-Always-Wins-Robert-Laskey.jpg"
  }, {
    Name = "I-B - House Always Wins 3",
    URL = "https://i.ibb.co/MCLP3Sz/Dunwich-2-House-Always-Wins-XX-l.jpg"
  }, {
    Name = "I-B - House Always Wins 4",
    URL = "https://i.ibb.co/w7Pf5sd/Dunwich-2-House-Always-Wins-XX-l-2.jpg"
  }, {
    Name = "II - Miskatonic Museum 1",
    URL = "https://i.ibb.co/x1Kf7qG/Dunwich-3-Miskatonic-Museum-Emre-Aktuna.jpg"
  }, {
    Name = "II - Miskatonic Museum 2",
    URL = "https://i.ibb.co/yWXVPcN/Dunwich-3-Miskatonic-Museum-Richard-Wright.jpg"
  }, {
    Name = "III - Essex County Express",
    URL = "https://i.ibb.co/602CMZb/Dunwich-4-Essex-County-Express-David-Alvarez.jpg"
  }, {
    Name = "IV - Blood on the Altar 1",
    URL = "https://i.ibb.co/3CYHDhf/Dunwich-5-Blood-on-the-Altar.jpg"
  }, {
    Name = "IV - Blood on the Altar 2",
    URL = "https://i.ibb.co/FbxcCY2/Dunwich-5-Blood-on-the-Altar-Chris-Ostrowski.jpg"
  }, {
    Name = "IV - Blood on the Altar 3",
    URL = "https://i.ibb.co/sJf6YsZ/Dunwich-5-Blood-on-the-Altar-Lucas-Staniec.jpg"
  }, {
    Name = "IV - Blood on the Altar 4",
    URL = "https://i.ibb.co/kBPNGBd/Dunwich-5-Blood-on-the-Altar-Mark-Molnar.jpg"
  }, {
    Name = "V - Undimensioned and Unseen 1",
    URL = "https://i.ibb.co/QvfhjDv/Dunwich-6-Undimensioned-and-Unseen-Frej-Agelii.jpg"
  }, {
    Name = "V - Undimensioned and Unseen 2",
    URL = "https://i.ibb.co/4VL9gSK/Dunwich-6-Undimensioned-and-Unseen-Lucas-Staniec.jpg"
  }, {
    Name = "V - Undimensioned and Unseen 3",
    URL = "https://i.ibb.co/wBFsS8P/Dunwich-6-Undimensioned-and-Unseen-Michal-Teliga-jpg.jpg"
  }, {
    Name = "V - Undimensioned and Unseen 4",
    URL = "https://i.ibb.co/wwGDcq6/Dunwich-6-Undimensioned-and-Unseen-Tomasz-Jedruszek.jpg"
  }, {
    Name = "VI - Where Doom Awaits 1",
    URL = "https://i.ibb.co/TvMwqj4/Dunwich-7-Where-Doom-Awaits.jpg"
  }, {
    Name = "VI - Where Doom Awaits 2",
    URL = "https://i.ibb.co/S6cSLH9/Dunwich-7-Where-Doom-Awaits-3.jpg"
  }, {
    Name = "VI - Where Doom Awaits 3",
    URL = "https://i.ibb.co/khBX32g/Dunwich-7-Where-Doom-Awaits-4.jpg"
  }, {
    Name = "VI - Where Doom Awaits 4",
    URL = "https://i.ibb.co/S0hcwN8/Dunwich-7-Where-Doom-Awaits-5.jpg"
  }, {
    Name = "VI - Where Doom Awaits 5",
    URL = "https://i.ibb.co/Lxv1Bjp/Dunwich-7-Where-Doom-Awaits-Luca-Trentin.jpg"
  }, {
    Name = "VII - Lost in Time and Space 1",
    URL = "https://i.ibb.co/rtTpbDx/Dunwich-8-Lost-in-Time-amp-Space.jpg"
  }, {
    Name = "VII - Lost in Time and Space 2",
    URL = "https://i.ibb.co/dBXP0GL/Dunwich-8-Lost-in-Time-amp-Space-Chris-Ostrowski.jpg"
  }, {
    Name = "VII - Lost in Time and Space 3",
    URL = "https://i.ibb.co/0XcnxFD/Dunwich-8-Lost-in-Time-amp-Space-Lino-Drieghe.jpg"
  } },
  ["Edge of the Earth"] = { {
    Name = "I - Ice and Death 1",
    URL = "https://i.ibb.co/FWZMWtW/Edge-1-Ice-and-Death-David-Frasheski.png"
  }, {
    Name = "I - Ice and Death 2",
    URL = "https://i.ibb.co/QDGV0jQ/Edge-1-Ice-and-Death-Felix-Riano.png"
  }, {
    Name = "I - Ice and Death 3",
    URL = "https://i.ibb.co/hFJQM8v/Edge-1-Ice-and-Death-Mike-Gizienski.png"
  }, {
    Name = "??? - Fatal Mirage",
    URL = "https://i.ibb.co/KzwvjJN/Edge-2-Fatal-Mirage-David-Frasheski.png"
  }, {
    Name = "II - Forbidden Peaks 1",
    URL = "https://i.ibb.co/C2SLByt/Edge-2-Forbidden-Peaks-David-Frasheski-2.png"
  }, {
    Name = "II - Forbidden Peaks 2",
    URL = "https://i.ibb.co/0cGkkBL/Edge-3-Forbidden-Peaks-David-Frasheski.png"
  }, {
    Name = "III - City of Elder Things 1",
    URL = "https://i.ibb.co/FbpgBD3/Edge-4-City-Francois-Baranger.png"
  }, {
    Name = "III - City of Elder Things 2",
    URL = "https://i.ibb.co/ncRvHr3/Edge-4-City-Francois-Baranger-2.png"
  }, {
    Name = "IV - Heart of Madness 1",
    URL = "https://i.ibb.co/rk0qR4z/Edge-5-Heart-of-Madness-Karol-Sollich.png"
  }, {
    Name = "IV - Heart of Madness 2",
    URL = "https://i.ibb.co/NVFjx6N/Edge-5-Heart-of-Madness-Miguel-Coimbra.png"
  } },
  ["The Forgotten Age"] = { {
    Name = "I - Untamed Wilds 1",
    URL = "https://i.ibb.co/BLhwCG1/Forgotten-Age-1-Untamed-Wilds-David-Frasheski.jpg"
  }, {
    Name = "I - Untamed Wilds 2",
    URL = "https://i.ibb.co/SnJfsNy/Forgotten-Age-1-Untamed-Wilds-David-Frasheski-2.jpg"
  }, {
    Name = "I - Untamed Wilds 3",
    URL = "https://i.ibb.co/kcx1tvp/Forgotten-Age-1-Untamed-Wilds-Ethan-Patrick-Harris.jpg"
  }, {
    Name = "I - Untamed Wilds 4",
    URL = "https://i.ibb.co/HPbJwXk/Forgotten-Age-1-Untamed-Wilds-Lucas-Staniec.jpg"
  }, {
    Name = "I - Untamed Wilds 5",
    URL = "https://i.ibb.co/bbq1ZrK/Forgotten-Age-1-Untamed-Wilds-Nele-Diel.jpg"
  }, {
    Name = "II - Doom of Etzli 1",
    URL = "https://i.ibb.co/Pw4by4q/Forgotten-Age-2-Doom-of-Eztli-Cristi-Balanescu.jpg"
  }, {
    Name = "II - Doom of Etzli 2",
    URL = "https://i.ibb.co/xqW6cXR/Forgotten-Age-2-Doom-of-Eztli-Greg-Bobrowski.jpg"
  }, {
    Name = "II - Doom of Etzli 3",
    URL = "https://i.ibb.co/kgsC3pb/Forgotten-Age-2-Doom-of-Eztli-Nele-Diel.jpg"
  }, {
    Name = "III - Threads of Fate",
    URL = "https://i.ibb.co/Bn0Pjng/Forgotten-Age-3-Threads-of-Fate-Jokubas-Uogintas.jpg"
  }, {
    Name = "IV - Boundary Beyond 1",
    URL = "https://i.ibb.co/yPZ9v2X/Forgotten-Age-4-Boundary-Beyond-Greg-Bobrowski-2-jpg.jpg"
  }, {
    Name = "IV - Boundary Beyond 2",
    URL = "https://i.ibb.co/vm0JgFs/Forgotten-Age-4-Boundary-Beyond-Greg-Bobrowski-jpg.jpg"
  }, {
    Name = "IV - Boundary Beyond 3",
    URL = "https://i.ibb.co/D1rh9Ry/Forgotten-Age-4-Boundary-Beyond-Nele-Diel.jpg"
  }, {
    Name = "V - Heart of the Elders I-1",
    URL = "https://i.ibb.co/jzKvv6P/Forgotten-Age-5-Heart-of-the-Elders-I-Lucas-Staniec.jpg"
  }, {
    Name = "V - Heart of the Elders I-2",
    URL = "https://i.ibb.co/mR79MX4/Forgotten-Age-5-Heart-of-the-Elders-I-Lucas-Staniec-2.jpg"
  }, {
    Name = "V - Heart of the Elders II",
    URL = "https://i.ibb.co/pQSbL0t/Forgotten-Age-5-Heart-of-the-Elders-II-Nele-Diel.jpg"
  }, {
    Name = "VI - City of Archives 1",
    URL = "https://i.ibb.co/f04DSPb/Forgotten-Age-6-City-of-Archives.jpg"
  }, {
    Name = "VI - City of Archives 2",
    URL = "https://i.ibb.co/WsSBrYj/Forgotten-Age-6-City-of-Archives-2.jpg"
  }, {
    Name = "VI - City of Archives 3",
    URL = "https://i.ibb.co/qdPbSZ8/Forgotten-Age-6-City-of-Archives-Chris-Ostrowski.jpg"
  }, {
    Name = "VII - Depths of Yoth  1",
    URL = "https://i.ibb.co/dbLKgGv/Forgotten-Age-7-Depths-of-Yoth-Diego-Arbetta.jpg"
  }, {
    Name = "VII - Depths of Yoth  2",
    URL = "https://i.ibb.co/NW7Wp98/Forgotten-Age-7-Depths-of-Yoth-Greg-Bobrowski.jpg"
  }, {
    Name = "VII - Depths of Yoth  3",
    URL = "https://i.ibb.co/257zr7c/Forgotten-Age-7-Depths-of-Yoth-Greg-Bobrowski-2-jpg.jpg"
  }, {
    Name = "VIII - Shattered Aeons 1",
    URL = "https://i.ibb.co/KwnWTGR/Forgotten-Age-8-Shattered-Aeons.jpg"
  }, {
    Name = "VIII - Shattered Aeons 2",
    URL = "https://i.ibb.co/b7kVd4F/Forgotten-Age-8-Shattered-Aeons-Alexandr-Elichev.jpg"
  } },
  ["The Innsmouth Conspiracy"] = { {
    Name = "I - Pit of Despair 1",
    URL = "https://i.ibb.co/2sc0F61/Innsmouth-1-Pit-of-Despair-Amanda-Castrillo.jpg"
  }, {
    Name = "I - Pit of Despair 2",
    URL = "https://i.ibb.co/Nj9JLBQ/Innsmouth-1-Pit-of-Despair-J-Mill.jpg"
  }, {
    Name = "II - Vanishing of Elina Harper 1",
    URL = "https://i.ibb.co/2j74cVn/Innsmouth-2-Vanishing-of-Elina-Harper-Konstantin-Vohwinkel.jpg"
  }, {
    Name = "II - Vanishing of Elina Harper 2",
    URL = "https://i.ibb.co/r2VqHSn/Innsmouth-2-Vanishing-of-Elina-Harper-Mihail-Bila.jpg"
  }, {
    Name = "II - Vanishing of Elina Harper 3",
    URL = "https://i.ibb.co/hFQMm7N/Innsmouth-2-Vanishing-of-Elina-Harper-Richard-Wright.jpg"
  }, {
    Name = "II - Vanishing of Elina Harper 4",
    URL = "https://i.ibb.co/2nZKGN6/Innsmouth-2-Vanishing-of-Elina-Harper-Tomasz-Jedruszek-1.jpg"
  }, {
    Name = "II - Vanishing of Elina Harper 5",
    URL = "https://i.ibb.co/WxLpKrM/Innsmouth-2-Vanishing-of-Elina-Harper-Tomasz-Jedruszek-2.jpg"
  }, {
    Name = "III - In Too Deep 1",
    URL = "https://i.ibb.co/SsQ3my4/Innsmouth-3-In-Too-Deep-David-Frasheski.jpg"
  }, {
    Name = "III - In Too Deep 2",
    URL = "https://i.ibb.co/jgQ8zQN/Innsmouth-3-In-Too-Deep-Klaudia-Bezak.jpg"
  }, {
    Name = "III - In Too Deep 3",
    URL = "https://i.ibb.co/VVgtNM1/Innsmouth-3-In-Too-Deep-Patrik-Antonescu.jpg"
  }, {
    Name = "IV - Devil Reef 1",
    URL = "https://i.ibb.co/Jrf6CJ0/Innsmouth-4-Devil-Reef-Ludovic-Sanson.jpg"
  }, {
    Name = "IV - Devil Reef 2",
    URL = "https://i.ibb.co/4jfwDZR/Innsmouth-4-Devil-Reef-Marc-Stewart.jpg"
  }, {
    Name = "V - Horror in High Gear 1",
    URL = "https://i.ibb.co/vqYJjYJ/Innsmouth-5-Horror-in-High-Gear-Greg-Bobrowski.jpg"
  }, {
    Name = "V - Horror in High Gear 2",
    URL = "https://i.ibb.co/yYrzbYS/Innsmouth-5-Horror-in-High-Gear-Greg-Bobrowski-2.jpg"
  }, {
    Name = "V - Horror in High Gear 3",
    URL = "https://i.ibb.co/fpKWhGY/Innsmouth-5-Horror-in-High-Gear-Guillem-H-Pongiluppi.jpg"
  }, {
    Name = "V - Horror in High Gear 4",
    URL = "https://i.ibb.co/YkLFy7y/Innsmouth-5-Horror-in-High-Gear-Rostyslav-Zagornov.jpg"
  }, {
    Name = "VI - Light in the Fog 1",
    URL = "https://i.ibb.co/v1rhgqJ/Innsmouth-6-Light-in-the-Fog-Florian-Aupetit.jpg"
  }, {
    Name = "VI - Light in the Fog 2",
    URL = "https://i.ibb.co/Db2pRd6/Innsmouth-6-Light-in-the-Fog-JB-Caillet.jpg"
  }, {
    Name = "VII - Lair of Dagon 1",
    URL = "https://i.ibb.co/QPwzQL5/Innsmouth-7-Lair-of-Dagon-Daria-Khlebnikova.jpg"
  }, {
    Name = "VII - Lair of Dagon 2",
    URL = "https://i.ibb.co/MZBpCbs/Innsmouth-7-Lair-of-Dagon-Guillem-H-Pongiluppi.jpg"
  }, {
    Name = "VIII - Into the Maelstrom 1",
    URL = "https://i.ibb.co/fkSXDgs/Innsmouth-8-Into-the-Maelstrom-Dimitri-Bielak.jpg"
  }, {
    Name = "VIII - Into the Maelstrom 2",
    URL = "https://i.ibb.co/k56Dn9q/Innsmouth-8-Into-the-Maelstrom-Mateusz-Michalski.jpg"
  } },
  ["Night of the Zealot"] = { {
    Name = "I - The Gathering 1",
    URL = "https://i.ibb.co/6NWqg1K/Zealot-Gathering.jpg"
  }, {
    Name = "III - Devourer Below 1",
    URL = "https://i.ibb.co/x5QFzrx/Zealot-3-Devourer-Below-Helen-Castelow.png"
  }, {
    Name = "III - Devourer Below 2",
    URL = "https://i.ibb.co/6r6LFGz/Zealot-3-Devourer-Below-Sarah-Miller.png"
  } }
}

local verticalOffset = 0.5

local buttonParameters          = {}
buttonParameters.function_owner = self
buttonParameters.width          = 1200
buttonParameters.height         = 300
buttonParameters.position       = { x = -0.2, y = 0.06, z = -verticalOffset }

local CycleIndex = 1
local CycleList = {
  "Arkham Locations",
  "Night of the Zealot",
  "The Dunwich Legacy",
  "The Path to Carcosa",
  "The Forgotten Age",
  "The Circle Undone",
  "The Dream Eaters",
  "The Innsmouth Conspiracy",
  "Edge of the Earth",
  "Side Scenarios",
  "Cyclopean Foundations (FM)",
  "Dark Matter (FM)",
  "Side Scenarios (FM)"
}

-- save the index of selected cycle and table with spawnData
function onSave() return JSON.encode({ CycleIndex, spawnData }) end

function onLoad(savedData)
  if savedData == nil then
    print("Error: Saved Data was not found.")
  else
    local loadedData = JSON.decode(savedData)
    CycleIndex       = loadedData[1]
    spawnData        = loadedData[2]
  end

  --spawnData = getObjectFromGUID("f4a462").getData()

  -- index 0: cycle selection button
  buttonParameters.click_function = "selectCycle"
  buttonParameters.tooltip        = "Select a cycle"
  buttonParameters.label          = CycleList[CycleIndex]
  buttonParameters.font_size      = 90
  self.createButton(buttonParameters)

  -- index 1: display button
  buttonParameters.click_function = "showImages"
  buttonParameters.tooltip        = "Right-Click to remove displayed tiles"
  buttonParameters.label          = "Display available images"
  buttonParameters.position.z     = buttonParameters.position.z + 2 * verticalOffset
  self.createButton(buttonParameters)
end

-- open option dialog to select cycle
function selectCycle(_, color)
  Player[color].showOptionsDialog("Select cycle:", CycleList, CycleIndex, optionCallback)
end

-- update CycleIndex based on selection in the option dialog
function optionCallback(_, optionIndex)
  CycleIndex = optionIndex
  self.editButton({
    index = 0,
    label = CycleList[CycleIndex]
  })
end

-- triggered by clicking the "display" button
function showImages(_, _, isRightClick)
  removeImages()

  -- don't display new tiles when right-clicked
  if isRightClick then return end

  local pos = self.getPosition()
  local offset = 4.5
  pos.x = pos.x - offset

  -- loop over respective entries in DATA
  for i, entry in ipairs(DATA[CycleList[CycleIndex]]) do
    spawnData.CustomImage.ImageURL = entry.URL
    spawnData.Nickname = entry.Name

    spawnObjectData({
      data     = spawnData,
      position = pos,
      rotation = self.getRotation(),
      scale    = { 1, 1, 1 }
    })

    -- display 10 tiles in a row, move then to next row
    if i % 10 == 0 then
      pos.x = pos.x - offset
      pos.z = self.getPosition().z
    else
      pos.z = pos.z - offset
    end
  end
end

-- remove already laid out image tiles by tag
function removeImages()
  for _, tile in ipairs(getObjectsWithTag("ImageSwapperTile")) do
    tile.destruct()
  end
end
end)
return __bundle_require("__root")