úÎ!1ý-]L                    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 456789:;<=>?@ABCDEFGHIJKNone"#$/8X_`møAllure,Description of default key-command bindings.eIn addition to these commands, mouse and keys have a standard meaning when navigating various menus.None"#$/8X_`m°Allure2Description of default screen layout and features.None"#$/8X_`m ^None"#$/8X_`m None"#$/8X_`m ºNone"#$/8X_`m hNone"#$/8X_`m None"#$/8X_`m Ä  None"#$/8X_`mÐAllureÿNA special player, for summoned actors that don't belong to any of the main players of a given game. E.g., animals summoned during a brawl game between two hero factions land in the horror faction. In every game, either all factions for which summoning items exist should be present or a horror player should be added to host them.   None"#$/8X_`mö None"#$/8X_`m¤ None"#$/8X_`mR None"#$/8MX_`mAllure"Client state transformation monad."Allurecurrent global state#Allurecurrent client state$AllureUI state, empty for AI clients%Allure"this client connection information&Allureconnection to the save thread'AllureURun the main client loop, with the given arguments and empty initial states, in the IO monad.  !"#$%&' ' !"#$%&None"#$/8MX_`m Ž4Allure"Server state transformation monad.9Allurecurrent global state:Allurecurrent server state;Allure$client-server connection information<Allureconnection to the save thread=AllureURun the main server loop, with the given arguments and empty initial states, in the IO monad. 456789:;<= =789:;<456Safe"#$/8X_`m!„LMNOPQRSNone"#$/8X_`m"[FFNone"#$/8X_`m# GHIGIHNone"#$/8X_`m-IJAllureyTie the LambdaHack engine client, server and frontend code with the game-specific content definitions, and run the game.8The custom monad types to be used are determined by the  executorSer call, which in turn calls  executorCliÿ. If other functions are used in their place- the types are different and so the whole pattern of computation differs. Which of the frontends is run inside the UI client depends on the flags supplied when compiling the engine library. Similarly for the choice of native vs JS builds.KAllureHRuns tieKnotForAsync in an async and applies the main thread workaround.JKJKT    ! " # $ % & ' ( ) * + ,    - - . / / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ ABBCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Allure-0.9.3.2-inplaceClient.UI.Content.InputClient.UI.Content.ScreenContent.CaveKindContent.ItemKindActorContent.ItemKindBlastContent.ItemKindEmbedContent.ItemKindOrganContent.ItemKindTemporaryContent.ModeKindPlayerContent.ModeKindContent.PlaceKindContent.TileKind(Implementation.MonadClientImplementation(Implementation.MonadServerImplementationContent.RuleKindContent.ItemKindTieKnot Paths_AllurestandardKeysAndMousecloseDoorTriggersapplyTsstandardLayoutAndFeaturescontentactorsblastsembedsorgans temporaries playerHeroplayerAntiHeroplayerCivilian playerMonsterplayerAntiMonster playerAnimal playerHorrorplayerMonsterTouristplayerHunamConvictplayerAnimalMagnificentplayerAnimalExquisite hiHeroShort hiHeroMedium hiHeroLong hiDweller playerRobotCliImplementationrunCliImplementationCliStatecliState cliClient cliSessioncliDict cliToSave executorCli$$fMonadClientAtomicCliImplementation*$fMonadClientWriteRequestCliImplementation*$fMonadClientReadResponseCliImplementation $fMonadClientUICliImplementation#$fMonadClientSetupCliImplementation$fMonadClientCliImplementation"$fMonadClientReadCliImplementation"$fMonadStateWriteCliImplementation!$fMonadStateReadCliImplementation$fMonadCliImplementation$fFunctorCliImplementation$fApplicativeCliImplementationSerImplementationrunSerImplementationSerStateserState serServerserDict serToSave executorSer$$fMonadServerAtomicSerImplementation"$fMonadServerCommSerImplementation$fMonadServerSerImplementation"$fMonadStateWriteSerImplementation!$fMonadStateReadSerImplementation$fMonadSerImplementation$fFunctorSerImplementation$fApplicativeSerImplementation standardRulesotherItemContentitemstieKnotForAsynctieKnotversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName