0#.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Role data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone    Player data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone# !"#$%&'()*+,-./01234 !"#$%&'()*+,-./01234 !"#$%&'()*+,-./01234 !"#$%&'()*+,-./01234Game and stage data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNoneD56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi5DQOIEHFGJKLMNPRSTUVWXYZ[9:;<=>?@ABC\]^_`abcdefgh5678i(56789 :;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi%Response and message data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone0Kjklmnopqrstuvwxyz{|}~5jklmnopqrstuvwxyz{|}~5nopqrstjklmuvwxyz{|}~Ejklmnopqrstuvwxyz{|}~Engine functions.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47, ##, Command data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47IN           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoppqrsstuvwxyz{|}~Z[fgjklmne_`ao*  J\^werew_0x1uIojteih4Eybtadyjc3Game.Werewolf.RoleGame.Werewolf.PlayerGame.Werewolf.GameGame.Werewolf.ResponseGame.Werewolf.EngineGame.Werewolf.Command AllegianceAngel Villagers WerewolvesRoleadvice allegiance descriptionnameallRolesrestrictedRoles angelRole defenderRole scapegoatRoleseerRolesimpleVillagerRolesimpleWerewolfRolevillagerVillagerRole wildChildRole witchRole wolfHoundRoleallAllegiancesStateAliveDeadPlayerrolestate newPlayer findByName findByName_ findByRole findByRole_ filterByRolefilterWerewolvesdoesPlayerExistisAngel isDefender isScapegoatisSeerisSimpleVillagerisSimpleWerewolfisVillagerVillager isWildChildisWitch isWolfHound isVillager isWerewolfisAliveisDead filterAlive filterDeadEvent DevourEvent NoDevourEvent PoisonEventStageGameOver DefendersTurn SeersTurnSunriseSunset VillagesTurnWerewolvesTurnWildChildsTurn WitchsTurnWolfHoundsTurnGameeventshealhealUsedpassesplayerspoison poisonUsed priorProtectprotect roleModelroundseestagevotesnewGame killPlayer setPlayerRolesetPlayerAllegiance isFirstRound getPassers getPlayerVotegetPendingVoters getVoteResult allStages stageCyclestageAvailable isGameOverisDefendersTurn isSeersTurn isSunriseisSunsetisVillagesTurnisWerewolvesTurnisWildChildsTurn isWitchsTurnisWolfHoundsTurngetDevourEventMessagetomessageResponseokmessagessuccessfailureexitWith publicMessageprivateMessage groupMessagesnoGameRunningMessagegameAlreadyRunningMessageengineVersionMessagenewGameMessages stageMessagesgameOverMessagesplayerQuitMessagepingPlayerMessagepingRoleMessagecurrentStageMessagesplayersInGameMessagewaitingOnMessageangelJoinedVillagersMessageplayerSeenMessageplayerMadeLynchVoteMessageplayerLynchedMessagenoPlayerLynchedMessagescapegoatLynchedMessageplayerMadeDevourVoteMessageplayerDevouredMessagenoPlayerDevouredMessageplayerJoinedPackMessagewildChildJoinedPackMessagesplayerPoisonedMessagegameIsOverMessageplayerDoesNotExistMessageplayerCannotDoThatMessage!playerCannotDoThatRightNowMessageplayerIsDeadMessageroleDoesNotExistMessageallegianceDoesNotExistMessageplayerCannotProtectSelfMessage/playerCannotProtectSamePlayerTwiceInARowMessageplayerHasAlreadyVotedMessagetargetIsDeadMessage(playerCannotDevourAnotherWerewolfMessageplayerCannotChooseSelfMessageplayerHasAlreadyHealedMessageplayerHasAlreadyPoisonedMessage checkStage checkGameOver startGamefindPlayerByName_findPlayerByRole_defaultFilePathreadGame writeGame deleteGame doesGameExist createPlayersisPlayerDefender isPlayerSeerisPlayerWildChild isPlayerWitchisPlayerWolfHoundisPlayerWerewolf isPlayerAlive isPlayerDeadrandomiseRolesCommandapplychooseAllegianceCommandchoosePlayerCommand healCommand noopCommand passCommand pingCommand poisonCommandprotectCommand quitCommand seeCommand statusCommandvoteDevourCommandvoteLynchCommand_name _allegiance _description_advice$fEqRole_role_state_stage_round_players_events_passes_heal _healUsed_poison _poisonUsed _priorProtect_protect _roleModel_see_votesnewPlayersInGameMessagenewPlayerMessagevillagerVillagerMessagedefendersTurnMessagesseersTurnMessagessunriseMessagenightFallsMessagefirstVillagesTurnMessagesvillagesTurnMessagesfirstWerewolvesTurnMessageswerewolvesTurnMessageswildChildsTurnMessageswitchsTurnMessageswolfHoundsTurnMessagesplayerWonMessageplayerLostMessagerolesInGameMessagearticle$fToJSONMessage$fFromJSONMessage$fToJSONResponse$fFromJSONResponse checkStage' advanceStage checkEventseventAvailable applyEventfindPlayerByRoledefaultFileNamevalidatePlayervalidateWitchsCommand