PPPPPPP před 1 měsícem
rodič
revize
23a1f774b3

+ 2 - 0
.gitignore

@@ -0,0 +1,2 @@
+.idea
+.env

+ 3482 - 0
app/Game/Config/IGTgamesConfig.json

@@ -0,0 +1,3482 @@
+{
+  "200-1219-001": {
+    "gameTitle": "Double Diamond",
+    "game": "Double Diamond",
+    "studio": "saber",
+    "gameType": "S",
+    "gamePath": "/studios/saber/games/DoubleDiamondSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.4",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1551-001": {
+    "gameTitle": "Cash Eruption",
+    "game": "Cash Eruption",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/CashEruption",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "denomamount": "0.03",
+    "gameVersion": "1.0.10",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1443-011": {
+    "gameTitle": "MegaJackpots Wheel of Fortune On Air",
+    "game": "MegaJackpots Wheel of Fortune On Air",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/MegaJackpotsWheelOfFortune",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "denomamount": "0.01",
+    "gameVersion": "1.0.10",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/M01-01-1",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/M01-01-1"
+  },
+  "200-1196-001": {
+    "gameTitle": "Wolf Run",
+    "game": "Wolf Run",
+    "studio": "crdc",
+    "gameType": "S",
+    "gamePath": "/studios/crdc/games/WolfRun",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.8",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1696-001": {
+    "gameTitle": "Book Of Unseen",
+    "game": "Book Of Unseen",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/BookOfUnseenBonusBuy",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1173-001": {
+    "gameTitle": "Cleopatra",
+    "game": "Cleopatra",
+    "studio": "crdc",
+    "gameType": "S",
+    "gamePath": "/studios/crdc/games/CleopatraSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.1.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "6.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1674-001": {
+    "gameTitle": "Fort Knox Cats",
+    "game": "Fort Knox Cats",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/FortKnoxCatsCt",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-27-302",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-27-302"
+  },
+  "200-1645-001": {
+    "gameTitle": "Prosperity Link Wan Shi Ru Yi",
+    "game": "Prosperity Link Wan Shi Ru Yi",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/ProsperityLinkWanShiRuYi",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.1.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-33-282",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-33-282"
+  },
+  "200-1662-001": {
+    "gameTitle": "Prosperity Link Cai Yun Heng Tong",
+    "game": "Prosperity Link Cai Yun Heng Tong",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/ProsperityLinkCaiYunHengTong",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.1.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "denomamount": 0.01,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-33-282",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-33-282"
+  },
+  "200-1682-001": {
+    "gameTitle": "MegaJackpots Ocean Spirit",
+    "game": "MegaJackpots Ocean Spirit",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/MegaJackpotsOceanSpirit",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/M01-01-1",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/M01-01-1"
+  },
+  "200-1664-001": {
+    "gameTitle": "Mystery Of The Lamp Treasure Oasis",
+    "game": "Mystery Of The Lamp Treasure Oasis",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/MysteryOfTheLampTreasureOasis",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1473-001": {
+    "gameTitle": "POWERBUCKS Wheel of Fortune Exotic Far East",
+    "game": "POWERBUCKS Wheel of Fortune Exotic Far East",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/PBWOFExoticFarEast",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.6",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/02-01-3",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/02-01-3"
+  },
+  "200-1100-001": {
+    "gameTitle": "Da Vinci Diamonds",
+    "game": "Da Vinci Diamonds",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DaVinciDiamondsSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.25",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1240-001": {
+    "gameTitle": "Balloonies",
+    "game": "Balloonies",
+    "studio": "crdc",
+    "gameType": "S",
+    "gamePath": "/studios/crdc/games/BallooniesIXF",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.8",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1127-001": {
+    "gameTitle": "Kitty Glitter",
+    "game": "Kitty Glitter",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/KittyGlitter",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1150-001": {
+    "gameTitle": "Siberian Storm",
+    "game": "Siberian Storm",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/SiberianStormSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.9",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1498-001": {
+    "gameTitle": "Ocean Magic",
+    "game": "Ocean Magic",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/OceanMagic",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "2.0.9",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1433-001": {
+    "gameTitle": "Solar Disc",
+    "game": "Solar Disc",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/SolarDisc",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.15",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1342-001": {
+    "gameTitle": "Smash The Pig",
+    "game": "Smash The Pig",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/SmashThePig",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "denomamount": "0.03",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1233-001": {
+    "gameTitle": "Lucky Larry's Lobstermania 2",
+    "game": "Lucky Larry's Lobstermania 2",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/LuckyLarrysLobstermania2",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.9",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "6.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1463-001": {
+    "gameTitle": "The Price Is Right",
+    "game": "The Price Is Right",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/PriceIsRight",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "2.0.6",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1389-001": {
+    "gameTitle": "Elephant King",
+    "game": "Elephant King",
+    "studio": "crdc",
+    "gameType": "S",
+    "gamePath": "/studios/crdc/games/ElephantKingSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.18",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1313-001": {
+    "gameTitle": "Icy Wilds",
+    "game": "Icy Wilds",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/IcyWilds",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.12",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1158-001": {
+    "gameTitle": "Da Vinci Diamonds Dual Play",
+    "game": "Da Vinci Diamonds Dual Play",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DaVinciDiamondsDualPlaySKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1345-001": {
+    "gameTitle": "Cleopatra PLUS",
+    "game": "Cleopatra PLUS",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CleopatraPlusSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.9",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1495-001": {
+    "gameTitle": "Fortune Coin",
+    "game": "Fortune Coin",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/FortuneCoin",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1505-001": {
+    "gameTitle": "Golden Egypt",
+    "game": "Golden Egypt",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/GoldenEgypt",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.8",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1454-001": {
+    "gameTitle": "Pyramidion",
+    "game": "Pyramidion",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/Pyramidion",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.9",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1397-001": {
+    "gameTitle": "King Of Macedonia",
+    "game": "King Of Macedonia",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/KingOfMacedonia",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1466-001": {
+    "gameTitle": "Scarab",
+    "game": "Scarab",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/Scarab",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.12",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1441-001": {
+    "gameTitle": "Raging Storms",
+    "game": "Raging Storms",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/RagingStorms",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.15",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1440-001": {
+    "gameTitle": "Wolf Ridge",
+    "game": "Wolf Ridge",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/WolfRidge",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.9",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1259-001": {
+    "gameTitle": "Wheel of Fortune Triple Extreme Spin",
+    "game": "Wheel of Fortune Triple Extreme Spin",
+    "studio": "saber",
+    "gameType": "S",
+    "gamePath": "/studios/saber/games/WheelOfFortuneTripleExtremeSpinSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.9",
+    "denomid": "461",
+    "denomamount": 0.01,
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1289-001": {
+    "gameTitle": "Wheel of Fortune On Tour",
+    "game": "Wheel of Fortune On Tour",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/WheelOfFortuneOnTourSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.3",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1455-001": {
+    "gameTitle": "Little Green Men Nova Wilds",
+    "game": "Little Green Men Nova Wilds",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/LittleGreenMenNovaWilds",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.6",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1400-001": {
+    "gameTitle": "Wishwood",
+    "game": "Wishwood",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/Wishwood",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.11",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1445-001": {
+    "gameTitle": "Wild Fury Jackpots",
+    "game": "Wild Fury Jackpots",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/WildFuryJackpotsIXF",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.12",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1401-001": {
+    "gameTitle": "Da Vinci Diamonds Masterworks",
+    "game": "Da Vinci Diamonds Masterworks",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DaVinciMasterworks",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.8",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1392-001": {
+    "gameTitle": "Fantastic Fireworks",
+    "game": "Fantastic Fireworks",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/FantasticFireworks",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.12",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1024-001": {
+    "gameTitle": "100,000 Pyramid",
+    "game": "100,000 Pyramid",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/PyramidSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.11",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1683-001": {
+    "gameTitle": "Double Top Dollar",
+    "game": "Double Top Dollar",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DoubleTopDollar",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1619-011": {
+    "gameTitle": "Diamond Spins Cats",
+    "game": "Diamond Spins Cats",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DiamondSpinsCats",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-43-182",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-43-182"
+  },
+  "200-1673-001": {
+    "gameTitle": "Fort Knox Cleopatra",
+    "game": "Fort Knox Cleopatra",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/FortKnoxCleopatraCt",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-27-302",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-27-302"
+  },
+  "200-1679-001": {
+    "gameTitle": "Red Hot Joker Cascade",
+    "game": "Red Hot Joker Cascade",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/RedHotJokerCascade",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1658-001": {
+    "gameTitle": "Cleopatra Hyper Hits!",
+    "game": "Cleopatra Hyper Hits!",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CleopatraHyperHits",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "2.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1643-001": {
+    "gameTitle": "Cash Eruption Red Hot Joker",
+    "game": "Cash Eruption Red Hot Joker",
+    "studio": "ingenuity",
+    "gameType": "S",
+    "gamePath": "/studios/ingenuity/games/CashEruptionRedHotJoker",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.4",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1640-001": {
+    "gameTitle": "Money Mania Sphinx Fire",
+    "game": "Money Mania Sphinx Fire",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/MoneyManiaSphinxFire",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/08-01-262",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/08-01-262"
+  },
+  "200-1633-001": {
+    "gameTitle": "Lion Safari",
+    "game": "Lion Safari",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/LionSafari",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1609-002": {
+    "gameTitle": "Wheel of Fortune Gold Spin Triple Red Hot 7s",
+    "game": "Wheel of Fortune Gold Spin Triple Red Hot 7s",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/WheelOfFortuneGoldSpinTripleRedHot7s",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1653-001": {
+    "gameTitle": "Treasure Box Clans",
+    "game": "Treasure Box Clans",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/TreasureBoxClans",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1541-001": {
+    "gameTitle": "Big City 5's",
+    "game": "Big City 5's",
+    "studio": "ingenuity",
+    "gameType": "S",
+    "gamePath": "/studios/ingenuity/games/BigCityFives",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1518-001": {
+    "gameTitle": "Irish Magic",
+    "game": "Irish Magic",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/IrishMagic",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.14",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1510-001": {
+    "gameTitle": "Season's 7s",
+    "game": "Season's 7s",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/Seasons7s",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.05",
+    "gameVersion": "1.0.2",
+    "denomid": "597",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1088-001": {
+    "gameTitle": "Texas Tea",
+    "game": "Texas Tea",
+    "studio": "ingenuity",
+    "gameType": "S",
+    "gamePath": "/studios/ingenuity/games/TexasTea",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "7.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1137-001": {
+    "gameTitle": "Cats",
+    "game": "Cats",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CatsSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.1.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1221-001": {
+    "gameTitle": "Triple Diamond",
+    "game": "Triple Diamond",
+    "studio": "saber",
+    "gameType": "S",
+    "gamePath": "/studios/saber/games/TripleDiamondSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.10",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1236-001": {
+    "gameTitle": "Pharaoh's Fortune",
+    "game": "Pharaoh's Fortune",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/PharaohsFortune",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.6",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1176-001": {
+    "gameTitle": "Crown Of Egypt",
+    "game": "Crown Of Egypt",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CrownOfEgyptIXF",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.6",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "6.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1117-001": {
+    "gameTitle": "Treasures of Troy",
+    "game": "Treasures of Troy",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/TreasuresOfTroy",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.4",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1195-001": {
+    "gameTitle": "Rich Girl",
+    "game": "Rich Girl",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/RichGirlSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1309-001": {
+    "gameTitle": "Treasures Of The Pyramids",
+    "game": "Treasures Of The Pyramids",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/TreasuresOfThePyramidsSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1303-001": {
+    "gameTitle": "Triple Red Hot 7s Free Games",
+    "game": "Triple Red Hot 7s Free Games",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/TripleRedHot7sFreeGamesIXF",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "6.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1295-001": {
+    "gameTitle": "CandyBars",
+    "game": "CandyBars",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CandyBarsIXF",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1157-001": {
+    "gameTitle": "Pixies of the Forest",
+    "game": "Pixies of the Forest",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/PixiesOfTheForestSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.10",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "7.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1494-001": {
+    "gameTitle": "Red Hot Tamales",
+    "game": "Red Hot Tamales",
+    "studio": "crdc",
+    "gameType": "S",
+    "gamePath": "/studios/crdc/games/RedHotTamales",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "0.1.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "0.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1114-001": {
+    "gameTitle": "White Orchid",
+    "game": "White Orchid",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/WhiteOrchidSKB",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.12",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.3",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1503-001": {
+    "gameTitle": "Cleopatra Gold",
+    "game": "Cleopatra Gold",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CleopatraGold",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.9",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1453-001": {
+    "gameTitle": "It's Magic",
+    "game": "It's Magic",
+    "studio": "crdc",
+    "gameType": "S",
+    "gamePath": "/studios/crdc/games/ItsMagicLilly",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1584-011": {
+    "gameTitle": "Diamond Spins Cleopatra",
+    "game": "Diamond Spins Cleopatra",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DiamondSpinsCleopatraUS",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "0.1.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-36-41",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-36-41"
+  },
+  "200-1385-011": {
+    "gameTitle": "MegaJackpots Golden Goddess",
+    "game": "MegaJackpots Golden Goddess",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/GoldenGoddessMJP",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.13",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "6.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/M01-04-2",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/M01-04-2"
+  },
+  "200-1508-001": {
+    "gameTitle": "Coin O Mania",
+    "game": "Coin O Mania",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CoinOMania",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.6",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1396-001": {
+    "gameTitle": "Twenty Seven",
+    "game": "Twenty Seven",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/TwentySeven",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1430-001": {
+    "gameTitle": "Mystery Express",
+    "game": "Mystery Express",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/MysteryExpress",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1423-001": {
+    "gameTitle": "MegaJackpots Ocean Belles",
+    "game": "MegaJackpots Ocean Belles",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/OceanBelles",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.16",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/M01-04-2",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/M01-04-2"
+  },
+  "200-1399-001": {
+    "gameTitle": "Keystone Kops",
+    "game": "Keystone Kops",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/KeystoneKops",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.24",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-24-21",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-24-21"
+  },
+  "200-1602-001": {
+    "gameTitle": "Water Warriors",
+    "game": "Water Warriors",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/WaterWarriors",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1622-001": {
+    "gameTitle": "Wolf Run Eclipse",
+    "game": "Wolf Run Eclipse",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/WolfRunEclipse",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1502-001": {
+    "gameTitle": "Bill And Ted's Excellent Adventure",
+    "game": "Bill And Ted's Excellent Adventure",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/BillAndTedsExcellentAdventure",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1442-001": {
+    "gameTitle": "Ghostbusters Plus",
+    "game": "Ghostbusters Plus",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/GhostbustersPlus",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.3",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1512-001": {
+    "gameTitle": "Mistress of Egypt",
+    "game": "Mistress of Egypt",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/MistressOfEgypt",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.10",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1499-001": {
+    "gameTitle": "Pixies Of The Forest II Classic",
+    "game": "Pixies Of The Forest II Classic",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/PixiesOfTheForest2FixedAward",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1355-001": {
+    "gameTitle": "The Big Easy",
+    "game": "The Big Easy",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/TheBigEasy",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1432-001": {
+    "gameTitle": "Electric Tiger",
+    "game": "Electric Tiger",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/ElectricTigerIXF",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.11",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1446-001": {
+    "gameTitle": "Action Jack",
+    "game": "Action Jack",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/ActionJack",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1492-001": {
+    "gameTitle": "Book Of The Sphinx",
+    "game": "Book Of The Sphinx",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/BookOfTheSphinxIXF",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.10",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1522-001": {
+    "gameTitle": "Crazy Wizard Classic",
+    "game": "Crazy Wizard Classic",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/CrazyWizardClassic",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.11",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1506-001": {
+    "gameTitle": "Sphinx",
+    "game": "Sphinx",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/SphinxClassic",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.4",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1507-001": {
+    "gameTitle": "Griffins Throne",
+    "game": "Griffins Throne",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/GriffinsThrone",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.6",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1501-001": {
+    "gameTitle": "Enchanted Lamp",
+    "game": "Enchanted Lamp",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/EnchantedLamp",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1519-001": {
+    "gameTitle": "Treasure Hunt",
+    "game": "Treasure Hunt",
+    "studio": "present",
+    "gameType": "S",
+    "gamePath": "/studios/present/games/TreasureHunt",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1694-001": {
+    "gameTitle": "Cash Eruption Coins & Clovers",
+    "game": "Cash Eruption Coins & Clovers",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CashEruptionCoinsAndClovers",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.3",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1580-002": {
+    "gameTitle": "Fa Cai Shu",
+    "game": "Fa Cai Shu",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/Facaishu",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1670-001": {
+    "gameTitle": "Cash Eruption Hoggin Cash",
+    "game": "Cash Eruption Hoggin Cash",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CashEruptionHogginCash",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1576-001": {
+    "gameTitle": "Cash Melon",
+    "game": "Cash Melon",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CashMelon",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.4",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1632-001": {
+    "gameTitle": "Cleopatra Christmas",
+    "game": "Cleopatra Christmas",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CleopatraChristmas",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.3",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1250-011": {
+    "gameTitle": "MegaJackpots Cleopatra",
+    "game": "MegaJackpots Cleopatra",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CleopatraMJP",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.18",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "7.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/M01-04-2",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/M01-04-2"
+  },
+  "200-1681-001": {
+    "gameTitle": "Cool Catch 2 License To Krill",
+    "game": "Cool Catch 2 License To Krill",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CoolCatch2LicenseToKrill",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1391-001": {
+    "gameTitle": "Crazy Wizard",
+    "game": "Crazy Wizard",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/CrazyWizard",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.10",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-26-82",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-26-82"
+  },
+  "200-1597-001": {
+    "gameTitle": "Dyn-a-Miners",
+    "game": "Dyn-a-Miners",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/DynAMiners",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1524-001": {
+    "gameTitle": "Great Bear",
+    "game": "Great Bear",
+    "studio": "crdc",
+    "gameType": "S",
+    "gamePath": "/studios/crdc/games/GreatBear",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.3",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1563-001": {
+    "gameTitle": "Loaded 7's",
+    "game": "Loaded 7's",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/Loaded7s",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "0.1.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1484-001": {
+    "gameTitle": "Diamond Spins Mistress of Egypt",
+    "game": "Diamond Spins Mistress of Egypt",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DiamondSpinsMistressOfEgypt",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.12",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-36-41",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-36-41"
+  },
+  "200-1548-001": {
+    "gameTitle": "POWERBUCKS Wheel of Fortune Latin Getaways",
+    "game": "POWERBUCKS Wheel of Fortune Latin Getaways",
+    "studio": "belgrade",
+    "gameType": "S",
+    "gamePath": "/studios/belgrade/games/PBWOFLatinGetaways",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.3",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/02-01-3",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/02-01-3"
+  },
+  "200-1544-001": {
+    "gameTitle": "Simsalaspinn 2 Classic",
+    "game": "Simsalaspinn 2 Classic",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/SimsalaSpinn2Classic",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.4",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1596-001": {
+    "gameTitle": "Snowy Secrets",
+    "game": "Snowy Secrets",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/SnowySecrets",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "0.1.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1606-001": {
+    "gameTitle": "Treasure Box Dynasty",
+    "game": "Treasure Box Dynasty",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/TreasureBoxDynasty",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1549-001": {
+    "gameTitle": "Treasure Box Kingdom",
+    "game": "Treasure Box Kingdom",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/TreasureBoxKingdom",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.5",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1538-001": {
+    "gameTitle": "Triple Gold",
+    "game": "Triple Gold",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/TripleGold",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.05",
+    "gameVersion": "1.0.8",
+    "denomid": "597",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1474-001": {
+    "gameTitle": "Triple Hot Ice",
+    "game": "Triple Hot Ice",
+    "studio": "ingenuity",
+    "gameType": "S",
+    "gamePath": "/studios/ingenuity/games/TripleHotIce",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.1.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1483-001": {
+    "gameTitle": "Diamond Spins Volcano Queen",
+    "game": "Diamond Spins Volcano Queen",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DiamondSpinsVolcanoQueen",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.10",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/L01-36-41",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/L01-36-41"
+  },
+  "200-1535-001": {
+    "gameTitle": "Wheel of Fortune Megaways",
+    "game": "Wheel of Fortune Megaways",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/WheelOfFortuneMegaways",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.17",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1296-001": {
+    "gameTitle": "Wheel of Fortune Power Wedges",
+    "game": "Wheel of Fortune Power Wedges",
+    "studio": "ingenuity",
+    "gameType": "S",
+    "gamePath": "/studios/ingenuity/games/WheelOfFortunePowerWedges",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "0.1.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "300-2156-101": {
+    "gameTitle": "Little Green Men Warp Reactor COM",
+    "game": "Little Green Men Warp Reactor COM",
+    "studio": "crdc",
+    "gameType": "L",
+    "gamePath": "/studios/crdc/games/LittleGreenMenWarpReactorIW",
+    "gameWindowWidth": "800",
+    "gameWindowHeight": "600",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1660-001": {
+    "gameTitle": "The Wild Life",
+    "game": "The Wild Life",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/TheWildLife",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.3",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1630-001": {
+    "gameTitle": "Wheel Of Fortune Triple Extreme Spin",
+    "game": "Wheel Of Fortune Triple Extreme Spin",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/WheelOfFortuneTripleExtremeSpinFoundryPort",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1614-001": {
+    "gameTitle": "Stinkin' Rich Skunks Gone Wild",
+    "game": "Stinkin' Rich Skunks Gone Wild",
+    "studio": "ingenuity",
+    "gameType": "S",
+    "gamePath": "/studios/ingenuity/games/StinkinRichSkunksGoneWild",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1319-001": {
+    "gameTitle": "7s Wild",
+    "game": "7s Wild",
+    "studio": "ingenuity",
+    "gameType": "S",
+    "gamePath": "/studios/ingenuity/games/SevensWild",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.05",
+    "gameVersion": "1.0.3",
+    "denomid": "597",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "3.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1390-001": {
+    "gameTitle": "Baywatch",
+    "game": "Baywatch",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/Baywatch",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.4",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1607-001": {
+    "gameTitle": "Cash Eruption Vegas",
+    "game": "Cash Eruption Vegas",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CashEruptionVegas",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1642-001": {
+    "gameTitle": "Cleopatra Caesars",
+    "game": "Cleopatra Caesars",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CleopatraCaesars",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1724-001": {
+    "gameTitle": "Cash Eruption High Stakes",
+    "game": "Cash Eruption High Stakes",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/CashEruptionHighLimit",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "denomamount": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1610-001": {
+    "gameTitle": "Declaration Of Spindependence",
+    "game": "Declaration Of Spindependence",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/DeclarationOfSpindependence",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1359-001": {
+    "gameTitle": "Ghostbusters Triple Slime",
+    "game": "Ghostbusters Triple Slime",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/GhostbustersTripleSlime",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "2.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1672-001": {
+    "gameTitle": "Greenback Attack",
+    "game": "Greenback Attack",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/GreenbackAttack",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.1.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1599-001": {
+    "gameTitle": "Ice Heist",
+    "game": "Ice Heist",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/IceHeist",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1657-001": {
+    "gameTitle": "Kitty Glitter Grand",
+    "game": "Kitty Glitter Grand",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/KittyGlitterGrand",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1587-001": {
+    "gameTitle": "Lucky Golden Toad",
+    "game": "Lucky Golden Toad",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/LuckyGoldenToad",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.1.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1707-001": {
+    "gameTitle": "MGM Lucky Golden Lions",
+    "game": "MGM Lucky Golden Lions",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/LuckyGoldenLions",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.2.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1605-001": {
+    "gameTitle": "Maria's Marigolds",
+    "game": "Maria's Marigolds",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/MariasMarigolds",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1615-001": {
+    "gameTitle": "Medusa Queen Of Stone",
+    "game": "Medusa Queen Of Stone",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/MedusaQueenOfStone",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1698-001": {
+    "gameTitle": "Ocean Spirit",
+    "game": "Ocean Spirit",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/OceanSpirit",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1591-001": {
+    "gameTitle": "Polar Wilds",
+    "game": "Polar Wilds",
+    "studio": "omi",
+    "gameType": "S",
+    "gamePath": "/studios/omi/games/PolarWilds",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1689-001": {
+    "gameTitle": "Prosperity Pearl",
+    "game": "Prosperity Pearl",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/ProsperityPearl",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1525-001": {
+    "gameTitle": "Survivor",
+    "game": "Survivor",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/Survivor",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1618-001": {
+    "gameTitle": "Triple Gold Bars",
+    "game": "Triple Gold Bars",
+    "studio": "ingenuity",
+    "gameType": "S",
+    "gamePath": "/studios/ingenuity/games/TripleGoldBars",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "5.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1556-001": {
+    "gameTitle": "Valley Of The Gods",
+    "game": "Valley Of The Gods",
+    "studio": "yggdrasil",
+    "gameType": "S",
+    "gamePath": "/studios/yggdrasil/games/ValleyOfTheGods",
+    "gameWindowWidth": "1024",
+    "gameWindowHeight": "864",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "300-2044-101": {
+    "gameTitle": "Wheel of Fortune COM",
+    "game": "Wheel of Fortune COM",
+    "studio": "interactive",
+    "gameType": "L",
+    "gamePath": "/studios/interactive/games/WheelOfFortuneUI2",
+    "gameWindowWidth": "800",
+    "gameWindowHeight": "600",
+    "minbet": "0.01",
+    "gameVersion": "1.0.8",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1691-001": {
+    "gameTitle": "Whitney Houston",
+    "game": "Whitney Houston",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/WhitneyHouston",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1553-001": {
+    "gameTitle": "Wheel of Fortune Triple Gold Gold Spin",
+    "game": "Wheel of Fortune Triple Gold Gold Spin",
+    "studio": "present",
+    "gameType": "S",
+    "gamePath": "/studios/present/games/WheelOfFortuneTripleGoldGoldSpin",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.1",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "300-2011-101": {
+    "gameTitle": "Lil Lady Bingo COM",
+    "game": "Lil Lady Bingo COM",
+    "studio": "interactive",
+    "gameType": "L",
+    "gamePath": "/studios/interactive/games/LilLadyBingoUI2",
+    "gameWindowWidth": "800",
+    "gameWindowHeight": "600",
+    "minbet": "0.01",
+    "gameVersion": "1.0.7",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "1.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html"
+  },
+  "200-1666-001": {
+    "gameTitle": "MegaJackpots Da Vinci Diamonds",
+    "game": "MegaJackpots Da Vinci Diamonds",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/MegaJackpotsDavinciDiamonds",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "4.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/M01-01-1",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/M01-01-1"
+  },
+  "200-1652-001": {
+    "gameTitle": "MegaJackpots Fortune Coin",
+    "game": "MegaJackpots Fortune Coin",
+    "studio": "interactive",
+    "gameType": "S",
+    "gamePath": "/studios/interactive/games/MegaJackpotsFortuneCoin",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.2",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/M01-01-122",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/M01-01-122"
+  },
+  "200-1634-001": {
+    "gameTitle": "MegaJackpots Jungle Tower",
+    "game": "MegaJackpots Jungle Tower",
+    "studio": "onseo",
+    "gameType": "S",
+    "gamePath": "/studios/onseo/games/MegaJackpotsJungleTower",
+    "gameWindowWidth": "1440",
+    "gameWindowHeight": "906",
+    "minbet": "0.01",
+    "gameVersion": "1.0.0",
+    "denomid": "461",
+    "revisionTag": "b273c30c-b0ed-4ea1-b660-23021844f934",
+    "assetPack": "mobile",
+    "gleVersion": "2.0",
+    "spaceBarSpin": false,
+    "softDisplay": false,
+    "turboMode": false,
+    "speedOption": true,
+    "slamStop": "OFF",
+    "dealerVoice": "OFF",
+    "rgPresentation": true,
+    "tCustomPath": "/console-drop.html?config_path=../Marketing/console.json",
+    "bCustomPath": "/console-gaff.html",
+    "jackpotMeterPath": "/jackpotmeter/ws/meter/M01-01-122",
+    "jackpotWinsPath": "/jackpotmeter/ws/meter/wins/M01-01-122"
+  }
+}

+ 650 - 0
app/Game/Config/IGTlanguages.json

@@ -0,0 +1,650 @@
+{
+    "en": {
+        "errGameError": "A system error has occurred.",
+        "awardedFreespins": "YOU HAVE BEEN AWARDED PROMO ROUNDS",
+        "lossLimitHit": "Loss limit reached.",
+        "freeSpinOptionReminder": "How would you like to use your Promo Rounds?",
+        "errGeoPermission": "Unable to access location data. Enable location services for {0}, or switch to Wifi.",
+        "freespinComplete": "Promo Rounds complete",
+        "labelChoose": "Please choose",
+        "terms": "Terms and Conditions",
+        "errLaunchAnotherGame": "You are unable to purchase tickets for this game at this time. Please return to the lobby and select another game.",
+        "errConnection": "Data not received.",
+        "errOffline": "There is no network connection. Please try again when you are connected.",
+        "errNetworkError": "A system error has occurred.",
+        "offerFormat": "PROMO ROUNDS AT",
+        "lblFreeSpins": "Promo Rounds",
+        "errId": "Error ID:",
+        "btnTSReload": "Play for Real",
+        "multiplier": " Multiplier",
+        "btnNo": "No",
+        "stopSingleWinReachCeiling": "Stop if single win exceeds or equals (optional)",
+        "labelLastPlayed": "Last played",
+        "enterNicknamePlaceholder": "Enter Nickname",
+        "freeSpinOptionTable": "Game loading with {0} in Promo Rounds",
+        "btnYes": "Yes",
+        "errConnectionLost": "Connection lost! Click here to reload",
+        "btnRetry": "Retry",
+        "btnOk": "OK",
+        "freeSpinReminder": "Play your promo rounds",
+        "btnBet": "Bet",
+        "congratulations": "Congratulations",
+        "errLotteryPurchaseFirst": "You must purchase a ticket to launch the game. Please return to the lobby to purchase a ticket.",
+        "nbrOfAutoSpin": "Number of Auto Spins",
+        "labelOr": "Or",
+        "winLimitHit": "Single win limit reached.",
+        "lossLimit": "Select a loss limit",
+        "autoSpinStop": "\"Auto Spin stops automatically if a jackpot is awarded, a bonus is triggered, or the single win amount is reached.\"",
+        "btnLeaderboard": "Leaderboard",
+        "winLimitHitStopAutoplay": "Single win limit reached, Auto Play stopped.",
+        "getFreespins": "You have Promo Rounds",
+        "errGeoWarn": "Location confirmation required for regulatory purposes. When {0} asks for access to your location, select “allow”.",
+        "btnClose": "Close",
+        "btnStart": "Start",
+        "btnContinue": "Continue",
+        "lblBalance": "Balance",
+        "soundPromptMessage": "Would you like sound?",
+        "errInsufficientFundTable": "Sorry, that bet is not available with your remaining Promo Rounds balance.\\n Please try a different bet.",
+        "btnCancel": "Cancel",
+        "errInsufficientFund": "Insufficient funds.",
+        "spinTimeHit": "Auto Spin stopped.",
+        "freespinOver": "Promo Rounds over",
+        "freespinExpiredTime": "Expires: {0}",
+        "btnHelp": "Help",
+        "errSessionExpired": "Expired session. Dismiss this message to relaunch the game."
+    },
+    "cs": {
+        "errGameError": "Došlo k systémové chybě.",
+        "awardedFreespins": "BYLA VÁM UDĚLENA PROMO KOLA",
+        "lossLimitHit": "Bylo dosaženo limitu ztrát.",
+        "freeSpinOptionReminder": "Jak chcete svá promo kola využít?",
+        "errGeoPermission": "Není možné získat údaje o poloze. Povolte přístup k údajům o poloze pro {0} nebo přepněte na Wi-Fi.",
+        "freespinComplete": "Promo kola dokončena",
+        "labelChoose": "Vyberte možnost",
+        "terms": "Podmínky",
+        "errLaunchAnotherGame": "V tuto chvílli není možné tikety pro tuto hru zakoupit. Vraťte se zpět na hlavní stránku a vyberte jinou hru.",
+        "errConnection": "Nebyla přijata žádná data.",
+        "errOffline": "Není navázáno připojení k síti. Zkuste to po úspěšném připojení znovu.",
+        "errNetworkError": "Došlo k systémové chybě.",
+        "offerFormat": "PROMO KOLA NA",
+        "lblFreeSpins": "Promo kola",
+        "errId": "Číslo chyby:",
+        "btnTSReload": "Hrát za peníze",
+        "multiplier": " Násobitel",
+        "btnNo": "Ne",
+        "stopSingleWinReachCeiling": "\"Zastavit, pokud je jednotlivá výhra vyšší nebo rovna (volitelné)\"",
+        "labelLastPlayed": "Poslední hra",
+        "enterNicknamePlaceholder": "Zadejte přezdívku",
+        "freeSpinOptionTable": "Načítání hry s {0} v promo kolech",
+        "btnYes": "Ano",
+        "errConnectionLost": "Došlo ke ztrátě spojení! Pro opětovné načtení klikněte zde.",
+        "btnRetry": "Zkusit znovu",
+        "btnOk": "OK",
+        "freeSpinReminder": "Odehrajte svá promo kola",
+        "btnBet": "sázka",
+        "congratulations": "Gratulujeme",
+        "errLotteryPurchaseFirst": "Pro spuštění hry si musíte zakoupit tiket. Pro jeho zakoupení se prosím vraťte do lobby.",
+        "nbrOfAutoSpin": "Počet automatických roztočení",
+        "labelOr": "Nebo",
+        "winLimitHit": "Bylo dosaženo limitu na jednu výhru.",
+        "lossLimit": "Zvolte limit ztráty",
+        "autoSpinStop": "\"Funkce automatického roztáčení se zastaví, pokud dojde k výhře jackpotu, spuštění bonusu nebo dosažení limitu pro jednotlivou výhru.\"",
+        "btnLeaderboard": "Žebříček",
+        "winLimitHitStopAutoplay": "Byl dosažen limit výše jedné výhry, automatická hra byla zastavena.",
+        "getFreespins": "Máte promo kola",
+        "errGeoWarn": "Potvrzení polohy je vyžadováno pro regulatorní účely. Po výzvě {0} k udělení přístupu k vaší poloze zvolte možnost „povolit“.",
+        "btnClose": "Zavřít",
+        "btnStart": "Start",
+        "btnContinue": "Pokračovat",
+        "lblBalance": "Zůstatek",
+        "soundPromptMessage": "Chcete zapnout zvuk?",
+        "errInsufficientFundTable": "Je nám líto, taková sázka není s ohledem na váš zůstatek pro zbývající promo kola dostupná.\\n Zkuste zadat jinou sázku.",
+        "btnCancel": "Zrušit",
+        "errInsufficientFund": "finančních prostředků.",
+        "spinTimeHit": "Automatická roztočení byla zastavena.",
+        "freespinOver": "Promo kola skončila",
+        "freespinExpiredTime": "Vyprší: {0}",
+        "btnHelp": "Nápověda",
+        "errSessionExpired": "Vypršela platnost relace. Zavřením této zprávy znovu spustíte hru."
+    },
+    "da": {
+        "errGameError": "Der opstod en systemfejl.",
+        "awardedFreespins": "DU ER BLEVET TILDELT KAMPAGNERUNDER",
+        "lossLimitHit": "Tabsgrænse er nået.",
+        "freeSpinOptionReminder": "Hvordan vil du bruge dine Kampagnerunder?",
+        "errGeoPermission": "Det var ikke muligt at tilgå placeringsdata. Aktiver placeringstjenester for {0}, eller skift til wifi.",
+        "freespinComplete": "Kampagnerunder afsluttet",
+        "labelChoose": "Vælg venligst",
+        "terms": "Vilkår og Betingelser",
+        "errLaunchAnotherGame": "Du kan ikke købe lodder til dette spil på nuværende tidspunkt. Vend venligst tilbage til hovedmenuen og vælg et andet spil.",
+        "errConnection": "Data ikke modtaget.",
+        "errOffline": "\"Der er ingen netværksforbindelse. Prøv igen, når du har oprettet forbindelse.\"",
+        "errNetworkError": "Der opstod en systemfejl.",
+        "offerFormat": "KAMPAGNERUNDER PÅ",
+        "lblFreeSpins": "Kampagnerunder",
+        "errId": "Fejl i id:",
+        "btnTSReload": "Spil for penge",
+        "multiplier": " Multiplikator",
+        "btnNo": "Nej",
+        "stopSingleWinReachCeiling": "\"Stop, hvis en gevinst overskrider eller er lig med (valgfri)\"",
+        "labelLastPlayed": "Sidst spillet",
+        "enterNicknamePlaceholder": "Indtast kaldenavn",
+        "freeSpinOptionTable": "Indlæser spil med {0} i Kampagnerunder",
+        "btnYes": "Ja",
+        "errConnectionLost": "Forbindelsen blev afbrudt! Klik her for at genindlæse",
+        "btnRetry": "Prøv igen",
+        "btnOk": "OK",
+        "freeSpinReminder": "Spil dine kampagnerunder",
+        "btnBet": "indsats",
+        "congratulations": "Tillykke",
+        "errLotteryPurchaseFirst": "Du skal købe en billet for at starte spillet. Vend tilbage til hovedmenuen for at købe en billet.",
+        "nbrOfAutoSpin": "Antal autospins",
+        "labelOr": "Eller",
+        "winLimitHit": "Enkelt gevinst-grænse er nået.",
+        "lossLimit": "Vælg en tabsgrænse",
+        "autoSpinStop": "\"Autospin stopper automatisk, hvis du rammer en jackpot, bonus eller hvis gevinstbeløbet nås.\"",
+        "btnLeaderboard": "Pointtavle",
+        "winLimitHitStopAutoplay": "Grænsen for enkeltgevinst er nået, autospil stoppede.",
+        "getFreespins": "Du har Kampagnerunder",
+        "errGeoWarn": "Placeringsbekræftelse påkrævet til regulatoriske formål. Når {0} spørger om adgang til din placering, vælg \"tillad\".",
+        "btnClose": "Luk",
+        "btnStart": "Start",
+        "btnContinue": "Fortsæt",
+        "lblBalance": "Saldo",
+        "soundPromptMessage": "Vil du aktivere lyden?",
+        "errInsufficientFundTable": "Beklager, dette spil er ikke tilgængeligt med din resterende Kampagnerunder-saldo.\\n Prøv et andet spil.",
+        "btnCancel": "Annuller",
+        "errInsufficientFund": "Utilstrækkelige midler.",
+        "spinTimeHit": "Autospin er stoppet.",
+        "freespinOver": "Kampagnerunder slut",
+        "freespinExpiredTime": "Udløber: {0}",
+        "btnHelp": "Hjælp",
+        "errSessionExpired": "Udløbet session. Luk denne besked og genstart spillet."
+    },
+    "de": {
+        "errGameError": "Es ist ein Systemfehler aufgetreten.",
+        "awardedFreespins": "SIE HABEN AKTIONSRUNDEN ERHALTEN",
+        "lossLimitHit": "Verlustlimit erreicht.",
+        "freeSpinOptionReminder": "Wie möchten Sie Ihre Aktionsrunden nutzen?",
+        "errGeoPermission": "Zugriff auf Standortdaten nicht möglich. Aktivieren Sie die Ortungsdienste für {0} oder wechseln Sie zu einer WLAN-Verbindung.",
+        "freespinComplete": "Aktionsrunden abgeschlossen",
+        "labelChoose": "Bitte wählen",
+        "terms": "Geschäftsbedingungen",
+        "errLaunchAnotherGame": "Sie können momentan keine Tickets für dieses Spiel kaufen. Bitte kehren Sie zur Lobby zurück und wählen Sie ein anderes Spiel aus.",
+        "errConnection": "Daten nicht empfangen",
+        "errOffline": "\"Es besteht keine Netzwerkverbindung. Bitte versuche es noch einmal, wenn du mit dem Netzwerk verbunden bist.\"",
+        "errNetworkError": "Es ist ein Systemfehler aufgetreten.",
+        "offerFormat": "AKTIONSRUNDEN BEI",
+        "lblFreeSpins": "Aktionsrunden",
+        "errId": "Fehler-ID:",
+        "btnTSReload": "Um Echtgeld spielen",
+        "multiplier": " Multiplikator",
+        "btnNo": "Nein",
+        "stopSingleWinReachCeiling": "\"Stoppen, wenn Einzelgewinn diesen Betrag überschreitet (optional)\"",
+        "labelLastPlayed": "Zuletzt gespielt",
+        "enterNicknamePlaceholder": "Spitzname eingeben",
+        "freeSpinOptionTable": "Spiel wird geladen mit {0} in Aktionsrunden",
+        "btnYes": "Ja",
+        "errConnectionLost": "Verbindung unterbrochen! Zum Neuladen hier klicken",
+        "btnRetry": "Wiederholen",
+        "btnOk": "OK",
+        "freeSpinReminder": "Spielen Sie Ihre Aktionsrunden",
+        "btnBet": "Einsatz",
+        "congratulations": "Glückwunsch",
+        "errLotteryPurchaseFirst": "\"Sie müssen ein Ticket erwerben, um das Spiel zu starten. Bitte kehren Sie dafür zur Lobby zurück.\"",
+        "nbrOfAutoSpin": "Anzahl an AutoSpins",
+        "labelOr": "Oder",
+        "winLimitHit": "Einzel-Gewinnlimit erreicht.​",
+        "lossLimit": "Wählen Sie ein Verlustlimit",
+        "autoSpinStop": "\"Auto Spins werden automatisch gestoppt, wenn ein Jackpot gewährt, ein Bonus ausgelöst oder der Einzelgewinnbetrag erreicht wird.\"",
+        "btnLeaderboard": "Bestenliste",
+        "winLimitHitStopAutoplay": "Einzelgewinnlimit erreicht, das Autospiel wurde abgebrochen.",
+        "getFreespins": "Sie haben Aktionsrunden",
+        "errGeoWarn": "Standortbestätigung aus regulatorischen Gründen erforderlich. Wenn {0} auf Ihre Standortdaten zugreifen möchte, wählen Sie „Zulassen“.",
+        "btnClose": "Schließen",
+        "btnStart": "Start",
+        "btnContinue": "Weiter",
+        "lblBalance": "Guthaben",
+        "soundPromptMessage": "Benötigen Sie Sound?",
+        "errInsufficientFundTable": "Leider ist dieser Einsatz mit Ihrem verbleibenden Aktionsrunden-Guthaben nicht verfügbar.\\n Bitte versuchen Sie es mit einem anderen Einsatz.",
+        "btnCancel": "Abbrechen",
+        "errInsufficientFund": "Guthaben reicht nicht aus.",
+        "spinTimeHit": "Auto Spin gestoppt",
+        "freespinOver": "Aktionsrunden beendet",
+        "freespinExpiredTime": "Verfällt: {0}",
+        "btnHelp": "Hilfe",
+        "errSessionExpired": "Sitzung abgelaufen. Diese Nachricht verwerfen, um das Spiel neu zu starten."
+    },
+    "es": {
+        "errGameError": "Error del sistema.",
+        "awardedFreespins": "HAS CONSEGUIDO RONDAS PROMOCIONALES",
+        "lossLimitHit": "Límite de pérdidas alcanzado.",
+        "freeSpinOptionReminder": "¿Cómo te gustaría usar tus rondas promocionales?",
+        "errGeoPermission": "No se ha podido acceder a los datos de ubicación. Activa los servicios de ubicación para {0}, o usa Wifi.",
+        "freespinComplete": "Rondas promocionales completadas",
+        "labelChoose": "\"Por favor, elige\"",
+        "terms": "Términos y condiciones",
+        "errLaunchAnotherGame": "No es posible comprar tickets para este juego en estos momentos. Vuelve al lobby y selecciona otro juego.",
+        "errConnection": "Datos no recibidos.",
+        "errOffline": "No hay conexión de red. Vuelve a intentarlo cuando estés conectado.",
+        "errNetworkError": "Error del sistema.",
+        "offerFormat": "RONDAS PROMOCIONALES EN",
+        "lblFreeSpins": "Rondas promocionales",
+        "errId": "ID del error:",
+        "btnTSReload": "Jugar con dinero real",
+        "multiplier": " Multiplicador",
+        "btnNo": "No",
+        "stopSingleWinReachCeiling": "Parar si el premio único sobrepasa o es igual (opcional)",
+        "labelLastPlayed": "Última partida",
+        "enterNicknamePlaceholder": "Introducir apodo",
+        "freeSpinOptionTable": "Se está cargando el juego con {0} rondas promocionales",
+        "btnYes": "Sí",
+        "errConnectionLost": "¡Se ha perdido la conexión! Haz clic aquí para volver a cargar.",
+        "btnRetry": "Reintentar",
+        "btnOk": "Aceptar",
+        "freeSpinReminder": "Juega tus rondas promocionales",
+        "btnBet": "Apuesta",
+        "congratulations": "Felicidades",
+        "errLotteryPurchaseFirst": "Debes comprar un ticket para iniciar la partida. Regresa al lobby para comprar un ticket.",
+        "nbrOfAutoSpin": "Número de autogiro",
+        "labelOr": "O",
+        "winLimitHit": "Se ha alcanzado el límite de premio único.",
+        "lossLimit": "Seleccionar un límite de pérdida",
+        "autoSpinStop": "\"El Autogiro para automáticamente si se gana un bote, se activa un bono o se alcanza la cantidad de premio único.\"",
+        "btnLeaderboard": "Clasificación",
+        "winLimitHitStopAutoplay": "Se ha alcanzado el límite de premio único, se ha detenido el juego automático.",
+        "getFreespins": "Tienes rondas promocionales",
+        "errGeoWarn": "Se necesita confirmar la ubicación por motivos de regulación. Cuando {0} solicite acceso a tu ubicación, selecciona \"permitir\".",
+        "btnClose": "Cerrar",
+        "btnStart": "Jugar",
+        "btnContinue": "Continuar",
+        "lblBalance": "Saldo",
+        "soundPromptMessage": "¿Quieres activar el sonido?",
+        "errInsufficientFundTable": "Lo sentimos, esa apuesta no está disponible con el saldo restante de tus rondas promocionales.\\n Prueba con una apuesta diferente.",
+        "btnCancel": "Cancelar",
+        "errInsufficientFund": "Saldo insuficiente.",
+        "spinTimeHit": "Auto Tirada detenida.",
+        "freespinOver": "Rondas promocionales finalizadas",
+        "freespinExpiredTime": "Finalizan: {0}",
+        "btnHelp": "Ayuda",
+        "errSessionExpired": "La sesión ha caducado. ignora este mensaje para volver a iniciar el juego"
+    },
+    "fi": {
+        "errGameError": "Tapahtui järjestelmävirhe.",
+        "awardedFreespins": "SAIT KAMPANJAKIERROSTA",
+        "lossLimitHit": "Tappioraja saavutettu. ",
+        "freeSpinOptionReminder": "Miten haluaisit käyttää kampanjakierroksesi?",
+        "errGeoPermission": "Sijaintitietoja ei ole saatavilla. Hyväksy sijaintitietojen jakaminen {0} varten, tai vaihda WiFiin.",
+        "freespinComplete": "Kampanjakierrokset pelattu",
+        "labelChoose": "Valitse",
+        "terms": "Käyttöehdot",
+        "errLaunchAnotherGame": "Et voi ostaa lippuja tähän peliin tällä hetkellä. Palaathan aulaan ja valitset toisen pelin.",
+        "errConnection": "Tietoa ei saatu.",
+        "errOffline": "\"Verkkoyhteyttä ei ole. Yritä uudelleen, kun verkkoyhteys on luotu.\"",
+        "errNetworkError": "Tapahtui järjestelmävirhe.",
+        "offerFormat": "KAMPANJAKIERROKSIA",
+        "lblFreeSpins": "Kampanjakierrokset",
+        "errId": "Virhekoodi:",
+        "btnTSReload": "Pelaa rahalla",
+        "multiplier": " Kerroin",
+        "btnNo": "Ei",
+        "stopSingleWinReachCeiling": "Pysäytä yksittäisen voiton ollessa yhtäsuuri ta enemmän kuin (vapaaehtoinen)",
+        "labelLastPlayed": "Viimeksi pelattu",
+        "enterNicknamePlaceholder": "Syötä lempinimi",
+        "freeSpinOptionTable": "Peliä ladataan, sinulla on {0} kampanjakierrosta",
+        "btnYes": "Kyllä",
+        "errConnectionLost": "Yhteys katkesi. Lataa uudelleen tästä.",
+        "btnRetry": "Uudelleen",
+        "btnOk": "OK",
+        "freeSpinReminder": "Pelaa kampanjakierroksesi",
+        "btnBet": "panos",
+        "congratulations": "Onnittelut",
+        "errLotteryPurchaseFirst": "Sinun tulee ostaa lippu käynnistääksesi pelin. Palaathan aulaan ostaaksesi lipun.",
+        "nbrOfAutoSpin": "Automaattipelien lukumäärä",
+        "labelOr": "Tai",
+        "winLimitHit": "Yksittäisen voiton raja saavutettu. ",
+        "lossLimit": "Valitse tappiorajoitus",
+        "autoSpinStop": "\"Automaattipeli keskeytyy automaattisesti jättipottivoitossa, bonuksen aktivoituessa tai yksittäisen voittosumman ylittyessä.\"",
+        "btnLeaderboard": "Tulostaulukko",
+        "winLimitHitStopAutoplay": "Yksittäisen voiton raja saavutettu, automaattipeli pysähtyi.",
+        "getFreespins": "Sinulla on kampanjakierroksia",
+        "errGeoWarn": "Sijaintitietoja vaaditaan regulatiivisista syistä. {0} kysyessä sijaintiasi, valitse \"salli\".",
+        "btnClose": "Sulje",
+        "btnStart": "Aloita",
+        "btnContinue": "Jatka",
+        "lblBalance": "Saldo",
+        "soundPromptMessage": "Haluatko äänet?",
+        "errInsufficientFundTable": "Valitettavasti tätä panosta ei voi asettaa jäljellä olevalla kampanjakierrossaldollasi.\\n Kokeile toista panosta.",
+        "btnCancel": "Peruuta",
+        "errInsufficientFund": "Varat eivät riitä.",
+        "spinTimeHit": "Autom. pyöräytys pysäytetty.",
+        "freespinOver": "Kampanjakierrokset päättyneet",
+        "freespinExpiredTime": "Erääntyy: {0}",
+        "btnHelp": "Lisätietoa",
+        "errSessionExpired": "Vanhentunut istunto. sulje tämä viesti käynnistääksesi pelin uudelleen."
+    },
+    "fr-CA": {
+        "errGameError": "Une erreur système est survenue.",
+        "awardedFreespins": "VOUS AVEZ GAGNÉ DES PARTIES PROMOTIONNELLES",
+        "lossLimitHit": "Limite des pertes atteinte.",
+        "freeSpinOptionReminder": "De quelle manière souhaitez-vous utiliser vos parties promotionnelles?",
+        "errGeoPermission": "Impossible d'accéder aux données de localisation. Activez les services de localisation pour {0} ou passez au Wi-Fi.",
+        "freespinComplete": "Parties promotionnelles complétées",
+        "labelChoose": "Veuillez faire une sélection",
+        "terms": "Modalités",
+        "errLaunchAnotherGame": "Vous ne pouvez pas acheter de billet pour ce jeu en ce moment. Veuillez retourner à l’accueil et sélectionner un autre jeu.",
+        "errConnection": "Données non reçues.",
+        "errOffline": "Il n’y a aucune connexion réseau. Veuillez essayer de nouveau lorsque vous serez connecté.",
+        "errNetworkError": "Une erreur système est survenue.",
+        "offerFormat": "Parties promotionnelles",
+        "lblFreeSpins": "Parties promotionnelles",
+        "errId": "ID de l’erreur :",
+        "btnTSReload": "Mode argent réel",
+        "multiplier": "Multiplicateur",
+        "btnNo": "Non",
+        "stopSingleWinReachCeiling": "Arrêter si un gain atteint ou dépasse (facultatif)",
+        "labelLastPlayed": "Dernière partie",
+        "enterNicknamePlaceholder": "Entrer un surnom.",
+        "freeSpinOptionTable": "Chargement du jeu avec {0} parties promotionnelles",
+        "btnYes": "Oui",
+        "errConnectionLost": "Connexion perdue! Appuyez ici pour actualiser la page.",
+        "btnRetry": "Réessayer",
+        "btnOk": "OK",
+        "freeSpinReminder": "Jouer vos parties promotionnelles",
+        "btnBet": "Mise",
+        "congratulations": "Félicitations",
+        "errLotteryPurchaseFirst": "Vous devez acheter un billet pour commencer à jouer. Veuillez retourner à l’accueil pour acheter un billet.",
+        "nbrOfAutoSpin": "Nombre de tours auto",
+        "labelOr": "ou",
+        "winLimitHit": "Limite de gain unique atteinte.",
+        "lossLimit": "Sélectionner une limite de pertes",
+        "autoSpinStop": "\"La fonction Jeu auto s'arrête automatiquement si un jackpot est remporté, un bonus est déclenché ou si un gain atteint le montant défini.\"",
+        "btnLeaderboard": "Tableau des résultats",
+        "winLimitHitStopAutoplay": "Limite pour un gain unique atteinte. Jeu automatique terminé.",
+        "getFreespins": "Vous avez des parties promotionnelles",
+        "errGeoWarn": "Confirmation de l'emplacement requise à des fins réglementaires. Lorsque {0} vous demande d'accéder à votre position géographique, sélectionnez « autoriser ».",
+        "btnClose": "Fermer",
+        "btnStart": "Commencer",
+        "btnContinue": "Continuer",
+        "lblBalance": "Solde",
+        "soundPromptMessage": "Voulez-vous activer le son?",
+        "errInsufficientFundTable": "Désolé, cette mise n’est pas offerte compte tenu du solde de vos parties promotionnelles.\\nVeuillez choisir une autre mise.",
+        "btnCancel": "Annuler",
+        "errInsufficientFund": "Fonds insuffisants.",
+        "spinTimeHit": "Arrêt du jeu automatique.",
+        "freespinOver": "Parties promotionnelles terminées",
+        "freespinExpiredTime": "Expiration : {0}",
+        "btnHelp": "Aide",
+        "errSessionExpired": "Session expirée. Ignorez ce message pour relancer la partie."
+    },
+    "fr": {
+        "errGameError": "Une erreur système est survenue.",
+        "awardedFreespins": "VOUS AVEZ GAGNÉ DES MANCHES PROMOTIONNELLES",
+        "lossLimitHit": "Limite de pertes atteinte.",
+        "freeSpinOptionReminder": "Comment souhaitez-vous utiliser vos manches promotionnelles ?",
+        "errGeoPermission": "Impossible d'accéder aux données de géolocalisation. Activez les fonctions de géolocalisation pour {0}, ou passez en mode Wi-Fi.",
+        "freespinComplete": "Manches promotionnelles jouées",
+        "labelChoose": "Veuillez choisir",
+        "terms": "Termes et conditions",
+        "errLaunchAnotherGame": "Vous ne pouvez actuellement pas acheter de ticket pour ce jeu. Veuillez retourner à l'accueil et sélectionner un autre jeu.",
+        "errConnection": "Données non reçues.",
+        "errOffline": "Aucune connexion au réseau. Veuillez réessayer une fois la connexion établie.",
+        "errNetworkError": "Une erreur système est survenue.",
+        "offerFormat": "MANCHES PROMOTIONNELLES À",
+        "lblFreeSpins": "Manches promotionnelles",
+        "errId": "Erreur d'ID :",
+        "btnTSReload": "Jouer en argent réel",
+        "multiplier": " Multiplicateur",
+        "btnNo": "Non",
+        "stopSingleWinReachCeiling": "Arrêter si un gain atteint ou dépasse (facultatif)",
+        "labelLastPlayed": "Dernière partie",
+        "enterNicknamePlaceholder": "Indiquez votre pseudo",
+        "freeSpinOptionTable": "Chargement du jeu avec {0} dans les manches promotionnelles",
+        "btnYes": "Oui",
+        "errConnectionLost": "Connexion perdue ! Cliquez ici pour recharger.",
+        "btnRetry": "Réessayer",
+        "btnOk": "OK",
+        "freeSpinReminder": "Jouez vos manches promotionnelles",
+        "btnBet": "mise",
+        "congratulations": "Félicitations",
+        "errLotteryPurchaseFirst": "Vous devez acheter un billet pour lancer le jeu. Veuillez retourner dans le salon pour acheter un billet.",
+        "nbrOfAutoSpin": "Nombre de tours auto",
+        "labelOr": "Ou",
+        "winLimitHit": "Limite de gain unique atteinte.",
+        "lossLimit": "Sélectionner une limite de pertes",
+        "autoSpinStop": "\"La fonction Jeu auto s'arrête automatiquement si un jackpot est remporté, un bonus est déclenché ou si un gain atteint le montant défini.\"",
+        "btnLeaderboard": "Classement",
+        "winLimitHitStopAutoplay": "Limite de gain unique atteinte, jeu automatique arrêté.",
+        "getFreespins": "Vous avez des manches promotionnelles",
+        "errGeoWarn": "La confirmation de la géolocalisation est requise en raison de la réglementation. Lorsque {0} demande l'accès à votre localisation, sélectionnez « Autoriser ».",
+        "btnClose": "Fermer",
+        "btnStart": "Commencer",
+        "btnContinue": "Continuer",
+        "lblBalance": "Solde",
+        "soundPromptMessage": "Voulez-vous du son ?",
+        "errInsufficientFundTable": "Malheureusement, cette mise n'est pas disponible avec le solde de vos manches promotionnelles restantes.\\nVeuillez essayer une autre mise.",
+        "btnCancel": "Annuler",
+        "errInsufficientFund": "Fonds insuffisants.",
+        "spinTimeHit": "Tour automatique désactivé.",
+        "freespinOver": "Manches promotionnelles terminées",
+        "freespinExpiredTime": "Expire le {0}",
+        "btnHelp": "Aide",
+        "errSessionExpired": "Session expirée. Fermez ce message pour relancer le jeu."
+    },
+    "it": {
+        "errGameError": "Si è verificato un errore di sistema.",
+        "awardedFreespins": "TI SONO STATI ASSEGNATI DEI ROUND PROMOZIONALI",
+        "lossLimitHit": "Limite di perdita raggiunto.",
+        "freeSpinOptionReminder": "Come vorresti utilizzare i tuoi round promozionali?",
+        "errGeoPermission": "Impossibile accedere ai dati sulla posizione. Abilita i servizi di localizzazione per {0} o passa alla rete WiFi.",
+        "freespinComplete": "Round promozionali completati",
+        "labelChoose": "Scegli",
+        "terms": "Termini e condizioni",
+        "errLaunchAnotherGame": "Al momento non puoi acquistare biglietti per questo gioco. Torna alla lobby e seleziona un altro gioco.",
+        "errConnection": "Dati non ricevuti.",
+        "errOffline": "Nessuna connessione di rete. Prova di nuovo quando sei connesso.",
+        "errNetworkError": "Si è verificato un errore di sistema.",
+        "offerFormat": "ROUND PROMOZIONALI A",
+        "lblFreeSpins": "Round promozionali",
+        "errId": "ID dell'errore:",
+        "btnTSReload": "Gioca con denaro vero",
+        "multiplier": " Moltiplicatore",
+        "btnNo": "No",
+        "stopSingleWinReachCeiling": "Interrompi se la singola vincita è pari o superiore a (opzionale)",
+        "labelLastPlayed": "Ultima partita",
+        "enterNicknamePlaceholder": "Inserisci il nickname",
+        "freeSpinOptionTable": "Caricamento del gioco con {0} nei round promozionali",
+        "btnYes": "Sì",
+        "errConnectionLost": "Connessione persa! Fai clic qui per ricaricare.",
+        "btnRetry": "Riprova",
+        "btnOk": "OK",
+        "freeSpinReminder": "Gioca i tuoi round promozionali",
+        "btnBet": "la Puntata",
+        "congratulations": "Congratulazioni",
+        "errLotteryPurchaseFirst": "Du må kjøpe billett for å starte spillet. Vennligst gå tilbake til lobbyen for å kjøpe en billett.",
+        "nbrOfAutoSpin": "Numero di Giri Automatici",
+        "labelOr": "O",
+        "winLimitHit": "Limite della singola vincita raggiunto.",
+        "lossLimit": "Seleziona un limite di perdita",
+        "autoSpinStop": "\"I Giri Automatici si interrompono automaticamente se viene assegnato un jackpot, se viene attivato un bonus o se viene raggiunto il limite di vincita singola.\"",
+        "btnLeaderboard": "Classifica",
+        "winLimitHitStopAutoplay": "Limite di vincita singola raggiunto. Il Gioco Automatico è stato interrotto.",
+        "getFreespins": "Hai round promozionali",
+        "errGeoWarn": "Conferma della posizione necessaria a fini normativi. Quando{0} chiede di accedere alla tua posizione, seleziona \"Consenti\".",
+        "btnClose": "Chiudi",
+        "btnStart": "Inizia",
+        "btnContinue": "Continua",
+        "lblBalance": "Saldo",
+        "soundPromptMessage": "Vuoi attivare l'audio?",
+        "errInsufficientFundTable": "Siamo spiacenti, questa puntata non è disponibile con il tuo saldo rimanete dei round promozionali.\\n Prova con un'altra puntata.",
+        "btnCancel": "Annulla",
+        "errInsufficientFund": "Fondi insufficienti.",
+        "spinTimeHit": "Gioco automatico interrotto.",
+        "freespinOver": "Round promozionali terminati",
+        "freespinExpiredTime": "Scadenza: {0}",
+        "btnHelp": "Aiuto",
+        "errSessionExpired": "Sessione scaduta. Nascondi questo messaggio per avviare nuovamente il gioco."
+    },
+    "no": {
+        "errGameError": "Det oppstod en systemfeil.",
+        "awardedFreespins": "DU HAR BLITT TILDELT KAMPANJERUNDER",
+        "lossLimitHit": "Tapsgrense nådd.",
+        "freeSpinOptionReminder": "Hvordan ønsker du å bruke kampanjerundene dine?",
+        "errGeoPermission": "Klarer ikke å få tilgang til plasseringsdata. Slå på plasseringstjenester for {0}, eller bytt til Wifi.",
+        "freespinComplete": "Kampanjerunder fullført",
+        "labelChoose": "Vennligst velg",
+        "terms": "Vilkår og betingelser",
+        "errLaunchAnotherGame": "Du kan ikke kjøpe billetter til dette spillet for øyeblikket. Vennligst gå tilbake til lobbyen og velg et annet spill.",
+        "errConnection": "Data ikke mottatt.",
+        "errOffline": "Det er ingen nettverkstilkobling. Prøv på nytt når du er tilkoblet.",
+        "errNetworkError": "Det oppstod en systemfeil.",
+        "offerFormat": "KAMPANJERUNDER PÅ",
+        "lblFreeSpins": "Kampanjerunder",
+        "errId": "Feil-ID:",
+        "btnTSReload": "Spill med penger",
+        "multiplier": " Multiplikator",
+        "btnNo": "Nei",
+        "stopSingleWinReachCeiling": "Stopp dersom enkeltgevinst overskrider eller er lik (valgfritt)",
+        "labelLastPlayed": "Sist spilt",
+        "enterNicknamePlaceholder": "Oppgi kallenavn",
+        "freeSpinOptionTable": "Spill laster inn med {0} i kampanjerunder",
+        "btnYes": "Ja",
+        "errConnectionLost": "Tilkobling tapt! Klikk her for å laste inn på nytt",
+        "btnRetry": "Prøv på nytt",
+        "btnOk": "OK",
+        "freeSpinReminder": "Spill kampanjerundene dine",
+        "btnBet": "innsatsen",
+        "congratulations": "Gratulerer",
+        "errLotteryPurchaseFirst": "Du må kjøpe et lodd for å starte spillet. Vennligst gå tilbake til lobbyen og kjøp et lodd.",
+        "nbrOfAutoSpin": "Antall autospinn",
+        "labelOr": "Eller",
+        "winLimitHit": "Grense for enkeltgevinst nådd.",
+        "lossLimit": "Velg en tapsgrense",
+        "autoSpinStop": "\"Autospinn stopper automatisk dersom jackpoten utbetales, en bonus aktiveres eller den satte enkeltgevinsten oppnås.\"",
+        "btnLeaderboard": "Ledertavlen",
+        "winLimitHitStopAutoplay": "Grense for enkeltgevinst nådd, autospill stoppet.",
+        "getFreespins": "Du har kampanjerunder",
+        "errGeoWarn": "Stedsbekreftelse kreves for regulatoriske formål. Når {0} spør om tilgang til plasseringen din, velg \"tillat\".",
+        "btnClose": "Lukk",
+        "btnStart": "Start",
+        "btnContinue": "Fortsett",
+        "lblBalance": "Saldo",
+        "soundPromptMessage": "Ønsker du lyder?",
+        "errInsufficientFundTable": "Beklager, den innsatsen er ikke tilgjengelig med din gjenværende kampanjerundesaldo.\\n Vennligst prøv en annen innsats.",
+        "btnCancel": "Avbryt",
+        "errInsufficientFund": "Utilstrekkelige midler.",
+        "spinTimeHit": "Autospinn stoppet.",
+        "freespinOver": "Kampanjerunder over",
+        "freespinExpiredTime": "Utløper: {0}",
+        "btnHelp": "Hjelp",
+        "errSessionExpired": "Utløpt sesjon. lukk denne meldingen for å starte spillet på nytt."
+    },
+    "pt": {
+        "errGameError": "Ocorreu um erro de sistema.",
+        "awardedFreespins": "RECEBEU RONDAS PROMOCIONAIS",
+        "lossLimitHit": "Limite de perdas atingido.",
+        "freeSpinOptionReminder": "Como gostaria de usar as suas Rondas Promocionais?",
+        "errGeoPermission": "Não foi possível aceder aos dados de localização. Ative os serviços de localização para {0} ou mude para Wi-Fi.",
+        "freespinComplete": "Rondas Promocionais concluídas",
+        "labelChoose": "Escolha",
+        "terms": "Termos e Condições",
+        "errLaunchAnotherGame": "\"De momento, não é possível comprar bilhetes para este jogo.  Regresse ao lobby e selecione outro jogo. \"",
+        "errConnection": "Dados não recebidos.",
+        "errOffline": "Não há ligação de rede. Tente novamente quando estiver ligado.",
+        "errNetworkError": "Ocorreu um erro de sistema.",
+        "offerFormat": "RONDAS PROMOCIONAIS EM",
+        "lblFreeSpins": "Rondas Promocionais",
+        "errId": "ID do erro:",
+        "btnTSReload": "Jogar a Dinheiro",
+        "multiplier": " Multiplicador",
+        "btnNo": "Não",
+        "stopSingleWinReachCeiling": "Parar se o ganho único exceder ou for igual a (opcional)",
+        "labelLastPlayed": "Última jogada",
+        "enterNicknamePlaceholder": "Introduzir alcunha",
+        "freeSpinOptionTable": "Jogo a carregar com {0} nas Rondas Promocionais",
+        "btnYes": "Sim",
+        "errConnectionLost": "Ligação perdida! Clique aqui para recarregar",
+        "btnRetry": "Tentar novamente",
+        "btnOk": "OK",
+        "freeSpinReminder": "Jogue as suas rondas promocionais",
+        "btnBet": "Aposta",
+        "congratulations": "Parabéns",
+        "errLotteryPurchaseFirst": "Tem de comprar um bilhete para iniciar o jogo. Volte ao hall de entrada para comprar um bilhete.",
+        "nbrOfAutoSpin": "Número de Rodadas Automáticas ",
+        "labelOr": "Ou",
+        "winLimitHit": "Limite de ganho único atingido.",
+        "lossLimit": "Selecione um limite de perdas",
+        "autoSpinStop": "\"A jogada automática para automaticamente se um jackpot for atribuído, um bónus for ativado ou se o montante de ganho único for atingido. \"",
+        "btnLeaderboard": "Tabela de classificação",
+        "winLimitHitStopAutoplay": "Limite de prémio único atingido. O jogo automático parou.",
+        "getFreespins": "Tem Rondas Promocionais",
+        "errGeoWarn": "A confirmação da localização é necessária para fins regulamentares. Quando {0} lhe pedir acesso à sua localização, selecione \"permitir\".",
+        "btnClose": "Fechar",
+        "btnStart": "Iniciar",
+        "btnContinue": "Continuar",
+        "lblBalance": "Saldo",
+        "soundPromptMessage": "Gostaria de jogar com som?",
+        "errInsufficientFundTable": "Lamentamos, mas essa aposta não está disponível com o seu saldo de Rondas Promocionais restante.\\n Experimente outra aposta.",
+        "btnCancel": "Cancelar",
+        "errInsufficientFund": "Fundos insuficientes",
+        "spinTimeHit": "Jogada Automática interrompida.",
+        "freespinOver": "Rondas Promocionais terminadas",
+        "freespinExpiredTime": "Expira: {0}",
+        "btnHelp": "Ajuda",
+        "errSessionExpired": "Sessão expirada. Feche esta mensagem para voltar a lançar o jogo."
+    },
+    "sv": {
+        "errGameError": "Ett systemfel har uppstått.",
+        "awardedFreespins": "DU HAR TILLDELATS KAMPANJRUNDOR",
+        "lossLimitHit": "Förlustgräns nådd.",
+        "freeSpinOptionReminder": "Hur vill du använda dina kampanjrundor?",
+        "errGeoPermission": "Det gick inte att få tillgång till platsdata. Aktivera platstjänster för {0} eller växla till trådlöst nätverk.",
+        "freespinComplete": "Kampanjrundor slutförda",
+        "labelChoose": "Välj",
+        "terms": "Regler och villkor",
+        "errLaunchAnotherGame": "Det går inte att köpa lotter i detta spel just nu. Gå tillbaka till lobbyn och välj ett annat spel.",
+        "errConnection": "Data ej mottagna",
+        "errOffline": "Det finns ingen nätverksanslutning. Försök igen när du är ansluten.",
+        "errNetworkError": "Ett systemfel har uppstått.",
+        "offerFormat": "KAMPANJRUNDOR PÅ",
+        "lblFreeSpins": "Kampanjrundor",
+        "errId": "Felkod:",
+        "btnTSReload": "Spela för riktiga pengar",
+        "multiplier": " Multiplikator",
+        "btnNo": "Nej",
+        "stopSingleWinReachCeiling": "Stoppa om en enstaka vinst överstiger eller är lika med (valfritt)",
+        "labelLastPlayed": "Senast spelade",
+        "enterNicknamePlaceholder": "Ange smeknamn",
+        "freeSpinOptionTable": "Spelet laddas med {0} i kampanjrundor",
+        "btnYes": "Ja",
+        "errConnectionLost": "Anslutningen bröts! Klicka här för att ladda om",
+        "btnRetry": "Försök igen",
+        "btnOk": "OK",
+        "freeSpinReminder": "Spela dina kampanjrundor",
+        "btnBet": "insats",
+        "congratulations": "Grattis",
+        "errLotteryPurchaseFirst": "Du måste köpa en lott för att starta spelet. Gå tillbaka till lobbyn för att köpa en lott.",
+        "nbrOfAutoSpin": "Antal autosnurr",
+        "labelOr": "Eller",
+        "winLimitHit": "Gräns för enskild vinst nådd.",
+        "lossLimit": "Välj en förlustgräns",
+        "autoSpinStop": "\"Autosnurr stoppas automatiskt om en jackpott tilldelas, en bonus aktiveras, eller om beloppet för en enstaka vinst uppnås.\"",
+        "btnLeaderboard": "Ledartavla",
+        "winLimitHitStopAutoplay": "Gräns för enskild vinst uppnådd, autospel stoppat.",
+        "getFreespins": "Du har kampanjrundor",
+        "errGeoWarn": "Bekräftelse av plats krävs för regleringsändamål. När {0} ber om åtkomst till din plats, välj ”tillåt”.",
+        "btnClose": "Stäng",
+        "btnStart": "Starta",
+        "btnContinue": "Fortsätt",
+        "lblBalance": "Saldo",
+        "soundPromptMessage": "Vill du ha ljud?",
+        "errInsufficientFundTable": "Tyvärr är den insatsen inte tillgänglig med ditt återstående saldo för kampanjrundor.\\n Försök med en annan insats.",
+        "btnCancel": "Avbryt",
+        "errInsufficientFund": "Saldo för lågt.",
+        "spinTimeHit": "Autosnurr stoppad.",
+        "freespinOver": "Kampanjrundor över",
+        "freespinExpiredTime": "Löper ut: {0}",
+        "btnHelp": "Hjälp",
+        "errSessionExpired": "Session avslutad. Avfärda detta meddelande för att starta om spelet."
+    }
+}

+ 451 - 0
app/Game/Config/IgtData.php

@@ -0,0 +1,451 @@
+<?php
+
+namespace App\Game\Config;
+
+class IgtData
+{
+    // 从 IGT/config/games.php 提取的全局配置(按需使用)
+    public static $global = [
+        'mainSiteUrl'      => 'https://api.pgn-nmu2nd.com/',
+        'rgsServer'        => 'https://api.pgn-nmu2nd.com/skb',
+        'rgsCecServer'     => 'https://api.pgn-nmu2nd.com/cec',
+        'flightdeckUrl'    => 'https://api.pgn-nmu2nd.com/flightdeck/gs/flightdeck',
+        'consoleBaseUrl'   => 'https://static.pgn-nmu2nd.com/skins/DV13',
+        'cdnBaseUrl'       => 'https://static.pgn-nmu2nd.com',
+        'skbGatewayPath'   => '/skb/gateway/1.4.0',
+        'platformVersion'  => '1.4.0',
+        'skbGateWayVersion'=> '1.4.0',
+        'buildnumber'      => 'RGS-6.8.0.UF.DEMO.CL429527_96',
+        'requireVersion'   => '1.4.14.2',
+        'widgetUrl'        => 'https://isbwidgeturl',
+        'requestTimeout'   => '999000',
+        'requestRetries'   => '3',
+        'denomamount' => '0.05',
+        'languages'        => ['en','cs','da','de','es','fi','fr-CA','fr','it','no','pt','sv'],
+        //jackpot
+        'jackpotUrl'=>'https://api.pgn-nmu2nd.com',
+
+    ];
+
+    // 可提供一个示例游戏映射,便于前端或接口查询
+    public static $games = [
+        // Cash Eruption - 默认游戏
+        '200-1551-001' => [
+            'gameTitle' => 'Cash Eruption',
+            'game' => 'Cash Eruption',
+            'studio' => 'belgrade',
+            'gameType' => 'S',
+            'gamePath' => '/studios/belgrade/games/CashEruption',  // 相对路径
+            'gameWindowWidth' => '1024',
+            'gameWindowHeight' => '864',
+            'minbet' => '0.01',
+            'gameVersion' => '1.0.10',
+            'denomid' => '461',
+            'revisionTag' => 'b273c30c-b0ed-4ea1-b660-23021844f934',
+            'assetPack' => 'mobile',  // 默认值,会被自动检测覆盖
+            'gleVersion' => '1.0',
+            'spaceBarSpin' => false,
+            'softDisplay' => false,
+            'turboMode' => false,
+            'speedOption' => true,
+            'slamStop' => 'OFF',
+            'dealerVoice' => 'OFF',
+            'rgPresentation' => true,
+            // Console路径配置
+            'tCustomPath' => '/console-drop.html?config_path=../Marketing/console.json',
+            'bCustomPath' => '/console-gaff.html',
+        ],
+
+        // Sample Game 2
+        '200-1259-001' => [
+            "gameTitle" => "Wheel of Fortune Triple Extreme Spin",
+            "game" => "Wheel of Fortune Triple Extreme Spin",
+            "studio" => "saber",
+            "gameType" => "S",
+            "gamePath" => "/studios/saber/games/WheelOfFortuneTripleExtremeSpinSKB",
+            "gameWindowWidth" => "1024",
+            "gameWindowHeight" => "864",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.9",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "3.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ],
+        '200-1609-002' => [
+            "gameTitle" => "Wheel of Fortune Gold Spin Triple Red Hot 7s",
+            "game" => "Wheel of Fortune Gold Spin Triple Red Hot 7s",
+            "studio" => "onseo",
+            "gameType" => "S",
+            "gamePath" => "/studios/onseo/games/WheelOfFortuneGoldSpinTripleRedHot7s/",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.0",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ],
+        '200-1443-011' => [
+            "gameTitle" => "MegaJackpots Wheel of Fortune On Air",
+            "game" => "MegaJackpots Wheel of Fortune On Air",
+            "studio" => "interactive",
+            "gameType" => "S",
+            "gamePath" => "/studios/interactive/games/MegaJackpotsWheelOfFortune",
+            "gameWindowWidth" => "1024",
+            "gameWindowHeight" => "800",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.10",
+            "denomid" => "2489",
+            "revisionTag" => "b6d55c7e-75c2-4be9-a27d-6820adde6c99",
+            "assetPack" => "mobile",
+            "gleVersion" => "1.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html",
+            "bCustomPath" => "/console-gaff.html",
+            "jackpotMeterPath"=>"/jackpotmeter/ws/meter/M01-04-442",
+            "jackpotWinsPath"=>"/jackpotmeter/ws/meter/wins/M01-04-442",
+        ],
+        '200-1219-001' => [
+            "gameTitle" => "Double Diamond",
+            "game" => "Double Diamond",
+            "studio" => "saber",
+            "gameType" => "S",
+            "gamePath" => "/studios/saber/games/DoubleDiamondSKB",
+            "gameWindowWidth" => "1024",
+            "gameWindowHeight" => "864",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.4",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "2.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ],
+        '200-1342-001' => [
+            "gameTitle" => "Smash The Pig",
+            "game" => "Smash The Pig",
+            "studio" => "belgrade",
+            "gameType" => "S",
+            "gamePath" => "/studios/belgrade/games/SmashThePig",
+            "gameWindowWidth" => "1024",
+            "gameWindowHeight" => "864",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.7",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "1.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ],
+        '200-1666-001' => [
+            "gameTitle" => "MegaJackpots Da Vinci Diamonds",
+            "game" => "MegaJackpots Da Vinci Diamonds",
+            "studio" => "interactive",
+            "gameType" => "S",
+            "gamePath" => "/studios/interactive/games/MegaJackpotsDavinciDiamonds/",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.0",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "4.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html",
+            "jackpotMeterPath"=>"/jackpotmeter/ws/meter/M01-01-1",
+            "jackpotWinsPath"=>"/jackpotmeter/ws/meter/wins/M01-01-1",
+        ],
+        '200-1196-001' => [
+            "gameTitle" => "Wolf Run",
+            "game" => "Wolf Run",
+            "studio" => "crdc",
+            "gameType" => "S",
+            "gamePath" => "/studios/crdc/games/WolfRun/",
+            "gameWindowWidth" => "1024",
+            "gameWindowHeight" => "864",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.8",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "4.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ],
+        '200-1173-001' => [
+            "gameTitle" => "Cleopatra",
+            "game" => "Cleopatra",
+            "studio" => "crdc",
+            "gameType" => "S",
+            "gamePath" => "/studios/crdc/games/CleopatraSKB/",
+            "gameWindowWidth" => "1024",
+            "gameWindowHeight" => "864",
+            "minbet" => "0.01",
+            "gameVersion" => "1.1.2",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "6.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ],
+        '200-1674-001' => [
+            "gameTitle" => "Fort Knox Cats",
+            "game" => "Fort Knox Cats",
+            "studio" => "interactive",
+            "gameType" => "S",
+            "gamePath" => "/studios/interactive/games/FortKnoxCatsCt/",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.2",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "1.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html",
+            "jackpotMeterPath"=>"/jackpotmeter/ws/meter/L01-27-302",
+            "jackpotWinsPath"=>"/jackpotmeter/ws/meter/wins/L01-27-302",
+        ],
+        '200-1645-001' => [
+            "gameTitle" => "Prosperity Link Wan Shi Ru Yi",
+            "game" => "Prosperity Link Wan Shi Ru Yi",
+            "studio" => "interactive",
+            "gameType" => "S",
+            "gamePath" => "/studios/interactive/games/ProsperityLinkWanShiRuYi/",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.1.1",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "2.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html",
+            "jackpotMeterPath"=>"/jackpotmeter/ws/meter/L01-33-282",
+            "jackpotWinsPath"=>"/jackpotmeter/ws/meter/wins/L01-33-282",
+        ],
+        '200-1662-001' => [
+            "gameTitle" => "Prosperity Link Cai Yun Heng Tong",
+            "game" => "Prosperity Link Cai Yun Heng Tong",
+            "studio" => "interactive",
+            "gameType" => "S",
+            "gamePath" => "/studios/interactive/games/ProsperityLinkCaiYunHengTong/",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.1.1",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "2.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html",
+            "jackpotMeterPath"=>"/jackpotmeter/ws/meter/L01-33-282",
+            "jackpotWinsPath"=>"/jackpotmeter/ws/meter/wins/L01-33-282",
+        ],
+        '200-1682-001' => [
+            "gameTitle" => "MegaJackpots Ocean Spirit",
+            "game" => "MegaJackpots Ocean Spirit",
+            "studio" => "onseo",
+            "gameType" => "S",
+            "gamePath" => "/studios/onseo/games/MegaJackpotsOceanSpirit/",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.1",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "2.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html",
+            "jackpotMeterPath"=>"/jackpotmeter/ws/meter/M01-01-1",
+            "jackpotWinsPath"=>"/jackpotmeter/ws/meter/wins/M01-01-1",
+        ],
+        '200-1724-001' => [
+            "gameTitle" => "Cash Eruption High Stakes",
+            "game" => "Cash Eruption High Stakes",
+            "studio" => "interactive",
+            "gameType" => "S",
+            "gamePath" => "/studios/interactive/games/CashEruptionHighLimit",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.1",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "1.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ],
+        '200-1696-001' => [
+            "gameTitle" => "Book Of Unseen",
+            "game" => "Book Of Unseen",
+            "studio" => "interactive",
+            "gameType" => "S",
+            "gamePath" => "/studios/interactive/games/BookOfUnseenBonusBuy/",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.2",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "2.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ],
+        '200-1664-001' => [
+            "gameTitle" => "Mystery Of The Lamp Treasure Oasis",
+            "game" => "Mystery Of The Lamp Treasure Oasis",
+            "studio" => "interactive",
+            "gameType" => "S",
+            "gamePath" => "/studios/interactive/games/MysteryOfTheLampTreasureOasis/",
+            "gameWindowWidth" => "1440",
+            "gameWindowHeight" => "906",
+            "minbet" => "0.01",
+            "gameVersion" => "1.0.2",
+            "denomid" => "461",
+            "revisionTag" => "b273c30c-b0ed-4ea1-b660-23021844f934",
+            "assetPack" => "mobile",
+            "gleVersion" => "2.0",
+            "spaceBarSpin" => false,
+            "softDisplay" => false,
+            "turboMode" => false,
+            "speedOption" => true,
+            "slamStop" => "OFF",
+            "dealerVoice" => "OFF",
+            "rgPresentation" => true,
+            "tCustomPath" => "/console-drop.html?config_path=../Marketing/console.json",
+            "bCustomPath" => "/console-gaff.html"
+        ]
+    ];
+
+    // 语言字典(如需在后端提供 IGT 文案,可按需暴露)
+    public static $languages = [
+        'en' => true,
+        'cs' => true,
+        'da' => true,
+        'de' => true,
+        'es' => true,
+        'fi' => true,
+        'fr-CA' => true,
+        'fr' => true,
+        'it' => true,
+        'no' => true,
+        'pt' => true,
+        'sv' => true,
+    ];
+}
+
+

+ 115 - 0
app/Game/Config/IgtLanguages.php

@@ -0,0 +1,115 @@
+<?php
+
+// IGT 语言字典:可根据需要扩充完整内容
+return [
+    'en' => [
+        'errGameError' => 'A system error has occurred.',
+        'awardedFreespins' => 'YOU HAVE BEEN AWARDED PROMO ROUNDS',
+        'lossLimitHit' => 'Loss limit reached.',
+        'freeSpinOptionReminder' => 'How would you like to use your Promo Rounds?',
+        'errGeoPermission' => 'Unable to access location data. Enable location services for {0}, or switch to Wifi.',
+        'freespinComplete' => 'Promo Rounds complete',
+        'labelChoose' => 'Please choose',
+        'terms' => 'Terms and Conditions',
+        'errLaunchAnotherGame' => 'You are unable to purchase tickets for this game at this time. Please return to the lobby and select another game.',
+        'errConnection' => 'Data not received.',
+        'errOffline' => 'There is no network connection. Please try again when you are connected.',
+        'errNetworkError' => 'A system error has occurred.',
+        'offerFormat' => 'PROMO ROUNDS AT',
+        'lblFreeSpins' => 'Promo Rounds',
+        'errId' => 'Error ID:',
+        'btnTSReload' => 'Play for Real',
+        'multiplier' => ' Multiplier',
+        'btnNo' => 'No',
+        'stopSingleWinReachCeiling' => 'Stop if single win exceeds or equals (optional]',
+        'labelLastPlayed' => 'Last played',
+        'enterNicknamePlaceholder' => 'Enter Nickname',
+        'freeSpinOptionTable' => 'Game loading with {0} in Promo Rounds',
+        'btnYes' => 'Yes',
+        'errConnectionLost' => 'Connection lost! Click here to reload',
+        'btnRetry' => 'Retry',
+        'btnOk' => 'OK',
+        'freeSpinReminder' => 'Play your promo rounds',
+        'btnBet' => 'Bet',
+        'congratulations' => 'Congratulations',
+        'errLotteryPurchaseFirst' => 'You must purchase a ticket to launch the game. Please return to the lobby to purchase a ticket.',
+        'nbrOfAutoSpin' => 'Number of Auto Spins',
+        'labelOr' => 'Or',
+        'winLimitHit' => 'Single win limit reached.',
+        'lossLimit' => 'Select a loss limit',
+        'autoSpinStop' => '"Auto Spin stops automatically if a jackpot is awarded, a bonus is triggered, or the single win amount is reached."',
+        'btnLeaderboard' => 'Leaderboard',
+        'winLimitHitStopAutoplay' => 'Single win limit reached, Auto Play stopped.',
+        'getFreespins' => 'You have Promo Rounds',
+        'errGeoWarn' => 'Location confirmation required for regulatory purposes. When {0} asks for access to your location, select “allow”.',
+        'btnClose' => 'Close',
+        'btnStart' => 'Start',
+        'btnContinue' => 'Continue',
+        'lblBalance' => 'Balance',
+        'soundPromptMessage' => 'Would you like sound?',
+        'errInsufficientFundTable' => 'Sorry, that bet is not available with your remaining Promo Rounds balance.\\n Please try a different bet.',
+        'btnCancel' => 'Cancel',
+        'errInsufficientFund' => 'Insufficient funds.',
+        'spinTimeHit' => 'Auto Spin stopped.',
+        'freespinOver' => 'Promo Rounds over',
+        'freespinExpiredTime' => 'Expires: {0}',
+        'btnHelp' => 'Help',
+        'errSessionExpired' => 'Expired session. Dismiss this message to relaunch the game.',
+    ],
+    'pt' => [
+        'errGameError' => 'Ocorreu um erro de sistema.',
+        'awardedFreespins' => 'RECEBEU RONDAS PROMOCIONAIS',
+        'lossLimitHit' => 'Limite de perdas atingido.',
+        'freeSpinOptionReminder' => 'Como gostaria de usar as suas Rondas Promocionais?',
+        'errGeoPermission' => 'Não foi possível aceder aos dados de localização. Ative os serviços de localização para {0} ou mude para Wi-Fi.',
+        'freespinComplete' => 'Rondas Promocionais concluídas',
+        'labelChoose' => 'Escolha',
+        'terms' => 'Termos e Condições',
+        'errLaunchAnotherGame' => 'De momento, não é possível comprar bilhetes para este jogo.  Regresse ao lobby e selecione outro jogo. ',
+        'errConnection' => 'Dados não recebidos.',
+        'errOffline' => 'Não há ligação de rede. Tente novamente quando estiver ligado.',
+        'errNetworkError' => 'Ocorreu um erro de sistema.',
+        'offerFormat' => 'RONDAS PROMOCIONAIS EM',
+        'lblFreeSpins' => 'Rondas Promocionais',
+        'errId' => 'ID do erro:',
+        'btnTSReload' => 'Jogar a Dinheiro',
+        'multiplier' => ' Multiplicador',
+        'btnNo' => 'Não',
+        'stopSingleWinReachCeiling' => 'Parar se o ganho único exceder ou for igual a (opcional]',
+        'labelLastPlayed' => 'Última jogada',
+        'enterNicknamePlaceholder' => 'Introduzir alcunha',
+        'freeSpinOptionTable' => 'Jogo a carregar com {0} nas Rondas Promocionais',
+        'btnYes' => 'Sim',
+        'errConnectionLost' => 'Ligação perdida! Clique aqui para recarregar',
+        'btnRetry' => 'Tentar novamente',
+        'btnOk' => 'OK',
+        'freeSpinReminder' => 'Jogue as suas rondas promocionais',
+        'btnBet' => 'Aposta',
+        'congratulations' => 'Parabéns',
+        'errLotteryPurchaseFirst' => 'Tem de comprar um bilhete para iniciar o jogo. Volte ao hall de entrada para comprar um bilhete.',
+        'nbrOfAutoSpin' => 'Número de Rodadas Automáticas ',
+        'labelOr' => 'Ou',
+        'winLimitHit' => 'Limite de ganho único atingido.',
+        'lossLimit' => 'Selecione um limite de perdas',
+        'autoSpinStop' => '"A jogada automática para automaticamente se um jackpot for atribuído, um bónus for ativado ou se o montante de ganho único for atingido. "',
+        'btnLeaderboard' => 'Tabela de classificação',
+        'winLimitHitStopAutoplay' => 'Limite de prémio único atingido. O jogo automático parou.',
+        'getFreespins' => 'Tem Rondas Promocionais',
+        'errGeoWarn' => 'A confirmação da localização é necessária para fins regulamentares. Quando {0} lhe pedir acesso à sua localização, selecione "permitir".',
+        'btnClose' => 'Fechar',
+        'btnStart' => 'Iniciar',
+        'btnContinue' => 'Continuar',
+        'lblBalance' => 'Saldo',
+        'soundPromptMessage' => 'Gostaria de jogar com som?',
+        'errInsufficientFundTable' => 'Lamentamos, mas essa aposta não está disponível com o seu saldo de Rondas Promocionais restante.\\n Experimente outra aposta.',
+        'btnCancel' => 'Cancelar',
+        'errInsufficientFund' => 'Fundos insuficientes',
+        'spinTimeHit' => 'Jogada Automática interrompida.',
+        'freespinOver' => 'Rondas Promocionais terminadas',
+        'freespinExpiredTime' => 'Expira: {0}',
+        'btnHelp' => 'Ajuda',
+        'errSessionExpired' => 'Sessão expirada. Feche esta mensagem para voltar a lançar o jogo.',
+    ],
+];
+
+

+ 385 - 0
app/Game/Services/IgtUserAgentParser.php

@@ -0,0 +1,385 @@
+<?php
+
+namespace App\Game\Services;
+
+class IgtUserAgentParser
+{
+    private $userAgent;
+    private $parsed = [];
+
+    public function __construct($userAgent = null)
+    {
+        $this->userAgent = $userAgent ?? ($_SERVER['HTTP_USER_AGENT'] ?? '');
+        $this->parse();
+    }
+
+    private function parse()
+    {
+        $ua = $this->userAgent;
+
+        $this->parsed['IsCrawler'] = $this->isCrawler($ua) ? 'Y' : 'N';
+
+        $this->parsed['BrowserName'] = $this->getBrowserName($ua);
+        $this->parsed['BrowserVersion'] = $this->getBrowserVersion($ua);
+        $this->parsed['BrowserVendor'] = $this->getBrowserVendor($this->parsed['BrowserName']);
+
+        $this->parsed['PlatformName'] = $this->getPlatformName($ua);
+        $this->parsed['PlatformVersion'] = $this->getPlatformVersion($ua);
+        $this->parsed['PlatformVendor'] = $this->getPlatformVendor($this->parsed['PlatformName']);
+
+        $this->parsed['HardwareName'] = $this->getHardwareName($ua);
+        $this->parsed['HardwareModel'] = $this->getHardwareModel($ua);
+        $this->parsed['HardwareFamily'] = $this->getHardwareFamily($this->parsed['HardwareName']);
+        $this->parsed['HardwareVendor'] = $this->getHardwareVendor($ua);
+        $this->parsed['OEM'] = $this->parsed['HardwareVendor'];
+
+        $this->parsed['ScreenPixelsWidth'] = $this->getScreenWidth($ua);
+        $this->parsed['ScreenPixelsHeight'] = $this->getScreenHeight($ua);
+        $this->parsed['ScreenInchesDiagonal'] = $this->getScreenDiagonal($ua);
+        $this->parsed['ScreenInchesWidth'] = '0';
+        $this->parsed['ScreenInchesHeight'] = '0';
+
+        $this->parsed['Popularity'] = $this->getPopularity($ua);
+    }
+
+    public function getDeviceConfig()
+    {
+        return $this->parsed;
+    }
+
+    private function isCrawler($ua)
+    {
+        $crawlers = [
+            'bot', 'crawl', 'spider', 'slurp', 'mediapartners',
+            'google', 'yahoo', 'bing', 'facebook', 'twitter'
+        ];
+
+        $uaLower = strtolower($ua);
+        foreach ($crawlers as $crawler) {
+            if (strpos($uaLower, $crawler) !== false) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private function getBrowserName($ua)
+    {
+        if (preg_match('/Edg(e|A|iOS)\//', $ua)) {
+            return 'Microsoft Edge';
+        }
+        if (preg_match('/Chrome\//', $ua) && !preg_match('/Chromium\//', $ua)) {
+            return 'Chrome';
+        }
+        if (preg_match('/Safari\//', $ua) && !preg_match('/Chrome\//', $ua)) {
+            if (preg_match('/Mobile\//', $ua)) {
+                return 'Mobile Safari';
+            }
+            return 'Safari';
+        }
+        if (preg_match('/Firefox\//', $ua)) {
+            return 'Firefox';
+        }
+        if (preg_match('/Opera\/|OPR\//', $ua)) {
+            return 'Opera';
+        }
+        if (preg_match('/MSIE |Trident\//', $ua)) {
+            return 'Internet Explorer';
+        }
+        if (preg_match('/SamsungBrowser\//', $ua)) {
+            return 'Samsung Browser';
+        }
+        if (preg_match('/UCBrowser\//', $ua)) {
+            return 'UC Browser';
+        }
+        return 'Unknown';
+    }
+
+    private function getBrowserVersion($ua)
+    {
+        $patterns = [
+            '/Edg(e|A|iOS)\/(\d+\.\d+)/',
+            '/Chrome\/(\d+\.\d+)/',
+            '/Safari\/(\d+\.\d+)/',
+            '/Firefox\/(\d+\.\d+)/',
+            '/OPR\/(\d+\.\d+)/',
+            '/Version\/(\d+\.\d+)/',
+            '/MSIE (\d+\.\d+)/',
+            '/rv:(\d+\.\d+)/',
+        ];
+        foreach ($patterns as $pattern) {
+            if (preg_match($pattern, $ua, $matches)) {
+                return $matches[count($matches) - 1];
+            }
+        }
+        return '0.0';
+    }
+
+    private function getBrowserVendor($browserName)
+    {
+        $vendors = [
+            'Chrome' => 'Google',
+            'Safari' => 'Apple',
+            'Mobile Safari' => 'Apple',
+            'Firefox' => 'Mozilla',
+            'Opera' => 'Opera Software',
+            'Microsoft Edge' => 'Microsoft',
+            'Internet Explorer' => 'Microsoft',
+            'Samsung Browser' => 'Samsung',
+            'UC Browser' => 'UCWeb',
+        ];
+        return $vendors[$browserName] ?? 'Unknown';
+    }
+
+    private function getPlatformName($ua)
+    {
+        if (preg_match('/Windows NT/', $ua)) {
+            return 'Windows';
+        }
+        if (preg_match('/Mac OS X|MacPPC|MacIntel/', $ua)) {
+            if (preg_match('/iPhone|iPod|iPad/', $ua)) {
+                return 'iOS';
+            }
+            return 'macOS';
+        }
+        if (preg_match('/Android/', $ua)) {
+            return 'Android';
+        }
+        if (preg_match('/Linux/', $ua)) {
+            return 'Linux';
+        }
+        if (preg_match('/CrOS/', $ua)) {
+            return 'Chrome OS';
+        }
+        return 'Unknown';
+    }
+
+    private function getPlatformVersion($ua)
+    {
+        if (preg_match('/OS (\d+)[_\.](\d+)/', $ua, $matches)) {
+            return $matches[1] . '.' . $matches[2];
+        }
+        if (preg_match('/Android (\d+\.\d+)/', $ua, $matches)) {
+            return $matches[1];
+        }
+        if (preg_match('/Windows NT (\d+\.\d+)/', $ua, $matches)) {
+            $version = $matches[1];
+            $windowsVersions = [
+                '10.0' => '10',
+                '6.3' => '8.1',
+                '6.2' => '8',
+                '6.1' => '7',
+                '6.0' => 'Vista',
+                '5.1' => 'XP',
+            ];
+            return $windowsVersions[$version] ?? $version;
+        }
+        if (preg_match('/Mac OS X (\d+)[_\.](\d+)/', $ua, $matches)) {
+            return $matches[1] . '.' . $matches[2];
+        }
+        return '0.0';
+    }
+
+    private function getPlatformVendor($platformName)
+    {
+        $vendors = [
+            'iOS' => 'Apple',
+            'macOS' => 'Apple',
+            'Android' => 'Google',
+            'Windows' => 'Microsoft',
+            'Chrome OS' => 'Google',
+            'Linux' => 'Linux Foundation',
+        ];
+        return $vendors[$platformName] ?? 'Unknown';
+    }
+
+    private function getHardwareName($ua)
+    {
+        if (preg_match('/iPhone/', $ua)) {
+            return 'iPhone';
+        }
+        if (preg_match('/iPad/', $ua)) {
+            return 'iPad';
+        }
+        if (preg_match('/iPod/', $ua)) {
+            return 'iPod';
+        }
+        if (preg_match('/SM-[A-Z]\d+/', $ua, $matches)) {
+            return $matches[0];
+        }
+        if (preg_match('/(HW|HUAWEI)[- ]([A-Z0-9\-]+)/', $ua, $matches)) {
+            return $matches[2];
+        }
+        if (preg_match('/MI [A-Z0-9]+|Redmi/', $ua, $matches)) {
+            return $matches[0];
+        }
+        if (preg_match('/Android/', $ua)) {
+            return 'Android Device';
+        }
+        if (preg_match('/Windows|Mac OS X|Linux/', $ua)) {
+            return 'Desktop';
+        }
+        return 'Unknown Device';
+    }
+
+    private function getHardwareModel($ua)
+    {
+        if (preg_match('/iPhone/', $ua)) {
+            return 'iPhone';
+        }
+        if (preg_match('/iPad/', $ua)) {
+            return 'iPad';
+        }
+        if (preg_match('/\(([^)]*Android[^)]*)\)/', $ua, $matches)) {
+            $parts = explode(';', $matches[1]);
+            if (count($parts) >= 2) {
+                return trim($parts[count($parts) - 1]);
+            }
+        }
+        return $this->getHardwareName($ua);
+    }
+
+    private function getHardwareFamily($hardwareName)
+    {
+        if (strpos($hardwareName, 'iPhone') !== false) {
+            return 'iPhone';
+        }
+        if (strpos($hardwareName, 'iPad') !== false) {
+            return 'iPad';
+        }
+        if (strpos($hardwareName, 'iPod') !== false) {
+            return 'iPod';
+        }
+        if (strpos($hardwareName, 'SM-') !== false) {
+            return 'Samsung Galaxy';
+        }
+        if (strpos($hardwareName, 'Desktop') !== false) {
+            return 'Desktop PC';
+        }
+        return 'Mobile';
+    }
+
+    private function getHardwareVendor($ua)
+    {
+        if (preg_match('/iPhone|iPad|iPod|Macintosh/', $ua)) {
+            return 'Apple';
+        }
+        if (preg_match('/Samsung|SM-/', $ua)) {
+            return 'Samsung';
+        }
+        if (preg_match('/Huawei|HW-|HUAWEI/', $ua)) {
+            return 'Huawei';
+        }
+        if (preg_match('/Xiaomi|MI |Redmi/', $ua)) {
+            return 'Xiaomi';
+        }
+        if (preg_match('/OPPO/', $ua)) {
+            return 'OPPO';
+        }
+        if (preg_match('/vivo/', $ua)) {
+            return 'Vivo';
+        }
+        if (preg_match('/OnePlus/', $ua)) {
+            return 'OnePlus';
+        }
+        if (preg_match('/LG-/', $ua)) {
+            return 'LG';
+        }
+        if (preg_match('/Sony/', $ua)) {
+            return 'Sony';
+        }
+        if (preg_match('/Pixel/', $ua)) {
+            return 'Google';
+        }
+        return 'Unknown';
+    }
+
+    private function getScreenWidth($ua)
+    {
+        if (preg_match('/iPhone/', $ua)) {
+            return '750';
+        }
+        if (preg_match('/iPad/', $ua)) {
+            return '2048';
+        }
+        if (preg_match('/Android.*Mobile/', $ua)) {
+            return '1080';
+        }
+        if (preg_match('/Android/', $ua) && !preg_match('/Mobile/', $ua)) {
+            return '1280';
+        }
+        return '1920';
+    }
+
+    private function getScreenHeight($ua)
+    {
+        if (preg_match('/iPhone/', $ua)) {
+            return '1334';
+        }
+        if (preg_match('/iPad/', $ua)) {
+            return '2732';
+        }
+        if (preg_match('/Android.*Mobile/', $ua)) {
+            return '1920';
+        }
+        if (preg_match('/Android/', $ua) && !preg_match('/Mobile/', $ua)) {
+            return '800';
+        }
+        return '1080';
+    }
+
+    private function getScreenDiagonal($ua)
+    {
+        if (preg_match('/iPhone/', $ua)) {
+            return '4.7';
+        }
+        if (preg_match('/iPad/', $ua)) {
+            return '10.2';
+        }
+        if (preg_match('/Android.*Mobile/', $ua)) {
+            return '6.0';
+        }
+        if (preg_match('/Android/', $ua) && !preg_match('/Mobile/', $ua)) {
+            return '10.0';
+        }
+        return '24.0';
+    }
+
+    private function getPopularity($ua)
+    {
+        if (preg_match('/iPhone/', $ua)) {
+            return '9';
+        }
+        if (preg_match('/iPad/', $ua)) {
+            return '8';
+        }
+        if (preg_match('/Samsung/', $ua)) {
+            return '8';
+        }
+        if (preg_match('/Chrome/', $ua)) {
+            return '9';
+        }
+        if (preg_match('/Safari/', $ua)) {
+            return '7';
+        }
+        return '5';
+    }
+
+    public function getUserAgent()
+    {
+        return $this->userAgent;
+    }
+
+    public function get($field)
+    {
+        return $this->parsed[$field] ?? null;
+    }
+
+    public function getAll()
+    {
+        return $this->parsed;
+    }
+}
+
+
+

+ 1 - 0
app/Game/Services/ServerService.php

@@ -48,6 +48,7 @@ class ServerService
 
     public static function IsLocalUser($GlobalUID)
     {
+        return true;
         return self::GetGlobalServerInfoByGUID($GlobalUID)['ServerRegion'] == env('REGION_24680', 'sa-east');
     }
 

+ 5 - 5
app/Game/WebChannelConfig.php

@@ -99,11 +99,11 @@ class WebChannelConfig extends Model
     {
         $cacheKey = self::$key . $channel;
 
-        $cachedConfig = Redis::get($cacheKey);
-
-        if ($cachedConfig) {
-            return new WebChannelConfig(json_decode($cachedConfig,true));
-        }
+//        $cachedConfig = Redis::get($cacheKey);
+//
+//        if ($cachedConfig) {
+//            return new WebChannelConfig(json_decode($cachedConfig,true));
+//        }
 
         $config = self::where('Channel', $channel)->first();
 

+ 1 - 0
app/Http/Controllers/Game/GameController.php

@@ -132,6 +132,7 @@ class GameController extends Controller
 
     public function CheckOuroGamePort()
     {
+        return;
         $existKey="OuroGamePortChecked";
         if(Redis::exists($existKey)){
            return;

+ 416 - 0
app/Http/Controllers/Game/IgtSimController.php

@@ -0,0 +1,416 @@
+<?php
+
+namespace App\Http\Controllers\Game;
+
+use App\Game\Config\IgtData;
+use App\Game\GameCard;
+use App\Game\GlobalUserInfo;
+use App\Game\LogGamecardClick;
+use App\Game\Services\ServerService;
+use App\Game\Services\IgtUserAgentParser;
+use App\Models\AccountsInfo;
+use App\Util;
+use Illuminate\Http\Request;
+use Illuminate\Routing\Controller;
+
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Redis;
+
+class IgtSimController extends Controller
+{
+    public function __construct()
+    {
+    }
+    public $gameConfig=[];
+    public function gameLunch(Request $request)
+    {
+        $softwareId = $request->input('softwareid', '200-1551-001');
+        $user = $request->user();
+        if (!$user) {
+            return response('Unauthorized', 401);
+        }
+
+        return $this->renderGateway($request, $softwareId);
+    }
+
+    public function gameLunchOrg(Request $request)
+    {
+        $softwareId = $request->input('softwareid', '200-1551-001');
+
+        return $this->renderGateway($request, $softwareId);
+    }
+
+    public function leaveOrg(Request $request)
+    {
+        $UserID = $request->UserID;
+        try {
+            DB::connection('write')->table('QPTreasureDB.dbo.GameScoreLocker')
+                ->where('UserID', $UserID)
+                ->delete();
+        } catch (\Throwable $e) {
+        }
+        return '<script>
+            if(window.parent&&window.parent!=window){
+                window.parent.postMessage("backhome","*")
+            }else {
+                document.location = "game://a=1&b=2";
+            }
+        </script>';
+    }
+
+    private function renderGateway(Request $request, string $softwareId)
+    {
+        if(!strstr($softwareId,'-')){
+            $softwareId=substr($softwareId,0,3).'-'.substr($softwareId,3,4).'-'.substr($softwareId,7,3);
+        }
+        $gid = $request->input('gid');
+        $level = $request->input('level',0);
+        $user = $request->user();
+
+        if (!$user) {
+
+            $userid = $request->UserID;
+
+            if(!$userid){
+                $token=$request->deviceInfoString;
+                $session=json_decode(Redis::get($token),true);
+                $userid=$session['UserID'];
+                if($session['GlobalUID']){
+                    $GlobalUID=$session['GlobalUID'];
+                }
+            }else{
+                $GlobalUID = 'a1b1c1-b53b-'.ServerService::GetLocalSign().'-' . $userid;
+            }
+
+            $user=GlobalUserInfo::getGameUserInfo('UserID',$userid);
+            if(!$user){
+                $user=AccountsInfo::find($userid);
+            }
+
+        }else{
+            $GlobalUID = $user->GlobalUID;
+            $userid = $user->UserID;
+
+        }
+        $lang = GlobalUserInfo::getLocaleByUserID($userid,$request->input('language', env('DEFAULT_LOCALE', 'en')));
+
+
+        $gamecard = GameCard::where('gid', $gid)->where('brand', 'IGT')->first();
+        if($gamecard){
+            $gamecard->increment('play_num', 1);
+            LogGamecardClick::recordClick($gamecard->id, $userid);
+
+            GameCard::$enableStateCheck = false;
+        }
+
+
+
+
+        $data = ['UserID' => ServerService::GlobalToUserID($GlobalUID)];
+
+
+        $Currency = env("CONFIG_24680_CURRENCY", "USD");
+        $CurrencySymbol = env("CONFIG_24680_DOLLAR", "$");
+
+
+
+        $data['currency'] = $Currency;
+        $data['dollar'] = $CurrencySymbol;
+
+
+        if(!is_array($user))$user=$user->toArray();
+
+        $data = array_merge($data, $user);
+
+        $session = $data;
+
+
+        $token = md5($GlobalUID.'|'.microtime());
+        Redis::setex($token, 7200, json_encode($session));
+
+
+
+
+        $global = IgtData::$global;
+        $games = json_decode(file_get_contents(base_path('app/Game/Config/IGTgamesConfig.json')), true);
+
+
+        if (!isset($games[$softwareId])) {
+            http_response_code(500);
+        }
+        $game = $games[$softwareId];
+        $this->gameConfig=$game;
+        $lang = in_array($lang, $global['languages']) ? $lang : 'en';
+
+        $ua = $request->header('User-Agent', '');
+        $uaParser = new IgtUserAgentParser($ua);
+        $deviceConfig = $uaParser->getDeviceConfig();
+        $isMobile = $this->isMobileUA($ua);
+        $assetPack = $isMobile ? 'mobile' : 'desktop';
+
+        $cdnBase = rtrim($global['cdnBaseUrl'], '/');
+        $skbGatewayPath = $global['skbGatewayPath'];
+        $gamePath = $game['gamePath'];
+        $requireVersion = $global['requireVersion'];
+
+        $paramGet = [
+            'skincode' => $request->input('skincode', 'MKW'),
+            'ipaddress' => $request->ip(),
+            'forcelat' => $request->input('forcelat', ''),
+            'minbet' => $request->input('minbet', $game['minbet']),
+            'deviceInfoString' => $request->input('deviceInfoString', $token),
+            'forcelocationstatus' => $request->input('forcelocationstatus', '0'),
+            'countrycode' => $request->input('countrycode', 'US'),
+            'channel' => $request->input('channel', $isMobile ? 'MOB' : 'INT'),
+            'nscode' => $request->input('nscode', 'AGLC'),
+            'language' => $lang,
+            'technology' => $request->input('technology', 'HTML'),
+            'loadskin' => $request->input('loadskin', 'IGT'),
+            'forcelng' => $request->input('forcelng', ''),
+            'currencycode' => $request->input('currencycode', 'FPY'),
+            'securetoken' => $request->input('securetoken', 'RGS-DEMO04.SKB'),
+            'softwareid' => $softwareId,
+            'forcelocationmessage' => $request->input('forcelocationmessage', '-SUCCESS'),
+            'presenttype' => $request->input('presenttype', 'STD'),
+            'denomamount' => $game['denomamount']??IgtData::$global['denomamount'],//$request->input('denomamount', '1.0'),
+            'uniqueid' => $request->input('uniqueid', '986'),
+        ];
+
+        $paramRGS = [
+            'skincode' => $paramGet['skincode'],
+            'minbet' => $game['minbet'],
+            'countrycode' => $paramGet['countrycode'],
+            'channel' => $paramGet['channel'],
+            'language' => $paramGet['language'],
+            'nscode' => $paramGet['nscode'],
+            'technology' => $paramGet['technology'],
+            'currencycode' => $paramGet['currencycode'],
+            'securetoken' => $paramGet['securetoken'],
+            'playMode' => $request->input('playMode', 'real'),
+            'softwareid' => $paramGet['softwareid'],
+            'denomamount' =>  $game['denomamount']??IgtData::$global['denomamount'],//$paramGet['denomamount'],
+            'presenttype' => $paramGet['presenttype'],
+            'uniqueid' => $paramGet['uniqueid'],
+        ];
+
+        // 注入语言文案
+        $langMap = json_decode(file_get_contents(base_path('app/Game/Config/IGTlanguages.json')), true);
+
+        $strings = is_array($langMap) && isset($langMap[$lang]) && is_array($langMap[$lang]) ? $langMap[$lang] : [];
+
+        $jackpotUrl=IgtData::$global['jackpotUrl'];
+        $jackpotMeterUrl=null;
+        if (isset(IgtData::$global['jackpotMeterPath'])) {
+            $jackpotMeterUrl=$jackpotUrl.IgtData::$global['jackpotMeterPath'];
+        }
+        $jackpotWinsUrl=null;
+        if (isset(IgtData::$global['jackpotWinsPath'])) {
+            $jackpotWinsUrl=$jackpotUrl.IgtData::$global['jackpotWinsPath'];
+        }
+
+
+        $config = [
+            'serverConfig' => [
+                'paramGet' => $paramGet,
+                'paramRGS' => $paramRGS,
+                'softwareid' => $softwareId,
+                'nscode' => 'SKB',
+                'skincode' => $paramGet['skincode'],
+                'server' => $global['rgsServer'],
+                'showInitialCashier' => 'false',
+                'autopull' => 'N',
+                'securetoken' => $paramGet['securetoken'],
+                'uniqueid' => $paramGet['uniqueid'],
+                'channel' => $paramGet['channel'],
+                'presenttype' => $paramGet['presenttype'],
+                'buildnumber' => $global['buildnumber'],
+                'gameUrl' => $cdnBase . $gamePath . '/launcher.html',
+                'requestTimeout' => $global['requestTimeout'],
+                'requestRetries' => $global['requestRetries'],
+                'ipaddress' => $paramGet['ipaddress'],
+                'playMode' => $request->input('playMode', 'real'),
+                'denomamount' =>  $game['denomamount']??IgtData::$global['denomamount'],//$game['minbet'],
+                'countrycode' => $paramGet['countrycode'],
+                'revisionTag' => $game['revisionTag'],
+                'paramGame' => [
+                    'skincode' => $paramGet['skincode'],
+                    'softwareid' => $softwareId,
+                    'countrycode' => $paramGet['countrycode'],
+                    'assetPack' => $assetPack,
+                    'language' => $lang,
+                    'currencycode' => $paramGet['currencycode'],
+                    'playMode' => $request->input('playMode', 'real'),
+                    'revisionTag' => $game['revisionTag'],
+                ],
+                'autospin' => [
+                    'winLimit' => [1, 2, 5, 10, 100],
+                    'lossLimit' => [1, 2, 5, 10, 100],
+                    'steps' => [10, 20, 30, 50, 100],
+                    'version' => 2,
+                ],
+                'cecServerUrl' => $global['rgsCecServer'],
+                'gameVersion' => $game['gameVersion'],
+                'sessionToken' => 'IGTGSRID=' . $token,
+                'dateFormatter' => [
+                    'country' => $paramGet['countrycode'],
+                    'dateFormatterShort' => 'dd/MM/yyyy',
+                    'dateFormatterLong' => 'dd/MM/yyyy HH:mm:ss',
+                ],
+                'fusionIntegrationInd' => false,
+                'pendingGps' => false,
+                'checkPass' => false,
+
+                'jackpotMeterUrl'=>$jackpotMeterUrl,
+                'jackpotWinsUrl'=>$jackpotWinsUrl,
+
+                'baseHostUrl' => $cdnBase,
+                'needShareButton' => false,
+                'nicknameAutoGen' => true,
+                'authorizationId' => 0,
+                'widgetsEnabled' => true,
+                'supportGSPType' => 'widget',
+                'showTournmentWelComeMessage' => false,
+                'blockInsufficientFund' => false,
+                'enableCustomGSP' => false,
+                'gameInfoInterval' => '',
+            ],
+            'deviceConfig' => $deviceConfig,
+            'kernelConfig' => [
+                'splashUrl' => $cdnBase . $gamePath . '/splash.html',
+                'serverType' => 'RGS',
+                'platformVersion' => $global['platformVersion'],
+                'loglevel' => 'WARN',
+                'paramSplash' => [
+                    'skincode' => $paramGet['skincode'],
+                    'softwareid' => $softwareId,
+                    'countrycode' => $paramGet['countrycode'],
+                    'assetPack' => $assetPack,
+                    'language' => $lang,
+                    'currencycode' => $paramGet['currencycode'],
+                    'playMode' => $request->input('playMode', 'real'),
+                    'revisionTag' => $game['revisionTag'],
+                ],
+                'intVerify' => false,
+                'sentryEnabled' => true,
+                'showSoundPrompt' => true,
+                'reportLevels' => new \stdClass(),
+            ],
+            'consoleConfig' => [
+                'paramConsole' => [
+                    'skincode' => $paramGet['skincode'],
+                    'softwareid' => $softwareId,
+                    'nscode' => $paramGet['nscode'],
+                    'language' => $lang,
+                    'currencycode' => $paramGet['currencycode'],
+                    'cashiertype' => 'N',
+                    'securetoken' => $paramGet['securetoken'],
+                    'uniqueid' => $paramGet['uniqueid'],
+                ],
+                'lobbyUrl' => $global['mainSiteUrl'],
+                'cashiertype' => 'N',
+                'TCustomView' => [
+                    'consoleUrl' => $global['consoleBaseUrl'] . $game['tCustomPath'],
+                    'resizable' => 'Y',
+                    'width' => '100',
+                    'timeout' => '15000',
+                    'height' => '31',
+                ],
+                'BCustomView' => [
+//                    'consoleUrl' => $global['consoleBaseUrl'] . $game['bCustomPath'],
+//                    'resizable' => 'N',
+//                    'width' => '100%',
+//                    'timeout' => '15000',
+//                    'height' => '0%',
+                ],
+            ],
+            'stringsConfig' => $strings,
+            'forceGetParamNames' => [],
+            'gameConfig' => [
+                'studio' => $game['studio'],
+                'gameType' => $game['gameType'],
+                'game' => $game['game'],
+                'gameWindowWidth' => $game['gameWindowWidth'],
+                'spaceBarSpin' => $game['spaceBarSpin'],
+                'minbet' => $game['minbet'],
+                'gameWindowHeight' => $game['gameWindowHeight'],
+                'softDisplay' => $game['softDisplay'],
+                'gameTitle' => $game['gameTitle'],
+                'assetPack' => $assetPack,
+                'language' => $lang,
+                'currencycode' => $paramGet['currencycode'],
+                'denomid' => $game['denomid'],
+                'turboMode' => $game['turboMode'],
+                'speedOption' => $game['speedOption'],
+                'slamStop' => $game['slamStop'],
+                'softwareId' => $softwareId,
+                'dealerVoice' => $game['dealerVoice'],
+                'gleVersion' => $game['gleVersion'],
+                'skbGateWayVersion' => $global['skbGateWayVersion'],
+                'autospin' => [
+                    'winLimit' => [1, 2, 5, 10, 100],
+                    'lossLimit' => [1, 2, 5, 10, 100],
+                    'steps' => [10, 20, 30, 50, 100],
+                    'version' => 2,
+                ],
+                'rgPresentation' => $game['rgPresentation'],
+            ],
+            'gameServiceConfig' => [
+                'flightdeck' => [
+                    'url' => $global['flightdeckUrl'],
+                ],
+            ],
+            'widgetConfig' => [
+                'dcid' => 'SF',
+                'connectorUrl' => $global['widgetUrl'],
+            ],
+        ];
+
+        $configJson = htmlspecialchars(json_encode($config, JSON_UNESCAPED_SLASHES), ENT_QUOTES, 'UTF-8');
+        $iconUrl = $cdnBase . $gamePath . '/icons/icon.png';
+
+        $html = '<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="X-UA-Compatible" content="IE=EDGE">
+<meta charset="UTF-8">
+<link rel="apple-touch-icon" href="' . $iconUrl . '">
+<meta name="apple-mobile-web-app-capable" content="yes">
+<script>
+(function () {
+  var scale = 1;
+  if (navigator.userAgent.match(/\s+[789]_[\d_]+\s+like Mac OS X/) && navigator.userAgent.indexOf("7_0") == -1 && /(iPod|iPhone)/.test(navigator.userAgent)) {
+    document.write("<meta name=\"viewport\" content=\"width=device-width, initial-scale=" + scale + ", minimum-scale=" + scale + ", maximum-scale=" + scale + ", user-scalable=no, minimal-ui\" />");
+  } else {
+    document.write("<meta name=\"viewport\" content=\"width=device-width, initial-scale=" + scale + ", minimum-scale=" + scale + ", maximum-scale=" + scale + ", user-scalable=no, viewport-fit=cover\" />");
+  }
+})();
+window.addEventListener("message", function(e){ if(!e.data||!e.data.message) return; var m=document.getElementById("messageBoxDiv"); if(m){ m.style.visibility="visible"; document.getElementById("message").innerHTML=e.data.message; } var c=document.getElementById("container"); if(c&&c.parentNode){ c.parentNode.removeChild(c); } }, true);
+</script>
+<meta name="com.igt.skateboard.CLIENTCONFIG" content="' . $configJson . '"/>
+<title>' . htmlspecialchars($game['gameTitle']) . '</title>
+<script type="text/javascript">var require={"waitSeconds":0,"urlArgs":"v=' . $requireVersion . '"};</script>
+<link rel="stylesheet" type="text/css" href="' . $cdnBase . $skbGatewayPath . '/css/style.mob.css?v=' . $requireVersion . '">
+</head>
+<body>
+<img id="loader" class="loader" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==">
+<div id="messageBoxDiv" class="messageBoxDiv" style="visibility:hidden"><div id="message" class="message"></div></div>
+<script data-main="' . $cdnBase . $skbGatewayPath . '/js/kernel.js" src="' . $cdnBase . $skbGatewayPath . '/js/require.js?v=2.1.20"></script>
+</body>
+</html>';
+
+        Util::WriteLog('igtsim', ['softwareid' => $softwareId, 'lang' => $lang]);
+        return response($html);
+    }
+
+    private function isMobileUA(string $ua): bool
+    {
+        $ua = strtolower($ua);
+        $mobiles = ['iphone', 'ipad', 'ipod', 'android', 'mobile'];
+        foreach ($mobiles as $m) {
+            if (strpos($ua, $m) !== false) return true;
+        }
+        return false;
+    }
+}
+
+

+ 2 - 18
app/Http/Controllers/Game/PgSimController.php

@@ -71,7 +71,7 @@ class PgSimController extends Controller
         $params = ['l' => $lang, 'ot' => $sign, 'btt' => $level>0?$level+2:1, 't' => $user->GlobalUID, 'or' => $or, 'api' => $api,'__hv'=>'2fMEQCIFLydRxh8H68maL+JBCLPYwNvVYnfrj2F2sz6vZlvN8RAiBwtO1MPOn3EEGrB37KWtvUkTvvwOE6pUJneC1YekbBjw=='];
         $url = $cdnserver . "/$gid/index.html?" . http_build_query($params);
 //        https://static2.pgn-nmu2nd.com/57/index.html?l=zh&ot=&btt=1&t=917c74999c-b53b-eb1a-0004478930&or=static2.pgn-nmu2nd.com&api=api.pgn-nmu2nd.com
-        dd($url);
+
 
 
         echo "<script>
@@ -940,23 +940,7 @@ document.addEventListener("touchmove", (e) => {
 
     private function GetApiSite($GlobalUID=null)
     {
-        if($GlobalUID){
-            $config = ServerService::GetGlobalServerInfoByGUID($GlobalUID);
-        }else{
-            $config = ServerService::GetGlobalServerInfoByCode(ServerService::GetLocalSign());
-        }
-
-        return [
-            'Bangladesh'=> "brapi.pgn-nmu2nd.com",
-            'Pakistan'  => "brapi.pgn-nmu2nd.com",
-            'OrgBrazil' => "brapi.pgn-nmu2nd.com",
-            'Brazil'    => "brapi.pgn-nmu2nd.com",
-            'Europe'    => "brapi.pgn-nmu2nd.com",
-            'Russia'    => "brapi.pgn-nmu2nd.com",
-            'Mexico'    => "brapi.pgn-nmu2nd.com",
-            'Singapore' => "brapi.pgn-nmu2nd.com",
-            'Latin'     => "brapi.pgn-nmu2nd.com",
-        ][$config['Subsite']];
+        return "testgame.usgamewin.com";
     }
     public function VerifySession(Request $request)
     {

+ 5 - 0
routes/api.php

@@ -132,6 +132,11 @@ Route::any('/pgsoft/leave', 'Game\PgSimController@leaveOrg');
 Route::any('/jiligames/leave', 'Game\JiliSimController@leaveOrg');
 
 Route::any('/jiligames/lunchorg2', 'Game\JiliSimController@gameLunchOrg');
+
+Route::any('/igt/leave', 'Game\IgtSimController@leaveOrg');
+Route::any('/igt/lunchorg', 'Game\IgtSimController@gameLunchOrg');
+Route::any('/igt/lunch', 'Game\IgtSimController@gameLunch');
+
 Route::group([
 
     'middleware' => 'apiSign'