' + str + '
\n').join("")}` 861 | if (showTips && !using_GPT3) { 862 | startSmokeAnimation() 863 | } 864 | } 865 | 866 | const openTooltipPopup = function (e) { 867 | clearOffsets() 868 | mouseMoved(e) // To update cursor location after clearing offsets. 869 | document.getElementById('board').style.filter = `blur(10px) brightness(0.6)` 870 | document.getElementById('planchette').style.filter = `blur(10px) brightness(0.6)` 871 | document.getElementById('planchetteHelper').style.filter = `blur(10px) brightness(0.6)` 872 | document.getElementById('spiritMessageContainer').style.visibility = `hidden` 873 | document.getElementById('userMessageContainer').style.visibility = `hidden` 874 | document.getElementById('tooltipPopup').style.opacity = '1' 875 | document.getElementById('tooltipPopup').style.display = `block` 876 | } 877 | 878 | const closeTooltipPopup = function (shutUp) { 879 | if (shutUp) toggleShowTips() 880 | document.getElementById('settingsGear').classList.remove(['one-time-gear-roll']) 881 | document.getElementById('planchette').style.removeProperty('filter') 882 | document.getElementById('tooltipPopup').style.display = 'none' 883 | document.getElementById('board').style.filter = `none`; 884 | document.getElementById('planchetteHelper').style.filter = `none`; 885 | document.getElementById('spiritMessageContainer').style.visibility = `visible` 886 | document.getElementById('userMessageContainer').style.visibility = `visible`; 887 | } 888 | 889 | let isBlackSmokeClickable = true 890 | const toggleTooltipPopup = function (e, shutUp) { 891 | if (!isBlackSmokeClickable) return 892 | popupIsOpen = !popupIsOpen 893 | popupIsOpen ? openTooltipPopup(e) : closeTooltipPopup(shutUp) 894 | } 895 | 896 | const openSettingsPopup = function () { 897 | document.getElementById('settingsGear').classList.add(['one-time-gear-roll']) 898 | document.getElementById('board').style.filter = `blur(10px) brightness(0.6)` 899 | document.getElementById('planchette').style.filter = `blur(10px) brightness(0.6)` 900 | document.getElementById('planchetteHelper').style.filter = `blur(10px) brightness(0.6)` 901 | document.getElementById('spiritMessageContainer').style.visibility = `hidden` 902 | document.getElementById('userMessageContainer').style.visibility = `hidden` 903 | document.getElementById('settingsPopup').style.opacity = '1' 904 | document.getElementById('settingsPopup').style.display = `block` 905 | } 906 | 907 | const closeSettingsPopup = function () { 908 | document.getElementById('settingsGear').classList.remove(['one-time-gear-roll']) 909 | document.getElementById('planchette').style.removeProperty('filter') 910 | document.getElementById('settingsPopup').style.display = 'none' 911 | document.getElementById('board').style.filter = `none`; 912 | document.getElementById('planchetteHelper').style.filter = `none`; 913 | document.getElementById('spiritMessageContainer').style.visibility = `visible` 914 | document.getElementById('userMessageContainer').style.visibility = `visible`; 915 | } 916 | 917 | const toggleSettingsPopup = function () { 918 | popupIsOpen = !popupIsOpen 919 | popupIsOpen ? openSettingsPopup() : closeSettingsPopup() 920 | } 921 | 922 | const toggleEasyMode = function() { 923 | easyMode = !easyMode 924 | const slider = document.getElementById('easyModeSliderSlider') 925 | if (easyMode) { 926 | slider.classList.add(['checked']) 927 | } else { 928 | slider.classList.remove(['checked']) 929 | } 930 | } 931 | 932 | const toggleShowTips = function () { 933 | showTips = !showTips 934 | const slider = document.getElementById('showTipsSliderSlider') 935 | if (showTips) { 936 | slider.classList.add(['checked']) 937 | if (!using_GPT3) startSmokeAnimation() 938 | } else { 939 | slider.classList.remove(['checked']) 940 | if (!using_GPT3) stopSmokeAnimation() 941 | } 942 | } 943 | 944 | const toggleRevealMouse = function () { 945 | revealMouse = !revealMouse 946 | const slider = document.getElementById('revealMouseSliderSlider') 947 | if (!revealMouse) { 948 | slider.classList.remove(['checked']) 949 | document.getElementById('planchetteHelper').style.opacity = 0 950 | document.getElementById('bg').style.cursor = 'none' 951 | document.getElementById('hoverBoard').style.cursor = 'none' 952 | document.getElementById('planchette').style.cursor = 'none' 953 | document.getElementById('planchetteHelper').style.cursor = 'none' 954 | } else { 955 | slider.classList.add(['checked']) 956 | document.getElementById('planchetteHelper').style.opacity = 0.5 957 | document.getElementById('bg').style.cursor = 'auto' 958 | document.getElementById('hoverBoard').style.cursor = 'auto' 959 | document.getElementById('planchette').style.cursor = 'auto' 960 | document.getElementById('planchetteHelper').style.cursor = 'auto' 961 | } 962 | } 963 | 964 | const toggleSpeedMode = function () { 965 | speedMode = !speedMode 966 | const slider = document.getElementById('speedModeSliderSlider') 967 | if (speedMode) { 968 | slider.classList.add(['checked']) 969 | localStorage.setItem('ouija-speedmode', true) 970 | } else { 971 | slider.classList.remove(['checked']) 972 | localStorage.removeItem('ouija-speedmode') 973 | } 974 | if (speedMode && remainingGoals.length > 0) { 975 | recursivelyRevealSpiritMessage() 976 | } 977 | } 978 | 979 | const toggleOpenAI = function () { 980 | using_GPT3 = !using_GPT3 981 | const slider = document.getElementById('openAISliderSlider') 982 | if (!using_GPT3) { 983 | slider.classList.remove(['checked']) 984 | document.getElementById('settingsPopupButtonsContainer').style.marginTop = '1.5vw' 985 | document.getElementById('textInputAPIKey').style.marginTop = '1.7vw' 986 | if (showTips) startSmokeAnimation() 987 | } else { 988 | slider.classList.add(['checked']) 989 | document.getElementById('settingsPopupButtonsContainer').style.marginTop = '4.1vw' 990 | document.getElementById('textInputAPIKey').value = window.localStorage.getItem('ouija-openai-api-key') 991 | document.getElementById('textInputAPIKey').style.marginTop = '1vw' 992 | if (showTips) stopSmokeAnimation() 993 | } 994 | 995 | } 996 | 997 | const userPastedAPIKey = function () { 998 | window.localStorage.setItem('ouija-openai-api-key', document.getElementById('textInputAPIKey').value) 999 | } 1000 | 1001 | const mouseCheck = function () { 1002 | if (userMoveCount < 20) { 1003 | document.getElementById('mouseRequirement').style.color = 'red' 1004 | return false 1005 | } 1006 | return true 1007 | } 1008 | 1009 | const openConsentPopup = function () { 1010 | popupIsOpen = true 1011 | document.getElementById('board').style.filter = `blur(10px) brightness(0.6)` 1012 | document.getElementById('planchette').style.filter = `blur(10px) brightness(0.6)` 1013 | document.getElementById('planchetteHelper').style.filter = `blur(10px) brightness(0.6)` 1014 | document.getElementById('userMessageContainer').style.visibility = `hidden` 1015 | document.getElementById('consentPopup').style.display = `block` 1016 | document.getElementById('settingsGear').style.opacity = `0` 1017 | document.getElementById('settingsGear').style.transition = `opacity 3s` 1018 | } 1019 | 1020 | const closeConsentPopup = function () { 1021 | popupIsOpen = false 1022 | window.localStorage.setItem(OUIJA_USER_ID, 'user' + Math.round(1000000000 * Math.random())) 1023 | document.getElementById('consentPopup').style.opacity = '0' 1024 | document.getElementById('settingsGear').style.opacity = `0.7` 1025 | setTimeout(() => { 1026 | document.getElementById('consentPopup').style.display = 'none' 1027 | document.getElementById('settingsGear').style.removeProperty('opacity') 1028 | document.getElementById('settingsGear').style.removeProperty('transition') 1029 | createTooltip(0) 1030 | }, 3000) 1031 | document.getElementById('board').style.filter = `none`; 1032 | document.getElementById('planchette').style.removeProperty('filter') 1033 | document.getElementById('planchetteHelper').style.filter = `none`; 1034 | document.getElementById('userMessageContainer').style.visibility = `visible`; 1035 | document.getElementById('consentYes').classList.add(['one-time-bump']) 1036 | const elementsToFadeOut = document.getElementsByClassName('consentText') 1037 | for (let i = 0; i < elementsToFadeOut.length; i++) { 1038 | elementsToFadeOut[i].style.opacity = '0.4'; 1039 | } 1040 | document.getElementById('changingConsentText').innerText = 'Thank you for complying. We shall come for your soul after death.' 1041 | document.getElementById('consentYes').style.pointerEvents = 'none' 1042 | document.getElementById('consentNo').style.pointerEvents = 'none' 1043 | } 1044 | 1045 | const consentYes = function () { 1046 | if (!mouseCheck()) return 1047 | logToSumoLogic('!CONSENT_YES') 1048 | closeConsentPopup() 1049 | } 1050 | 1051 | const consentNo = function () { 1052 | if (!mouseCheck()) return 1053 | logToSumoLogic('!CONSENT_NO') 1054 | // Make it appear as if the user clicked 'yes', even though they actually clicked 'no' 1055 | const shiftXbuttonWidth = document.getElementById('consentNo').getBoundingClientRect().width * 100.0 / planchetteWidth 1056 | const shiftXmarginWidth = windowWidth * 1.5 / planchetteWidth 1057 | const shiftX = shiftXbuttonWidth + shiftXmarginWidth 1058 | offsetX -= shiftX // Shift mouse to consentYes button 1059 | planchetteTransformX += shiftX // Negate any effect on planchette's position 1060 | const cursor = document.getElementById("cursor") 1061 | paintCursorWithOffset(cursor, prevX, prevY) 1062 | closeConsentPopup() 1063 | } 1064 | 1065 | let pauseSmokeAnimation = true 1066 | let timerToPauseSmokeAnimation = null 1067 | const startSmokeAnimation = function () { 1068 | // We have a scale transition to start/stop smoke animation, 1069 | // and after that transition is done we want to kill our animation tick for performance reasons. 1070 | // The user might toggle on/off before the transition is completed. 1071 | if (timerToPauseSmokeAnimation) { 1072 | // This might happen if the user quickly toggles tips off and on. 1073 | clearTimeout(timerToPauseSmokeAnimation) 1074 | document.getElementById('animateRemoveFocus').beginElement() 1075 | } 1076 | document.getElementById('tooltipSymbol').style.transform = 'scale(1.0)' 1077 | document.getElementById('tooltipSymbol').style.filter = 'blur(11px)' 1078 | document.getElementById('tooltipSymbol').style.opacity = '1.0' 1079 | if (!pauseSmokeAnimation) { 1080 | return 1081 | } 1082 | pauseSmokeAnimation = false 1083 | const filter = document.getElementById("smokeFilterTurbulence"); 1084 | let frames = 1; 1085 | let rad = Math.PI / 180; 1086 | let bfx, bfy; 1087 | let prevTime = Date.now() 1088 | const tickSmokeAnimation = function () { 1089 | if (pauseSmokeAnimation) { 1090 | // This pause only exists for performance reasons, smoke would be hidden anyway. 1091 | return 1092 | } 1093 | // Use elapsedTime to stabilize animation speed regardless of device 1094 | const currTime = Date.now() 1095 | const timeElapsed = currTime - prevTime 1096 | prevTime = currTime 1097 | frames += .02 * timeElapsed 1098 | 1099 | bfx = 0.03; 1100 | bfy = 0.03; 1101 | 1102 | bfx += 0.005 * Math.cos(frames * rad); 1103 | bfy += 0.005 * Math.sin(frames * rad); 1104 | 1105 | bf = bfx.toString() + " " + bfy.toString(); 1106 | filter.setAttributeNS(null, "baseFrequency", bf); 1107 | 1108 | // Use requestIdleBallback instead of requestAnimationFrame, because 1109 | // we want our mouse move event listener callbacks to be prioritized 1110 | // higher than this low-prio animation in the queue for event loop. 1111 | 1112 | // Due to performance reasons we disable this animation on Firefox. 1113 | if (!reduceAnimations) window.requestIdleCallback(tickSmokeAnimation); 1114 | } 1115 | window.requestIdleCallback(tickSmokeAnimation); 1116 | } 1117 | 1118 | const stopSmokeAnimation = function () { 1119 | if (reduceAnimations) { 1120 | document.getElementById('tooltipSymbol').style.transform = 'scale(0.0)' 1121 | document.getElementById('tooltipSymbol').style.filter = 'blur(11px)' 1122 | document.getElementById('tooltipSymbol').style.opacity = '0.0' 1123 | return 1124 | } 1125 | document.getElementById('tooltipSymbol').style.transform = 'scale(3.0)' 1126 | document.getElementById('tooltipSymbol').style.filter = 'blur(13px)' 1127 | document.getElementById('tooltipSymbol').style.opacity = '0.0' 1128 | document.getElementById('animateDissipate').setAttributeNS(null, 'from', document.getElementById('smokeFilterMap').scale.animVal) 1129 | document.getElementById('animateDissipate').beginElement() 1130 | timerToPauseSmokeAnimation = setTimeout(() => { 1131 | pauseSmokeAnimation = true 1132 | document.getElementById('tooltipSymbol').classList.add('disable-transitions') 1133 | document.getElementById('tooltipSymbol').style.transform = 'scale(0.0)' 1134 | document.getElementById('tooltipSymbol').style.filter = 'blur(11px)' 1135 | document.getElementById('tooltipSymbol').style.opacity = '1.0' 1136 | document.getElementById('tooltipSymbol').offsetHeight // Trigger a reflow while transitions are disabled. 1137 | document.getElementById('tooltipSymbol').classList.remove('disable-transitions') 1138 | document.getElementById('animateRemoveFocus').beginElement() 1139 | }, 2000) 1140 | } 1141 | 1142 | const displaySuicidePreventionPopup = function() { 1143 | document.getElementById(`suicide-prevention-popup`).style.bottom = '20px' 1144 | document.getElementById(`suicide-prevention-popup`).style.transition = 'bottom 2s cubic-bezier(.12, 1, .96, .97)' 1145 | } 1146 | const hideSuicidePreventionPopup = function() { 1147 | document.getElementById(`suicide-prevention-popup`).style.bottom = '-17vw' 1148 | document.getElementById(`suicide-prevention-popup`).style.transition = 'bottom 2s ease-out' 1149 | } 1150 | const showSuicidePreventionOverlay = function() { 1151 | gameOver = true 1152 | document.getElementById('suicidePreventionOverlay').style.display = 'block' 1153 | // Hide blinking cursor 1154 | document.getElementById('userMessagePre').classList = ['orangey-text'] 1155 | } 1156 | document.getElementById('suicide-prevention-button-fine').addEventListener('click', hideSuicidePreventionPopup) 1157 | document.getElementById('suicide-prevention-button-help').addEventListener('click', e => { 1158 | hideSuicidePreventionPopup() 1159 | showSuicidePreventionOverlay() 1160 | window.localStorage.setItem(OUIJA_SUICIDE_PREVENTION_ACTIVATED, true) 1161 | }) 1162 | if (window.localStorage.getItem(OUIJA_SUICIDE_PREVENTION_ACTIVATED)) { 1163 | showSuicidePreventionOverlay() 1164 | } 1165 | 1166 | const displayNotification = function(achievement) { 1167 | document.getElementById(`${achievement}-notification`).style.bottom = '-3px' 1168 | document.getElementById(`${achievement}-notification`).style.transition = 'bottom 2s cubic-bezier(.12, 1, .96, .97)' 1169 | setTimeout(() => { 1170 | document.getElementById(`${achievement}-notification`).style.bottom = '-12vw' 1171 | document.getElementById(`${achievement}-notification`).style.transition = 'bottom 2s ease-in' 1172 | }, 4000) 1173 | } 1174 | 1175 | const activateAchievementIcon = function(achievement) { 1176 | // Remove not-achieved hint icon 1177 | document.getElementsByClassName('not-achieved')[0].remove() 1178 | // Add new element in its place 1179 | document.getElementById('achievement-row').innerHTML += ` 1180 | 1183 | ` 1184 | document.getElementById('achievement-row').offsetHeight // Trigger reflow. 1185 | setTimeout(() => { 1186 | // I don't understand why this doesn't work without timer. 1187 | document.getElementById(achievement).addEventListener('click', e => { trophyClicked(achievement) }) 1188 | }, 1000) 1189 | 1190 | } 1191 | 1192 | const unlockAchievement = function(achievement) { 1193 | if (window.localStorage.getItem(`ouija-${achievement}`)) { 1194 | // Only unlock once per achievement 1195 | return 1196 | } 1197 | if (achievement !== FALSE_PROPHETS_ACHIEVEMENT) { 1198 | document.getElementById('audio-drum1').play() 1199 | } 1200 | window.localStorage.setItem(`ouija-${achievement}`, 'true') 1201 | logToSumoLogic(`!ACHIEVEMENT_${achievement}`) 1202 | activateAchievementIcon(achievement) 1203 | displayNotification(achievement) 1204 | } 1205 | 1206 | const rageEffect = function() { 1207 | const element = document.getElementById('boardContainer') 1208 | element.classList.remove("shake-board") 1209 | element.offsetWidth // Trigger reflow. 1210 | element.classList.add("shake-board") 1211 | } 1212 | 1213 | const shakeMouse = function() { 1214 | let step = 0 1215 | let recursiveTimerReplay = function () { 1216 | const rec = mouse_recordings 1217 | if (step >= rec.length) return 1218 | const diffX = rec[step][1] / planchetteWidth * 100 1219 | const diffY = rec[step][2] / planchetteHeight * 100 1220 | offsetX += diffX 1221 | planchetteTransformX -= diffX 1222 | offsetY += diffY 1223 | planchetteTransformY -= diffY 1224 | step = step + 1 1225 | paintCursorWithOffset(document.getElementById("cursor"), prevX, prevY) 1226 | setTimeout(() => { recursiveTimerReplay() }, 0) 1227 | } 1228 | recursiveTimerReplay() 1229 | } 1230 | 1231 | const switchToNormalCursor = function (e) { 1232 | stopDraggingPlanchette(e) 1233 | document.getElementById("cursor").style.visibility = "hidden" 1234 | clearOffsets() 1235 | updatePlanchettePosition() 1236 | } 1237 | 1238 | const trophyClicked = function(achievement) { 1239 | if (window.localStorage.getItem(`ouija-${achievement}`)) { 1240 | displayNotification(achievement) 1241 | } 1242 | } 1243 | 1244 | // Mouse move events 1245 | document.getElementById('loadingOverlay').addEventListener('mousemove', e => { userMoveCount += 1 }) 1246 | document.getElementById('bg').addEventListener('mousemove', e => { mouseMoved(e) }) 1247 | document.getElementById('hoverBoard').addEventListener('mousemove', e => { mouseMoved(e) }) 1248 | document.getElementById('planchette').addEventListener('mousemove', e => { mouseMoved(e) }) 1249 | document.getElementById('planchetteHelper').addEventListener('mousemove', e => { mouseMoved(e, ON_PLANCHETTE) }) 1250 | document.querySelectorAll('.popupHoverboard').forEach((element) => element.addEventListener('mousemove', e => { mouseMoved(e) })) 1251 | document.querySelectorAll('.popupButton').forEach((element) => element.addEventListener('mousemove', e => { mouseMoved(e, ON_BUTTON) })) 1252 | document.querySelectorAll('.slider').forEach((element) => element.addEventListener('mousemove', e => { mouseMoved(e, ON_BUTTON) })) 1253 | document.getElementById('extRowGithub').addEventListener('mousemove', e => { mouseMoved(e, ON_BUTTON) }) 1254 | document.getElementById('extRowFeedback').addEventListener('mousemove', e => { mouseMoved(e, ON_BUTTON) }) 1255 | 1256 | // Button click events 1257 | document.getElementById('consentYes').addEventListener('click', e => { consentYes() }) 1258 | document.getElementById('consentNo').addEventListener('click', e => { consentNo() }) 1259 | document.getElementById('bg').addEventListener('click', e => { if (hoveringOverTooltip && showTips && !pauseSmokeAnimation) toggleTooltipPopup(e) }) 1260 | document.getElementById('hoverBoard').addEventListener('click', e => { if (hoveringOverTooltip && showTips && !pauseSmokeAnimation) toggleTooltipPopup(e) }) 1261 | document.getElementById('tooltipContinueButton').addEventListener('click', e => { toggleTooltipPopup(e) }) 1262 | document.getElementById('tooltipShutUpButton').addEventListener('click', e => { toggleTooltipPopup(e, SHUT_UP) }) 1263 | document.getElementById('saveSettings').addEventListener('click', e => { toggleSettingsPopup() }) 1264 | document.getElementById('easyModeSlider').addEventListener('click', e => { toggleEasyMode() }) 1265 | document.getElementById('showTipsSlider').addEventListener('click', e => { toggleShowTips() }) 1266 | document.getElementById('revealMouseSlider').addEventListener('click', e => { toggleRevealMouse() }) 1267 | document.getElementById('speedModeSlider').addEventListener('click', e => { toggleSpeedMode() }) 1268 | document.getElementById('openAISlider').addEventListener('click', e => { toggleOpenAI() }) 1269 | document.getElementById('settingsGear').addEventListener('click', e => { toggleSettingsPopup() }) 1270 | 1271 | // Activating planchetteDragging 1272 | document.getElementById('planchetteHelper').addEventListener('mousedown', e => { startDraggingPlanchette(e) }) 1273 | 1274 | // Deactivating planchetteDragging 1275 | document.getElementById('planchetteHelper').addEventListener('mouseup', e => { stopDraggingPlanchette(e, ON_PLANCHETTE) }) 1276 | document.body.addEventListener('mouseup', e => { stopDraggingPlanchette(e) }) 1277 | 1278 | // Switches from fake cursor to normal cursor 1279 | document.body.addEventListener('mouseleave', e => { switchToNormalCursor(e) }) 1280 | document.getElementById('suicide-prevention-popup').addEventListener('mousemove', e => { switchToNormalCursor(e) }) 1281 | document.getElementById('settingsGearHoverboard').addEventListener('mousemove', e => { switchToNormalCursor(e) }) 1282 | document.getElementById('achievement-hoverboard').addEventListener('mousemove', e => { switchToNormalCursor(e) }) 1283 | document.getElementById('textInputAPIKey').addEventListener('mousemove', e => { switchToNormalCursor(e) }) 1284 | 1285 | // Keydown events 1286 | document.body.addEventListener('keydown', e => { 1287 | const lowerCasedChar = e.key.toLocaleLowerCase() 1288 | if (turn === TURN_USER && !popupIsOpen && !gameOver) { 1289 | const m = document.getElementById('userMessagePre') 1290 | if (e.key == 'Enter') { 1291 | if (m.innerText.length >= 2) { 1292 | possessedMessage = '' // this may be needed in case user sends half-consumed possessedMessage 1293 | const userQuestion = m.innerText 1294 | console.log('Player: ' + userQuestion) 1295 | switchTurnToSpirit() 1296 | dispatchToSpirit(userQuestion, spiritIsReadyToCommunicate) 1297 | } 1298 | } else if (possessedMessage?.length > 0) { 1299 | const c = possessedMessage.charAt(0) 1300 | possessedMessage = possessedMessage.substring(1) 1301 | m.innerText += c.toUpperCase() 1302 | } else if (ALLOWED_CHARS.includes(lowerCasedChar) || lowerCasedChar == ' ') { 1303 | if (m.innerText.length < USER_MESSAGE_MAX_LENGTH) { 1304 | m.innerText += lowerCasedChar.toUpperCase() 1305 | } 1306 | } else if (e.key == 'Backspace' && m.innerText.length > 0) { 1307 | m.innerText = m.innerText.substring(0, m.innerText.length - 1) 1308 | } else if (e.key == "'") { 1309 | // Fix Firefox issue. 1310 | e.preventDefault() 1311 | } 1312 | } 1313 | 1314 | // Helpers for debugging 1315 | if (!window.location.href.endsWith("#debug")) { 1316 | return 1317 | } 1318 | if (e.key == "=") { 1319 | debug[RECORDING] = {} 1320 | console.log('Recording') 1321 | } 1322 | }) 1323 | 1324 | const cleanText = function (rawText) { 1325 | const lowerCased = rawText.toLocaleLowerCase() 1326 | let filtered = '' 1327 | for (let i = 0; i < lowerCased.length; i++) { 1328 | if (ALLOWED_CHARS.includes(lowerCased[i])) { 1329 | filtered += lowerCased[i] 1330 | } 1331 | } 1332 | return filtered 1333 | } 1334 | 1335 | allAchievements 1336 | .filter(achievement => window.localStorage.getItem(`ouija-${achievement}`)) 1337 | .map(achievement => activateAchievementIcon(achievement)) 1338 | 1339 | if (window.localStorage.getItem(`ouija-speedmode`)) { 1340 | toggleSpeedMode() 1341 | } 1342 | 1343 | if (reduceAnimations) { 1344 | document.getElementById('board').style.animationName = 'no-animation' 1345 | document.getElementById('board').style.boxShadow = '0 0 50px 20px #d35400' 1346 | } -------------------------------------------------------------------------------- /assets/CarnivaleeFreakshow.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/CarnivaleeFreakshow.woff -------------------------------------------------------------------------------- /assets/CarnivaleeFreakshow.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/CarnivaleeFreakshow.woff2 -------------------------------------------------------------------------------- /assets/Feral-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/Feral-Regular.ttf -------------------------------------------------------------------------------- /assets/Feral-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/Feral-Regular.woff -------------------------------------------------------------------------------- /assets/Feral-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/Feral-Regular.woff2 -------------------------------------------------------------------------------- /assets/KingthingsTrypewriter2.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/KingthingsTrypewriter2.woff -------------------------------------------------------------------------------- /assets/KingthingsTrypewriter2.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/KingthingsTrypewriter2.woff2 -------------------------------------------------------------------------------- /assets/aero_arrow.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/aero_arrow.cur -------------------------------------------------------------------------------- /assets/aero_link.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/aero_link.cur -------------------------------------------------------------------------------- /assets/beam_i.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/beam_i.cur -------------------------------------------------------------------------------- /assets/demonic-woman-scream-6333.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/demonic-woman-scream-6333.mp3 -------------------------------------------------------------------------------- /assets/face-no-eyes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/face-no-eyes.png -------------------------------------------------------------------------------- /assets/face-outline-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/face-outline-transparent.png -------------------------------------------------------------------------------- /assets/face-outline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/face-outline.png -------------------------------------------------------------------------------- /assets/face-stare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/face-stare.png -------------------------------------------------------------------------------- /assets/glass-crack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/glass-crack.png -------------------------------------------------------------------------------- /assets/grab.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/grab.cur -------------------------------------------------------------------------------- /assets/grabbing.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/grabbing.cur -------------------------------------------------------------------------------- /assets/ice-cracking.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/ice-cracking.mp3 -------------------------------------------------------------------------------- /assets/jack_in_the_box.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/jack_in_the_box.mp3 -------------------------------------------------------------------------------- /assets/lnodrop.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/lnodrop.cur -------------------------------------------------------------------------------- /assets/mixkit-hard-horror-hit-drum-565.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/mixkit-hard-horror-hit-drum-565.mp3 -------------------------------------------------------------------------------- /assets/mouse_recordings.js: -------------------------------------------------------------------------------- 1 | mouse_recordings = [ 2 | [ 3 | 3, 4 | -16, 5 | 10 6 | ], 7 | [ 8 | 3, 9 | -1, 10 | 0 11 | ], 12 | [ 13 | 12, 14 | -1, 15 | 0 16 | ], 17 | [ 18 | 7, 19 | 0, 20 | -1 21 | ], 22 | [ 23 | 5, 24 | -1, 25 | 0 26 | ], 27 | [ 28 | 6, 29 | 0, 30 | -1 31 | ], 32 | [ 33 | 4, 34 | -1, 35 | 0 36 | ], 37 | [ 38 | 5, 39 | 0, 40 | -1 41 | ], 42 | [ 43 | 8, 44 | 0, 45 | -1 46 | ], 47 | [ 48 | 2, 49 | 0, 50 | -1 51 | ], 52 | [ 53 | 1, 54 | -1, 55 | 0 56 | ], 57 | [ 58 | 9, 59 | 0, 60 | -1 61 | ], 62 | [ 63 | 6, 64 | 0, 65 | -1 66 | ], 67 | [ 68 | 8, 69 | 0, 70 | -1 71 | ], 72 | [ 73 | 8, 74 | 0, 75 | -1 76 | ], 77 | [ 78 | 4, 79 | 0, 80 | -1 81 | ], 82 | [ 83 | 6, 84 | 1, 85 | 0 86 | ], 87 | [ 88 | 0, 89 | 0, 90 | -1 91 | ], 92 | [ 93 | 2, 94 | 1, 95 | 0 96 | ], 97 | [ 98 | 7, 99 | 0, 100 | -1 101 | ], 102 | [ 103 | 1, 104 | 1, 105 | 0 106 | ], 107 | [ 108 | 7, 109 | 0, 110 | -1 111 | ], 112 | [ 113 | 1, 114 | 1, 115 | 0 116 | ], 117 | [ 118 | 5, 119 | 0, 120 | -1 121 | ], 122 | [ 123 | 7, 124 | 1, 125 | 0 126 | ], 127 | [ 128 | 5, 129 | 1, 130 | 0 131 | ], 132 | [ 133 | 3, 134 | 0, 135 | -1 136 | ], 137 | [ 138 | 4, 139 | 1, 140 | 0 141 | ], 142 | [ 143 | 5, 144 | 1, 145 | 0 146 | ], 147 | [ 148 | 3, 149 | 0, 150 | -1 151 | ], 152 | [ 153 | 2, 154 | 1, 155 | 0 156 | ], 157 | [ 158 | 2, 159 | 1, 160 | 0 161 | ], 162 | [ 163 | 3, 164 | 1, 165 | 0 166 | ], 167 | [ 168 | 5, 169 | 1, 170 | 0 171 | ], 172 | [ 173 | 4, 174 | 1, 175 | 0 176 | ], 177 | [ 178 | 2, 179 | 1, 180 | 0 181 | ], 182 | [ 183 | 2, 184 | 0, 185 | -1 186 | ], 187 | [ 188 | 2, 189 | 1, 190 | 0 191 | ], 192 | [ 193 | 4, 194 | 1, 195 | 0 196 | ], 197 | [ 198 | 6, 199 | 1, 200 | 0 201 | ], 202 | [ 203 | 1, 204 | 1, 205 | 0 206 | ], 207 | [ 208 | 6, 209 | 1, 210 | 0 211 | ], 212 | [ 213 | 6, 214 | 1, 215 | 0 216 | ], 217 | [ 218 | 6, 219 | 1, 220 | 0 221 | ], 222 | [ 223 | 4, 224 | 1, 225 | 0 226 | ], 227 | [ 228 | 3, 229 | 0, 230 | 1 231 | ], 232 | [ 233 | 2, 234 | 1, 235 | 0 236 | ], 237 | [ 238 | 3, 239 | 0, 240 | 1 241 | ], 242 | [ 243 | 4, 244 | 1, 245 | 1 246 | ], 247 | [ 248 | 2, 249 | 0, 250 | 1 251 | ], 252 | [ 253 | 2, 254 | 1, 255 | 0 256 | ], 257 | [ 258 | 3, 259 | 0, 260 | 1 261 | ], 262 | [ 263 | 2, 264 | 1, 265 | 0 266 | ], 267 | [ 268 | 1, 269 | 0, 270 | 1 271 | ], 272 | [ 273 | 1, 274 | 1, 275 | 0 276 | ], 277 | [ 278 | 3, 279 | 0, 280 | 1 281 | ], 282 | [ 283 | 3, 284 | 1, 285 | 1 286 | ], 287 | [ 288 | 2, 289 | 0, 290 | 1 291 | ], 292 | [ 293 | 4, 294 | 1, 295 | 0 296 | ], 297 | [ 298 | 1, 299 | 0, 300 | 1 301 | ], 302 | [ 303 | 2, 304 | 0, 305 | 1 306 | ], 307 | [ 308 | 4, 309 | 0, 310 | 1 311 | ], 312 | [ 313 | 1, 314 | 0, 315 | 1 316 | ], 317 | [ 318 | 3, 319 | 0, 320 | 1 321 | ], 322 | [ 323 | 4, 324 | 0, 325 | 1 326 | ], 327 | [ 328 | 4, 329 | 0, 330 | 1 331 | ], 332 | [ 333 | 1, 334 | 0, 335 | 1 336 | ], 337 | [ 338 | 3, 339 | 0, 340 | 1 341 | ], 342 | [ 343 | 4, 344 | 0, 345 | 1 346 | ], 347 | [ 348 | 5, 349 | 0, 350 | 1 351 | ], 352 | [ 353 | 0, 354 | 0, 355 | 1 356 | ], 357 | [ 358 | 3, 359 | -1, 360 | 1 361 | ], 362 | [ 363 | 4, 364 | -1, 365 | 0 366 | ], 367 | [ 368 | 1, 369 | 0, 370 | 1 371 | ], 372 | [ 373 | 2, 374 | -1, 375 | 0 376 | ], 377 | [ 378 | 2, 379 | 0, 380 | 1 381 | ], 382 | [ 383 | 1, 384 | 0, 385 | 1 386 | ], 387 | [ 388 | 1, 389 | -1, 390 | 0 391 | ], 392 | [ 393 | 5, 394 | -1, 395 | 0 396 | ], 397 | [ 398 | 1, 399 | 0, 400 | 1 401 | ], 402 | [ 403 | 3, 404 | -1, 405 | 0 406 | ], 407 | [ 408 | 4, 409 | 0, 410 | 1 411 | ], 412 | [ 413 | 5, 414 | -1, 415 | 0 416 | ], 417 | [ 418 | 1, 419 | -1, 420 | 0 421 | ], 422 | [ 423 | 4, 424 | 0, 425 | 1 426 | ], 427 | [ 428 | 6, 429 | -1, 430 | 0 431 | ], 432 | [ 433 | 26, 434 | -1, 435 | 0 436 | ], 437 | [ 438 | 12, 439 | -1, 440 | 0 441 | ], 442 | [ 443 | 4, 444 | -1, 445 | 0 446 | ], 447 | [ 448 | 2, 449 | 0, 450 | -1 451 | ], 452 | [ 453 | 6, 454 | -1, 455 | 0 456 | ], 457 | [ 458 | 2, 459 | 0, 460 | -1 461 | ], 462 | [ 463 | 6, 464 | -1, 465 | 0 466 | ], 467 | [ 468 | 1, 469 | 0, 470 | -1 471 | ], 472 | [ 473 | 3, 474 | 0, 475 | -1 476 | ], 477 | [ 478 | 0, 479 | -1, 480 | 0 481 | ], 482 | [ 483 | 3, 484 | -1, 485 | 0 486 | ], 487 | [ 488 | 1, 489 | 0, 490 | -1 491 | ], 492 | [ 493 | 4, 494 | -1, 495 | 0 496 | ], 497 | [ 498 | 1, 499 | 0, 500 | -1 501 | ], 502 | [ 503 | 5, 504 | 0, 505 | -1 506 | ], 507 | [ 508 | 0, 509 | -1, 510 | -1 511 | ], 512 | [ 513 | 5, 514 | 0, 515 | -1 516 | ], 517 | [ 518 | 3, 519 | 0, 520 | -1 521 | ], 522 | [ 523 | 0, 524 | -1, 525 | 0 526 | ], 527 | [ 528 | 2, 529 | 0, 530 | -1 531 | ], 532 | [ 533 | 1, 534 | 0, 535 | -1 536 | ], 537 | [ 538 | 1, 539 | -1, 540 | 0 541 | ], 542 | [ 543 | 2, 544 | 0, 545 | -1 546 | ], 547 | [ 548 | 3, 549 | 0, 550 | -1 551 | ], 552 | [ 553 | 3, 554 | 0, 555 | -1 556 | ], 557 | [ 558 | 1, 559 | 0, 560 | -1 561 | ], 562 | [ 563 | 6, 564 | 0, 565 | -1 566 | ], 567 | [ 568 | 3, 569 | 1, 570 | 0 571 | ], 572 | [ 573 | 1, 574 | 0, 575 | -1 576 | ], 577 | [ 578 | 5, 579 | 0, 580 | -1 581 | ], 582 | [ 583 | 2, 584 | 1, 585 | 0 586 | ], 587 | [ 588 | 3, 589 | 0, 590 | -1 591 | ], 592 | [ 593 | 5, 594 | 0, 595 | -1 596 | ], 597 | [ 598 | 2, 599 | 1, 600 | 0 601 | ], 602 | [ 603 | 2, 604 | 0, 605 | -1 606 | ], 607 | [ 608 | 6, 609 | 1, 610 | 0 611 | ], 612 | [ 613 | 2, 614 | 0, 615 | -1 616 | ], 617 | [ 618 | 4, 619 | 1, 620 | 0 621 | ], 622 | [ 623 | 4, 624 | 0, 625 | -1 626 | ], 627 | [ 628 | 3, 629 | 0, 630 | -1 631 | ], 632 | [ 633 | 1, 634 | 1, 635 | 0 636 | ], 637 | [ 638 | 6, 639 | 1, 640 | 0 641 | ], 642 | [ 643 | 4, 644 | 0, 645 | -1 646 | ], 647 | [ 648 | 4, 649 | 1, 650 | 0 651 | ], 652 | [ 653 | 4, 654 | 1, 655 | 0 656 | ], 657 | [ 658 | 5, 659 | 1, 660 | 0 661 | ], 662 | [ 663 | 7, 664 | 1, 665 | 0 666 | ], 667 | [ 668 | 5, 669 | 1, 670 | 0 671 | ], 672 | [ 673 | 2, 674 | 1, 675 | 0 676 | ], 677 | [ 678 | 7, 679 | 1, 680 | 0 681 | ], 682 | [ 683 | 5, 684 | 1, 685 | 0 686 | ], 687 | [ 688 | 7, 689 | 1, 690 | 0 691 | ], 692 | [ 693 | 5, 694 | 0, 695 | 1 696 | ], 697 | [ 698 | 1, 699 | 1, 700 | 0 701 | ], 702 | [ 703 | 1, 704 | 1, 705 | 0 706 | ], 707 | [ 708 | 1, 709 | 0, 710 | 1 711 | ], 712 | [ 713 | 5, 714 | 1, 715 | 0 716 | ], 717 | [ 718 | 1, 719 | 0, 720 | 1 721 | ], 722 | [ 723 | 4, 724 | 1, 725 | 0 726 | ], 727 | [ 728 | 3, 729 | 0, 730 | 1 731 | ], 732 | [ 733 | 2, 734 | 1, 735 | 0 736 | ], 737 | [ 738 | 3, 739 | 1, 740 | 0 741 | ], 742 | [ 743 | 1, 744 | 0, 745 | 1 746 | ], 747 | [ 748 | 3, 749 | 0, 750 | 1 751 | ], 752 | [ 753 | 2, 754 | 1, 755 | 0 756 | ], 757 | [ 758 | 5, 759 | 0, 760 | 1 761 | ], 762 | [ 763 | 3, 764 | 1, 765 | 0 766 | ], 767 | [ 768 | 6, 769 | 0, 770 | 1 771 | ], 772 | [ 773 | 8, 774 | 1, 775 | 0 776 | ], 777 | [ 778 | 4, 779 | 0, 780 | 1 781 | ], 782 | [ 783 | 13, 784 | 0, 785 | 1 786 | ], 787 | [ 788 | 4, 789 | 0, 790 | 1 791 | ], 792 | [ 793 | 12, 794 | 0, 795 | 1 796 | ], 797 | [ 798 | 6, 799 | -1, 800 | 0 801 | ], 802 | [ 803 | 5, 804 | 0, 805 | 1 806 | ], 807 | [ 808 | 5, 809 | -1, 810 | 0 811 | ], 812 | [ 813 | 9, 814 | -1, 815 | 0 816 | ], 817 | [ 818 | 4, 819 | 0, 820 | 1 821 | ], 822 | [ 823 | 1, 824 | -1, 825 | 0 826 | ], 827 | [ 828 | 9, 829 | -1, 830 | 0 831 | ], 832 | [ 833 | 12, 834 | -1, 835 | 0 836 | ], 837 | [ 838 | 12, 839 | -1, 840 | 0 841 | ], 842 | [ 843 | 7, 844 | -1, 845 | 0 846 | ], 847 | [ 848 | 10, 849 | -1, 850 | 0 851 | ], 852 | [ 853 | 8, 854 | 0, 855 | -1 856 | ], 857 | [ 858 | 1, 859 | -1, 860 | 0 861 | ], 862 | [ 863 | 4, 864 | 0, 865 | -1 866 | ], 867 | [ 868 | 4, 869 | 0, 870 | -1 871 | ], 872 | [ 873 | 3, 874 | 0, 875 | -1 876 | ], 877 | [ 878 | 0, 879 | -1, 880 | 0 881 | ], 882 | [ 883 | 3, 884 | 0, 885 | -1 886 | ], 887 | [ 888 | 3, 889 | 0, 890 | -1 891 | ], 892 | [ 893 | 4, 894 | 0, 895 | -1 896 | ], 897 | [ 898 | 3, 899 | 0, 900 | -1 901 | ], 902 | [ 903 | 2, 904 | 0, 905 | -1 906 | ], 907 | [ 908 | 3, 909 | 0, 910 | -1 911 | ], 912 | [ 913 | 5, 914 | 0, 915 | -1 916 | ], 917 | [ 918 | 4, 919 | 0, 920 | -1 921 | ], 922 | [ 923 | 2, 924 | 0, 925 | -1 926 | ], 927 | [ 928 | 4, 929 | 0, 930 | -1 931 | ], 932 | [ 933 | 5, 934 | 0, 935 | -1 936 | ], 937 | [ 938 | 5, 939 | 0, 940 | -1 941 | ], 942 | [ 943 | 2, 944 | 0, 945 | -1 946 | ], 947 | [ 948 | 7, 949 | 1, 950 | 0 951 | ], 952 | [ 953 | 0, 954 | 0, 955 | -1 956 | ], 957 | [ 958 | 9, 959 | 0, 960 | -1 961 | ], 962 | [ 963 | 1, 964 | 1, 965 | 0 966 | ], 967 | [ 968 | 8, 969 | 0, 970 | -1 971 | ], 972 | [ 973 | 1, 974 | 1, 975 | 0 976 | ], 977 | [ 978 | 5, 979 | 1, 980 | 0 981 | ], 982 | [ 983 | 2, 984 | 0, 985 | -1 986 | ], 987 | [ 988 | 7, 989 | 1, 990 | 0 991 | ], 992 | [ 993 | 9, 994 | 1, 995 | 0 996 | ], 997 | [ 998 | 4, 999 | 0, 1000 | -1 1001 | ], 1002 | [ 1003 | 6, 1004 | 1, 1005 | 0 1006 | ], 1007 | [ 1008 | 4, 1009 | 1, 1010 | 0 1011 | ], 1012 | [ 1013 | 13, 1014 | 1, 1015 | 0 1016 | ], 1017 | [ 1018 | 12, 1019 | 1, 1020 | 0 1021 | ], 1022 | [ 1023 | 9, 1024 | 1, 1025 | 0 1026 | ], 1027 | [ 1028 | 3, 1029 | 1, 1030 | 1 1031 | ], 1032 | [ 1033 | 4, 1034 | 0, 1035 | 1 1036 | ], 1037 | [ 1038 | 3, 1039 | 1, 1040 | 0 1041 | ], 1042 | [ 1043 | 4, 1044 | 0, 1045 | 1 1046 | ], 1047 | [ 1048 | 3, 1049 | 1, 1050 | 0 1051 | ], 1052 | [ 1053 | 10, 1054 | 0, 1055 | 1 1056 | ], 1057 | [ 1058 | 3, 1059 | 1, 1060 | 1 1061 | ], 1062 | [ 1063 | 3, 1064 | 0, 1065 | 1 1066 | ], 1067 | [ 1068 | 3, 1069 | 1, 1070 | 0 1071 | ], 1072 | [ 1073 | 1, 1074 | 0, 1075 | 1 1076 | ], 1077 | [ 1078 | 6, 1079 | 0, 1080 | 1 1081 | ], 1082 | [ 1083 | 4, 1084 | 0, 1085 | 1 1086 | ], 1087 | [ 1088 | 3, 1089 | 0, 1090 | 1 1091 | ], 1092 | [ 1093 | 5, 1094 | 0, 1095 | 1 1096 | ], 1097 | [ 1098 | 5, 1099 | 0, 1100 | 1 1101 | ], 1102 | [ 1103 | 5, 1104 | 0, 1105 | 1 1106 | ], 1107 | [ 1108 | 3, 1109 | 0, 1110 | 1 1111 | ], 1112 | [ 1113 | 2, 1114 | -1, 1115 | 0 1116 | ], 1117 | [ 1118 | 4, 1119 | 0, 1120 | 1 1121 | ], 1122 | [ 1123 | 6, 1124 | -1, 1125 | 0 1126 | ], 1127 | [ 1128 | 3, 1129 | 0, 1130 | 1 1131 | ], 1132 | [ 1133 | 5, 1134 | -1, 1135 | 0 1136 | ], 1137 | [ 1138 | 5, 1139 | 0, 1140 | 1 1141 | ], 1142 | [ 1143 | 2, 1144 | -1, 1145 | 0 1146 | ], 1147 | [ 1148 | 4, 1149 | -1, 1150 | 0 1151 | ], 1152 | [ 1153 | 8, 1154 | -1, 1155 | 0 1156 | ], 1157 | [ 1158 | 11, 1159 | -1, 1160 | 0 1161 | ], 1162 | [ 1163 | 14, 1164 | -1, 1165 | 0 1166 | ], 1167 | [ 1168 | 5, 1169 | -1, 1170 | 0 1171 | ], 1172 | [ 1173 | 9, 1174 | -1, 1175 | 0 1176 | ], 1177 | [ 1178 | 5, 1179 | 0, 1180 | -1 1181 | ], 1182 | [ 1183 | 2, 1184 | -1, 1185 | 0 1186 | ], 1187 | [ 1188 | 3, 1189 | 0, 1190 | -1 1191 | ], 1192 | [ 1193 | 5, 1194 | -1, 1195 | 0 1196 | ], 1197 | [ 1198 | 1, 1199 | 0, 1200 | -1 1201 | ], 1202 | [ 1203 | 0, 1204 | -1, 1205 | 0 1206 | ], 1207 | [ 1208 | 1, 1209 | 0, 1210 | -1 1211 | ], 1212 | [ 1213 | 4, 1214 | 0, 1215 | -1 1216 | ], 1217 | [ 1218 | 1, 1219 | -1, 1220 | 0 1221 | ], 1222 | [ 1223 | 5, 1224 | 0, 1225 | -1 1226 | ], 1227 | [ 1228 | 1, 1229 | -1, 1230 | 0 1231 | ], 1232 | [ 1233 | 1, 1234 | 0, 1235 | -1 1236 | ], 1237 | [ 1238 | 2, 1239 | 0, 1240 | -1 1241 | ], 1242 | [ 1243 | 3, 1244 | -1, 1245 | 0 1246 | ], 1247 | [ 1248 | 1, 1249 | 0, 1250 | -1 1251 | ], 1252 | [ 1253 | 2, 1254 | 0, 1255 | -1 1256 | ], 1257 | [ 1258 | 3, 1259 | 0, 1260 | -1 1261 | ], 1262 | [ 1263 | 1, 1264 | -1, 1265 | 0 1266 | ], 1267 | [ 1268 | 1, 1269 | 0, 1270 | -1 1271 | ], 1272 | [ 1273 | 5, 1274 | 0, 1275 | -1 1276 | ], 1277 | [ 1278 | 1, 1279 | -1, 1280 | 0 1281 | ], 1282 | [ 1283 | 3, 1284 | 0, 1285 | -1 1286 | ], 1287 | [ 1288 | 8, 1289 | 0, 1290 | -1 1291 | ], 1292 | [ 1293 | 6, 1294 | 0, 1295 | -1 1296 | ], 1297 | [ 1298 | 10, 1299 | 1, 1300 | 0 1301 | ], 1302 | [ 1303 | 3, 1304 | 0, 1305 | -1 1306 | ], 1307 | [ 1308 | 11, 1309 | 1, 1310 | 0 1311 | ], 1312 | [ 1313 | 8, 1314 | 1, 1315 | 0 1316 | ], 1317 | [ 1318 | 1, 1319 | 0, 1320 | -1 1321 | ], 1322 | [ 1323 | 6, 1324 | 1, 1325 | 0 1326 | ], 1327 | [ 1328 | 6, 1329 | 1, 1330 | 0 1331 | ], 1332 | [ 1333 | 3, 1334 | 1, 1335 | 0 1336 | ], 1337 | [ 1338 | 6, 1339 | 1, 1340 | 0 1341 | ], 1342 | [ 1343 | 4, 1344 | 0, 1345 | 1 1346 | ], 1347 | [ 1348 | 2, 1349 | 1, 1350 | 0 1351 | ], 1352 | [ 1353 | 3, 1354 | 0, 1355 | 1 1356 | ], 1357 | [ 1358 | 2, 1359 | 1, 1360 | 0 1361 | ], 1362 | [ 1363 | 1, 1364 | 0, 1365 | 1 1366 | ], 1367 | [ 1368 | 1, 1369 | 1, 1370 | 0 1371 | ], 1372 | [ 1373 | 3, 1374 | 0, 1375 | 1 1376 | ], 1377 | [ 1378 | 1, 1379 | 1, 1380 | 0 1381 | ], 1382 | [ 1383 | 3, 1384 | 0, 1385 | 1 1386 | ], 1387 | [ 1388 | 3, 1389 | 1, 1390 | 0 1391 | ], 1392 | [ 1393 | 1, 1394 | 0, 1395 | 1 1396 | ], 1397 | [ 1398 | 2, 1399 | 0, 1400 | 1 1401 | ], 1402 | [ 1403 | 3, 1404 | 1, 1405 | 0 1406 | ], 1407 | [ 1408 | 0, 1409 | 1, 1410 | 0 1411 | ], 1412 | [ 1413 | 1, 1414 | 0, 1415 | 1 1416 | ], 1417 | [ 1418 | 5, 1419 | 0, 1420 | 1 1421 | ], 1422 | [ 1423 | 1, 1424 | 1, 1425 | 0 1426 | ], 1427 | [ 1428 | 3, 1429 | 0, 1430 | 1 1431 | ], 1432 | [ 1433 | 2, 1434 | 0, 1435 | 1 1436 | ], 1437 | [ 1438 | 4, 1439 | 1, 1440 | 0 1441 | ], 1442 | [ 1443 | 1, 1444 | 0, 1445 | 1 1446 | ], 1447 | [ 1448 | 7, 1449 | 0, 1450 | 1 1451 | ], 1452 | [ 1453 | 7, 1454 | 0, 1455 | 1 1456 | ], 1457 | [ 1458 | 3, 1459 | 0, 1460 | 1 1461 | ], 1462 | [ 1463 | 10, 1464 | 0, 1465 | 1 1466 | ], 1467 | [ 1468 | 6, 1469 | -1, 1470 | 0 1471 | ], 1472 | [ 1473 | 6, 1474 | -1, 1475 | 1 1476 | ], 1477 | [ 1478 | 3, 1479 | -1, 1480 | 0 1481 | ], 1482 | [ 1483 | 5, 1484 | -1, 1485 | 0 1486 | ], 1487 | [ 1488 | 5, 1489 | -1, 1490 | 0 1491 | ], 1492 | [ 1493 | 4, 1494 | -1, 1495 | 0 1496 | ], 1497 | [ 1498 | 1, 1499 | 0, 1500 | 1 1501 | ], 1502 | [ 1503 | 2, 1504 | -1, 1505 | 0 1506 | ], 1507 | [ 1508 | 3, 1509 | -1, 1510 | 0 1511 | ], 1512 | [ 1513 | 5, 1514 | -1, 1515 | 0 1516 | ], 1517 | [ 1518 | 3, 1519 | -1, 1520 | 0 1521 | ], 1522 | [ 1523 | 1, 1524 | -1, 1525 | 0 1526 | ], 1527 | [ 1528 | 5, 1529 | -1, 1530 | 0 1531 | ], 1532 | [ 1533 | 4, 1534 | -1, 1535 | 0 1536 | ], 1537 | [ 1538 | 4, 1539 | -1, 1540 | 0 1541 | ], 1542 | [ 1543 | 5, 1544 | -1, 1545 | 0 1546 | ], 1547 | [ 1548 | 1, 1549 | -1, 1550 | 0 1551 | ], 1552 | [ 1553 | 2, 1554 | 0, 1555 | -1 1556 | ], 1557 | [ 1558 | 2, 1559 | -1, 1560 | 0 1561 | ], 1562 | [ 1563 | 5, 1564 | -1, 1565 | 0 1566 | ], 1567 | [ 1568 | 1, 1569 | 0, 1570 | -1 1571 | ], 1572 | [ 1573 | 5, 1574 | -1, 1575 | 0 1576 | ], 1577 | [ 1578 | 0, 1579 | 0, 1580 | -1 1581 | ], 1582 | [ 1583 | 2, 1584 | -1, 1585 | 0 1586 | ], 1587 | [ 1588 | 1, 1589 | 0, 1590 | -1 1591 | ], 1592 | [ 1593 | 3, 1594 | 0, 1595 | -1 1596 | ], 1597 | [ 1598 | 1, 1599 | -1, 1600 | 0 1601 | ], 1602 | [ 1603 | 4, 1604 | 0, 1605 | -1 1606 | ], 1607 | [ 1608 | 0, 1609 | -1, 1610 | 0 1611 | ], 1612 | [ 1613 | 3, 1614 | 0, 1615 | -1 1616 | ], 1617 | [ 1618 | 2, 1619 | 0, 1620 | -1 1621 | ], 1622 | [ 1623 | 3, 1624 | -1, 1625 | 0 1626 | ], 1627 | [ 1628 | 2, 1629 | 0, 1630 | -1 1631 | ], 1632 | [ 1633 | 2, 1634 | -1, 1635 | 0 1636 | ], 1637 | [ 1638 | 1, 1639 | 0, 1640 | -1 1641 | ], 1642 | [ 1643 | 5, 1644 | 0, 1645 | -1 1646 | ], 1647 | [ 1648 | 2, 1649 | 0, 1650 | -1 1651 | ], 1652 | [ 1653 | 5, 1654 | 0, 1655 | -1 1656 | ], 1657 | [ 1658 | 6, 1659 | 0, 1660 | -1 1661 | ], 1662 | [ 1663 | 3, 1664 | 1, 1665 | 0 1666 | ], 1667 | [ 1668 | 1, 1669 | 0, 1670 | -1 1671 | ], 1672 | [ 1673 | 3, 1674 | 0, 1675 | -1 1676 | ], 1677 | [ 1678 | 1, 1679 | 1, 1680 | 0 1681 | ], 1682 | [ 1683 | 5, 1684 | 0, 1685 | -1 1686 | ], 1687 | [ 1688 | 2, 1689 | 1, 1690 | 0 1691 | ], 1692 | [ 1693 | 2, 1694 | 0, 1695 | -1 1696 | ], 1697 | [ 1698 | 2, 1699 | 1, 1700 | 0 1701 | ], 1702 | [ 1703 | 2, 1704 | 1, 1705 | 0 1706 | ], 1707 | [ 1708 | 1, 1709 | 0, 1710 | -1 1711 | ], 1712 | [ 1713 | 4, 1714 | 0, 1715 | -1 1716 | ], 1717 | [ 1718 | 1, 1719 | 1, 1720 | 0 1721 | ], 1722 | [ 1723 | 5, 1724 | 1, 1725 | 0 1726 | ], 1727 | [ 1728 | 4, 1729 | 0, 1730 | -1 1731 | ], 1732 | [ 1733 | 3, 1734 | 1, 1735 | 0 1736 | ], 1737 | [ 1738 | 3, 1739 | 1, 1740 | 0 1741 | ], 1742 | [ 1743 | 6, 1744 | 0, 1745 | -1 1746 | ], 1747 | [ 1748 | 1, 1749 | 1, 1750 | 0 1751 | ], 1752 | [ 1753 | 9, 1754 | 1, 1755 | 0 1756 | ], 1757 | [ 1758 | 8, 1759 | 1, 1760 | 0 1761 | ], 1762 | [ 1763 | 6, 1764 | 1, 1765 | 0 1766 | ], 1767 | [ 1768 | 2, 1769 | 1, 1770 | 0 1771 | ], 1772 | [ 1773 | 1, 1774 | 0, 1775 | 1 1776 | ], 1777 | [ 1778 | 3, 1779 | 1, 1780 | 0 1781 | ], 1782 | [ 1783 | 2, 1784 | 0, 1785 | 1 1786 | ], 1787 | [ 1788 | 2, 1789 | 0, 1790 | 1 1791 | ], 1792 | [ 1793 | 2, 1794 | 1, 1795 | 0 1796 | ], 1797 | [ 1798 | 2, 1799 | 0, 1800 | 1 1801 | ], 1802 | [ 1803 | 3, 1804 | 1, 1805 | 0 1806 | ], 1807 | [ 1808 | 1, 1809 | 0, 1810 | 1 1811 | ], 1812 | [ 1813 | 3, 1814 | 1, 1815 | 0 1816 | ], 1817 | [ 1818 | 1, 1819 | 0, 1820 | 1 1821 | ], 1822 | [ 1823 | 2, 1824 | 0, 1825 | 1 1826 | ], 1827 | [ 1828 | 4, 1829 | 0, 1830 | 1 1831 | ], 1832 | [ 1833 | 3, 1834 | 1, 1835 | 0 1836 | ], 1837 | [ 1838 | 1, 1839 | 0, 1840 | 1 1841 | ], 1842 | [ 1843 | 4, 1844 | 0, 1845 | 1 1846 | ], 1847 | [ 1848 | 4, 1849 | 0, 1850 | 1 1851 | ], 1852 | [ 1853 | 4, 1854 | 0, 1855 | 1 1856 | ], 1857 | [ 1858 | 4, 1859 | 0, 1860 | 1 1861 | ], 1862 | [ 1863 | 5, 1864 | 0, 1865 | 1 1866 | ], 1867 | [ 1868 | 2, 1869 | 0, 1870 | 1 1871 | ], 1872 | [ 1873 | 6, 1874 | 0, 1875 | 1 1876 | ], 1877 | [ 1878 | 6, 1879 | 0, 1880 | 1 1881 | ], 1882 | [ 1883 | 0, 1884 | -1, 1885 | 0 1886 | ], 1887 | [ 1888 | 3, 1889 | -1, 1890 | 0 1891 | ], 1892 | [ 1893 | 3, 1894 | 0, 1895 | 1 1896 | ], 1897 | [ 1898 | 4, 1899 | -1, 1900 | 0 1901 | ], 1902 | [ 1903 | 1, 1904 | 0, 1905 | 1 1906 | ], 1907 | [ 1908 | 7, 1909 | -1, 1910 | 0 1911 | ], 1912 | [ 1913 | 3, 1914 | 0, 1915 | 1 1916 | ], 1917 | [ 1918 | 4, 1919 | -1, 1920 | 0 1921 | ], 1922 | [ 1923 | 5, 1924 | -1, 1925 | 0 1926 | ], 1927 | [ 1928 | 8, 1929 | -1, 1930 | 0 1931 | ], 1932 | [ 1933 | 6, 1934 | -1, 1935 | 0 1936 | ], 1937 | [ 1938 | 8, 1939 | -1, 1940 | 0 1941 | ], 1942 | [ 1943 | 9, 1944 | -1, 1945 | 0 1946 | ], 1947 | [ 1948 | 2, 1949 | -1, 1950 | 0 1951 | ], 1952 | [ 1953 | 6, 1954 | -1, 1955 | 0 1956 | ], 1957 | [ 1958 | 5, 1959 | -1, 1960 | 0 1961 | ], 1962 | [ 1963 | 1, 1964 | 0, 1965 | -1 1966 | ], 1967 | [ 1968 | 4, 1969 | 0, 1970 | -1 1971 | ], 1972 | [ 1973 | 0, 1974 | -1, 1975 | 0 1976 | ], 1977 | [ 1978 | 2, 1979 | -1, 1980 | 0 1981 | ], 1982 | [ 1983 | 1, 1984 | 0, 1985 | -1 1986 | ], 1987 | [ 1988 | 4, 1989 | -1, 1990 | -1 1991 | ], 1992 | [ 1993 | 4, 1994 | 0, 1995 | -1 1996 | ], 1997 | [ 1998 | 1, 1999 | -1, 2000 | 0 2001 | ], 2002 | [ 2003 | 1, 2004 | 0, 2005 | -1 2006 | ], 2007 | [ 2008 | 3, 2009 | 0, 2010 | -1 2011 | ], 2012 | [ 2013 | 1, 2014 | -1, 2015 | 0 2016 | ], 2017 | [ 2018 | 2, 2019 | 0, 2020 | -1 2021 | ], 2022 | [ 2023 | 1, 2024 | -1, 2025 | 0 2026 | ], 2027 | [ 2028 | 1, 2029 | 0, 2030 | -1 2031 | ], 2032 | [ 2033 | 2, 2034 | 0, 2035 | -1 2036 | ], 2037 | [ 2038 | 1, 2039 | -1, 2040 | 0 2041 | ], 2042 | [ 2043 | 2, 2044 | 0, 2045 | -1 2046 | ], 2047 | [ 2048 | 3, 2049 | 0, 2050 | -1 2051 | ], 2052 | [ 2053 | 2, 2054 | 0, 2055 | -1 2056 | ], 2057 | [ 2058 | 1, 2059 | -1, 2060 | 0 2061 | ], 2062 | [ 2063 | 1, 2064 | 0, 2065 | -1 2066 | ], 2067 | [ 2068 | 3, 2069 | 0, 2070 | -1 2071 | ], 2072 | [ 2073 | 5, 2074 | 0, 2075 | -1 2076 | ], 2077 | [ 2078 | 2, 2079 | 0, 2080 | -1 2081 | ], 2082 | [ 2083 | 3, 2084 | 0, 2085 | -1 2086 | ], 2087 | [ 2088 | 4, 2089 | 0, 2090 | -1 2091 | ], 2092 | [ 2093 | 5, 2094 | 0, 2095 | -1 2096 | ], 2097 | [ 2098 | 3, 2099 | 1, 2100 | 0 2101 | ], 2102 | [ 2103 | 2, 2104 | 0, 2105 | -1 2106 | ], 2107 | [ 2108 | 2, 2109 | 0, 2110 | -1 2111 | ], 2112 | [ 2113 | 1, 2114 | 1, 2115 | 0 2116 | ], 2117 | [ 2118 | 2, 2119 | 1, 2120 | 0 2121 | ], 2122 | [ 2123 | 2, 2124 | 0, 2125 | -1 2126 | ], 2127 | [ 2128 | 3, 2129 | 1, 2130 | 0 2131 | ], 2132 | [ 2133 | 3, 2134 | 0, 2135 | -1 2136 | ], 2137 | [ 2138 | 1, 2139 | 1, 2140 | 0 2141 | ], 2142 | [ 2143 | 4, 2144 | 1, 2145 | 0 2146 | ], 2147 | [ 2148 | 3, 2149 | 1, 2150 | 0 2151 | ], 2152 | [ 2153 | 3, 2154 | 0, 2155 | -1 2156 | ], 2157 | [ 2158 | 2, 2159 | 1, 2160 | 0 2161 | ], 2162 | [ 2163 | 3, 2164 | 1, 2165 | 0 2166 | ], 2167 | [ 2168 | 6, 2169 | 1, 2170 | 0 2171 | ], 2172 | [ 2173 | 4, 2174 | 1, 2175 | 0 2176 | ], 2177 | [ 2178 | 9, 2179 | 1, 2180 | 0 2181 | ], 2182 | [ 2183 | 8, 2184 | 1, 2185 | 0 2186 | ], 2187 | [ 2188 | 7, 2189 | 0, 2190 | 1 2191 | ], 2192 | [ 2193 | 1, 2194 | 1, 2195 | 0 2196 | ], 2197 | [ 2198 | 3, 2199 | 0, 2200 | 1 2201 | ], 2202 | [ 2203 | 2, 2204 | 1, 2205 | 0 2206 | ], 2207 | [ 2208 | 3, 2209 | 1, 2210 | 1 2211 | ], 2212 | [ 2213 | 2, 2214 | 0, 2215 | 1 2216 | ], 2217 | [ 2218 | 3, 2219 | 1, 2220 | 0 2221 | ], 2222 | [ 2223 | 1, 2224 | 0, 2225 | 1 2226 | ], 2227 | [ 2228 | 4, 2229 | 0, 2230 | 1 2231 | ], 2232 | [ 2233 | 1, 2234 | 1, 2235 | 0 2236 | ], 2237 | [ 2238 | 3, 2239 | 0, 2240 | 1 2241 | ], 2242 | [ 2243 | 2, 2244 | 0, 2245 | 1 2246 | ], 2247 | [ 2248 | 2, 2249 | 1, 2250 | 0 2251 | ], 2252 | [ 2253 | 1, 2254 | 0, 2255 | 1 2256 | ], 2257 | [ 2258 | 5, 2259 | 1, 2260 | 0 2261 | ], 2262 | [ 2263 | 0, 2264 | 0, 2265 | 1 2266 | ], 2267 | [ 2268 | 2, 2269 | 0, 2270 | 1 2271 | ], 2272 | [ 2273 | 3, 2274 | 0, 2275 | 1 2276 | ], 2277 | [ 2278 | 4, 2279 | 1, 2280 | 0 2281 | ], 2282 | [ 2283 | 1, 2284 | 0, 2285 | 1 2286 | ], 2287 | [ 2288 | 3, 2289 | 0, 2290 | 1 2291 | ], 2292 | [ 2293 | 4, 2294 | 0, 2295 | 1 2296 | ], 2297 | [ 2298 | 3, 2299 | 0, 2300 | 1 2301 | ], 2302 | [ 2303 | 4, 2304 | 0, 2305 | 1 2306 | ], 2307 | [ 2308 | 5, 2309 | 0, 2310 | 1 2311 | ], 2312 | [ 2313 | 6, 2314 | 0, 2315 | 1 2316 | ], 2317 | [ 2318 | 4, 2319 | 0, 2320 | 1 2321 | ], 2322 | [ 2323 | 4, 2324 | -1, 2325 | 0 2326 | ], 2327 | [ 2328 | 2, 2329 | -1, 2330 | 1 2331 | ], 2332 | [ 2333 | 6, 2334 | -1, 2335 | 0 2336 | ], 2337 | [ 2338 | 6, 2339 | 0, 2340 | 1 2341 | ], 2342 | [ 2343 | 1, 2344 | -1, 2345 | 0 2346 | ], 2347 | [ 2348 | 6, 2349 | -1, 2350 | 0 2351 | ], 2352 | [ 2353 | 3, 2354 | -1, 2355 | 0 2356 | ], 2357 | [ 2358 | 2, 2359 | 0, 2360 | 1 2361 | ], 2362 | [ 2363 | 4, 2364 | -1, 2365 | 0 2366 | ], 2367 | [ 2368 | 7, 2369 | -1, 2370 | 0 2371 | ], 2372 | [ 2373 | 12, 2374 | -1, 2375 | 0 2376 | ], 2377 | [ 2378 | 10, 2379 | -1, 2380 | 0 2381 | ], 2382 | [ 2383 | 3, 2384 | -1, 2385 | 0 2386 | ], 2387 | [ 2388 | 8, 2389 | -1, 2390 | -1 2391 | ], 2392 | [ 2393 | 5, 2394 | 0, 2395 | -1 2396 | ], 2397 | [ 2398 | 5, 2399 | -1, 2400 | -1 2401 | ], 2402 | [ 2403 | 2, 2404 | 0, 2405 | -1 2406 | ], 2407 | [ 2408 | 3, 2409 | 0, 2410 | -1 2411 | ], 2412 | [ 2413 | 1, 2414 | -1, 2415 | 0 2416 | ], 2417 | [ 2418 | 2, 2419 | 0, 2420 | -1 2421 | ], 2422 | [ 2423 | 4, 2424 | 0, 2425 | -1 2426 | ], 2427 | [ 2428 | 1, 2429 | -1, 2430 | 0 2431 | ], 2432 | [ 2433 | 1, 2434 | 0, 2435 | -1 2436 | ], 2437 | [ 2438 | 2, 2439 | 0, 2440 | -1 2441 | ], 2442 | [ 2443 | 3, 2444 | 0, 2445 | -1 2446 | ], 2447 | [ 2448 | 2, 2449 | 0, 2450 | -1 2451 | ], 2452 | [ 2453 | 1, 2454 | 0, 2455 | -1 2456 | ], 2457 | [ 2458 | 3, 2459 | 0, 2460 | -1 2461 | ], 2462 | [ 2463 | 3, 2464 | 0, 2465 | -1 2466 | ], 2467 | [ 2468 | 3, 2469 | 0, 2470 | -1 2471 | ], 2472 | [ 2473 | 1, 2474 | 0, 2475 | -1 2476 | ], 2477 | [ 2478 | 4, 2479 | 0, 2480 | -1 2481 | ], 2482 | [ 2483 | 3, 2484 | 0, 2485 | -1 2486 | ], 2487 | [ 2488 | 4, 2489 | 0, 2490 | -1 2491 | ], 2492 | [ 2493 | 1, 2494 | 1, 2495 | 0 2496 | ], 2497 | [ 2498 | 1, 2499 | 0, 2500 | -1 2501 | ], 2502 | [ 2503 | 4, 2504 | 1, 2505 | -1 2506 | ], 2507 | [ 2508 | 5, 2509 | 0, 2510 | -1 2511 | ], 2512 | [ 2513 | 1, 2514 | 1, 2515 | 0 2516 | ], 2517 | [ 2518 | 4, 2519 | 0, 2520 | -1 2521 | ], 2522 | [ 2523 | 1, 2524 | 1, 2525 | 0 2526 | ], 2527 | [ 2528 | 1, 2529 | 1, 2530 | -1 2531 | ], 2532 | [ 2533 | 4, 2534 | 1, 2535 | 0 2536 | ], 2537 | [ 2538 | 2, 2539 | 0, 2540 | -1 2541 | ], 2542 | [ 2543 | 2, 2544 | 1, 2545 | 0 2546 | ], 2547 | [ 2548 | 4, 2549 | 1, 2550 | 0 2551 | ], 2552 | [ 2553 | 1, 2554 | 0, 2555 | -1 2556 | ], 2557 | [ 2558 | 2, 2559 | 1, 2560 | 0 2561 | ], 2562 | [ 2563 | 2, 2564 | 1, 2565 | 0 2566 | ], 2567 | [ 2568 | 3, 2569 | 1, 2570 | 0 2571 | ], 2572 | [ 2573 | 4, 2574 | 1, 2575 | 0 2576 | ], 2577 | [ 2578 | 1, 2579 | 0, 2580 | -1 2581 | ], 2582 | [ 2583 | 2, 2584 | 1, 2585 | 0 2586 | ], 2587 | [ 2588 | 3, 2589 | 1, 2590 | 0 2591 | ], 2592 | [ 2593 | 4, 2594 | 1, 2595 | 0 2596 | ], 2597 | [ 2598 | 5, 2599 | 1, 2600 | 0 2601 | ], 2602 | [ 2603 | 5, 2604 | 1, 2605 | 0 2606 | ], 2607 | [ 2608 | 4, 2609 | 1, 2610 | 0 2611 | ], 2612 | [ 2613 | 5, 2614 | 1, 2615 | 0 2616 | ], 2617 | [ 2618 | 1, 2619 | 0, 2620 | 1 2621 | ], 2622 | [ 2623 | 2, 2624 | 1, 2625 | 0 2626 | ], 2627 | [ 2628 | 4, 2629 | 0, 2630 | 1 2631 | ], 2632 | [ 2633 | 1, 2634 | 1, 2635 | 0 2636 | ], 2637 | [ 2638 | 3, 2639 | 1, 2640 | 0 2641 | ], 2642 | [ 2643 | 1, 2644 | 0, 2645 | 1 2646 | ], 2647 | [ 2648 | 2, 2649 | 1, 2650 | 0 2651 | ], 2652 | [ 2653 | 1, 2654 | 0, 2655 | 1 2656 | ], 2657 | [ 2658 | 4, 2659 | 1, 2660 | 0 2661 | ], 2662 | [ 2663 | 1, 2664 | 0, 2665 | 1 2666 | ], 2667 | [ 2668 | 3, 2669 | 0, 2670 | 1 2671 | ], 2672 | [ 2673 | 1, 2674 | 1, 2675 | 0 2676 | ], 2677 | [ 2678 | 2, 2679 | 1, 2680 | 0 2681 | ], 2682 | [ 2683 | 1, 2684 | 0, 2685 | 1 2686 | ], 2687 | [ 2688 | 2, 2689 | 0, 2690 | 1 2691 | ], 2692 | [ 2693 | 4, 2694 | 0, 2695 | 1 2696 | ], 2697 | [ 2698 | 1, 2699 | 1, 2700 | 0 2701 | ], 2702 | [ 2703 | 5, 2704 | 0, 2705 | 1 2706 | ], 2707 | [ 2708 | 3, 2709 | 0, 2710 | 1 2711 | ], 2712 | [ 2713 | 2, 2714 | 0, 2715 | 1 2716 | ], 2717 | [ 2718 | 5, 2719 | 0, 2720 | 1 2721 | ], 2722 | [ 2723 | 4, 2724 | 0, 2725 | 1 2726 | ], 2727 | [ 2728 | 4, 2729 | 0, 2730 | 1 2731 | ], 2732 | [ 2733 | 3, 2734 | 0, 2735 | 1 2736 | ], 2737 | [ 2738 | 4, 2739 | 0, 2740 | 1 2741 | ], 2742 | [ 2743 | 4, 2744 | 0, 2745 | 1 2746 | ], 2747 | [ 2748 | 1, 2749 | -1, 2750 | 0 2751 | ], 2752 | [ 2753 | 3, 2754 | -1, 2755 | 0 2756 | ], 2757 | [ 2758 | 1, 2759 | 0, 2760 | 1 2761 | ], 2762 | [ 2763 | 3, 2764 | -1, 2765 | 1 2766 | ], 2767 | [ 2768 | 4, 2769 | -1, 2770 | 0 2771 | ], 2772 | [ 2773 | 1, 2774 | 0, 2775 | 1 2776 | ], 2777 | [ 2778 | 5, 2779 | -1, 2780 | 0 2781 | ], 2782 | [ 2783 | 2, 2784 | -1, 2785 | 0 2786 | ], 2787 | [ 2788 | 0, 2789 | 0, 2790 | 1 2791 | ] 2792 | ] -------------------------------------------------------------------------------- /assets/no_il.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/no_il.cur -------------------------------------------------------------------------------- /assets/ouija_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/ouija_bg.jpg -------------------------------------------------------------------------------- /assets/ouija_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/ouija_bg.png -------------------------------------------------------------------------------- /assets/ouija_bg_face_no_eyes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/ouija_bg_face_no_eyes.jpg -------------------------------------------------------------------------------- /assets/ouija_bg_face_outline.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/ouija_bg_face_outline.jpg -------------------------------------------------------------------------------- /assets/ouija_bg_face_stare.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/ouija_bg_face_stare.jpg -------------------------------------------------------------------------------- /assets/planchette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/planchette.png -------------------------------------------------------------------------------- /assets/planchette2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/planchette2.png -------------------------------------------------------------------------------- /assets/screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/screenshot.jpg -------------------------------------------------------------------------------- /assets/screenshot2-transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/screenshot2-transparent.png -------------------------------------------------------------------------------- /assets/screenshot2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/screenshot2.jpg -------------------------------------------------------------------------------- /assets/screenshot3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/screenshot3.jpg -------------------------------------------------------------------------------- /assets/screenshot4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/screenshot4.jpg -------------------------------------------------------------------------------- /assets/screenshot5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/assets/screenshot5.jpg -------------------------------------------------------------------------------- /cloudflare-worker-geo.js: -------------------------------------------------------------------------------- 1 | addEventListener('fetch', event => { 2 | const data = { 3 | city: event.request.cf.city, 4 | colo: event.request.cf.colo, 5 | country : event.request.cf.country, 6 | region : event.request.cf.region, 7 | }; 8 | const json = JSON.stringify(data, null, 2); 9 | 10 | return event.respondWith( 11 | new Response(json, { 12 | headers: { 13 | 'content-type': 'application/json;charset=UTF-8', 14 | 'Access-Control-Allow-Origin': '*', 15 | }, 16 | }) 17 | ); 18 | }); -------------------------------------------------------------------------------- /cloudflare-worker-lokittaja.js: -------------------------------------------------------------------------------- 1 | addEventListener("fetch", event => { 2 | event.respondWith(handleRequest(event.request)) 3 | }) 4 | 5 | async function handleRequest(request) { 6 | const proxy_url = "https://endpoint1.collection.eu.sumologic.com/receiver/v1/http/ZaVnC4dhaV0vBIvS0oahg-8LYhDkyFCtWZ2zZ_7NbP0x0PYd0DmEk2cLgA4DJlePqnHWB5KjcxPFudwdOmtop0b6isr9VgLeKHYmzJ6eSqkD0cyZ6FNQiQ==" 7 | const params = "" + request.url.split('?')[1] 8 | if (params === "" || params === "undefined") { 9 | return new Response("Invalid request") 10 | } 11 | const response = await fetch(proxy_url + '?' + params); 12 | return new Response("Logged", { 13 | headers: { 14 | 'content-type': 'application/json;charset=UTF-8', 15 | 'Access-Control-Allow-Origin': '*', 16 | }, 17 | }) 18 | } -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/baobabKoodaa/ouija/9fa490d1ebfe94c91acea78abf865bf13d784a6d/favicon.ico -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |We all go through rough patches. It's okay to ask for help. Sometimes just talking about it can help.
44 |For text-based support in the U.S., U.K., Canada, and Ireland, text HOME to 741741.
45 |Phone support is available around the world.
46 |The Ouija board is disabled because it can make you feel worse when you're already in a bad state of mind. Take care of yourself first. You are important.
47 |Would you like to offer your soul to support this website?
121 |241 | Evil spirit possessed you to write and you let it happen. 242 |
243 |255 | You used the planchette to inspect the board closer. 256 |
257 |269 | You thought angering the spirit would be a good idea. 270 |
271 |281 | How are you doing? 282 |
283 | 286 | 289 |