h&+#t      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~            Safe-Inferred1  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWUWTV  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS Safe-Inferred1   Safe-Inferred%&(18;=?Q^ hls-graphThe key that was being built_ hls-graph,The stack of keys that led to this exception` hls-graphThe underlying exceptiona hls-graphThe result of  BuiltinRun.c hls-graph How has the a& changed from what happened last time.d hls-graph)The value to store in the Shake database.e hls-graphThe value to return from  .f hls-graph%How the output of a rule has changed.g hls-graphNothing has changed.h hls-graphThe stored value has changed, but in a way that should be considered identical (used rarely).i hls-graph+I recomputed the value and it was the same.j hls-graph,I recomputed the value and it was different.k hls-graph9What mode a rule is running in, passed as an argument to  BuiltinRun.l hls-graph!My dependencies have not changed.m hls-graphAt least one of my dependencies from last time have changed, or I have no recorded dependencies.u hls-graph$the step when it was last recomputedv hls-graphthe step when it last changedw hls-graph#the step when it was last looked upy hls-graph"How long it took, last time it ran hls-graph>An action representing something that can be run as part of a Rule.0s can be pure functions but also have access to  via  and 'MonadUnliftIO. It should be assumed that actions throw exceptions, these can be caught with 0. In particular, it is permissible to use the ! instance, which will lead to an  IOException. hls-graphA computation that defines all the rules that form part of the computation graph. has access to  through  . Use of $ is at your own risk: if you write  that throw exceptions, then you need to make sure to handle them yourself when you run the resulting .XYZ[\_^`]aecdbfjihgkmlnpoqrzyxwvuts{~}|{~}|rzyxwvutsnpoqkmlfjihgaecdb\_^`]Z[XY Safe-Inferred %&1} hls-graphThe type mapping between the key or a rule and the resulting value. Safe-Inferred1   Safe-Inferred%&(1?8  hls-graph3A simple monad to implement cancellation on top of , generalizing  to monadic scopes. hls-graphIncrement the step and mark dirty. Assumes that the database is not running a build hls-graph+Unwrap and build a list of keys in parallel hls-graphBuild a list of keys and return their results. If none of the keys are dirty, we can return the results immediately. Otherwise, a blocking computation is returned *which must be evaluated asynchronously* to avoid deadlock. hls-graphRefresh a key: * If no dirty dependencies and we have evaluated the key previously, then we refresh it in the current thread. This assumes that the implementation will be a lookup * Otherwise, we spawn a new thread to refresh the dirty deps (if any) and the key itself hls-graphCompute a key. hls-graphReturns the set of dirty keys annotated with their age (in # of builds) hls-graphReturns an approximation of the database keys, annotated with how long ago (in # builds) they were visited hls-graphSplit an IO computation into an unsafe lazy value and a forcing computation hls-graph(Update the reverse dependencies of an Id hls-graphRun the monadic computation, cancelling all the spawned asyncs if an exception arises hls-graphLike  but with built-in cancellation. Returns an IO action to wait on the result. hls-graphId hls-graph"Previous direct dependencies of Id hls-graph!Current direct dependencies of Id Safe-Inferred /1x hls-graphAlways rerun this rule when dirty, regardless of the dependencies. hls-graph;Evaluate a list of keys without recording any dependencies. hls-graphReturns the set of dirty keys annotated with their age (in # of builds) Safe-Inferred1   Safe-Inferred16   Safe-Inferred1abdcefghijklmklmfghijabdce Safe-Inferred1  Safe-Inferred1=  Safe-Inferred %&(1 hls-graph;Generates an report given some build system profiling data. hls-graphEliminate all errors from the database, pretending they don't exist resultsOnly :: Map.HashMap Id (Key, Status) -> Map.HashMap Id (Key, Result (Either BS.ByteString Value)) hls-graphGiven a map of representing a dependency order (with a show for error messages), find an ordering for the items such that no item points to an item before itself. Raise an error if you end up with a cycle. dependencyOrder :: (Eq a, Hashable a) => (a -> String) -> [(a,[a])] -> [a] Algorithm: Divide everyone up into those who have no dependencies [Id] And those who depend on a particular Id, Dep :-> Maybe [(Key,[Dep])] Where d :-> Just (k, ds), k depends on firstly d, then remaining on ds For each with no dependencies, add to list, then take its dep hole and promote them either to Nothing (if ds == []) or into a new slot. k :-> Nothing means the key has already been freed hls-graphReturns a list of profile entries, and a mapping linking a non-error Id to its profile entry hls-graphTemplate Engine. Perform the following replacements on a line basis: script src="foo" /script ==>  script[[foo]] /script link-href="foo" rel="stylesheet" type="text/css" / ==>  styletype="text/css"[[foo]] /style  Safe-Inferred/1" hls-graphReturns the set of dirty keys annotated with their age (in # of builds) hls-graphReturns the build number hls-graph0Assumes that the database is not running a build hls-graphGiven a ?, write an HTML profile to the given file about the latest run. hls-graph&Returns the clean keys in the database hls-graph3Returns the total count of edges in the build graph hls-graphReturns an approximation of the database keys, annotated with how long ago (in # builds) they were visited hls-graph$Set of keys changed since last run.  means everything has changed   Safe-Inferred1"/ !"#"$"%"&"'"(")"*"+","-./0123124567897:;7<=7<>7<?7<@7<A7BC7BD7BE7BF7BG7BH7BI7BJ7BK7BL7BM7NO7NP7NQ7NR7NS7NT7NU7NV7NW7NX7NY7NZ7N[7N\7]^7]_7]`7]a7]b7]c7]d7]e7]f7]g7]h7]i7]j7]k7lm7ln7lo7lp7lq7lr7ls7lt7lu7lv7lw7lx7lyz{|}~~                (hls-graph-2.2.0.0-JpyExp1np4f4m5y19QBxTLDevelopment.IDE.Graph.ClassesControl.Concurrent.STM.Stats$Development.IDE.Graph.Internal.Types$Development.IDE.Graph.Internal.Rules&Development.IDE.Graph.Internal.Options'Development.IDE.Graph.Internal.Database%Development.IDE.Graph.Internal.ActionPaths_hls_graph$Development.IDE.Graph.Internal.Paths&Development.IDE.Graph.Internal.ProfileDevelopment.IDE.Graph.DatabaseDevelopment.Shake.Ruleapply actionCatchDevelopment.IDE.Graph.KeyMapDevelopment.IDE.Graph.KeySetDevelopment.IDE.Graph.RuleDevelopment.IDE.Graphghc-prim GHC.Classes==EqbaseGHC.ShowShowData.Typeable.InternalTypeable/='hashable-1.4.3.0-CSBed1iAoiu6nZsrwz9eo1Data.Hashable.ClassHashable GHC.Conc.IO registerDelay GHC.Conc.SyncTVarSTM writeTVarthrowSTMretry readTVarIOreadTVarorElse newTVarIOnewTVarcatchSTM showsPrecshowListshowdeepseq-1.4.6.1Control.DeepSeqrnfNFDatahash hashWithSalt stm-2.5.0.2Control.Monad.STMcheckControl.Concurrent.STM.TArrayTArrayControl.Concurrent.STM.TVarswapTVar stateTVar modifyTVar' modifyTVar mkWeakTVarControl.Concurrent.STM.TQueueTQueue writeTQueue unGetTQueue tryReadTQueue tryPeekTQueue readTQueue peekTQueue newTQueueIO newTQueue isEmptyTQueue flushTQueueControl.Concurrent.STM.TMVarTMVar tryTakeTMVar tryReadTMVar tryPutTMVar takeTMVar swapTMVar readTMVarputTMVar newTMVarIOnewTMVarnewEmptyTMVarIO newEmptyTMVar mkWeakTMVar isEmptyTMVarControl.Concurrent.STM.TChanTChan writeTChan unGetTChan tryReadTChan tryPeekTChan readTChan peekTChan newTChanIOnewTChannewBroadcastTChanIOnewBroadcastTChan isEmptyTChandupTChan cloneTChanControl.Concurrent.STM.TBQueueTBQueue writeTBQueue unGetTBQueuetryReadTBQueuetryPeekTBQueue readTBQueue peekTBQueue newTBQueueIO newTBQueue lengthTBQueue isFullTBQueueisEmptyTBQueue flushTBQueue getSTMStatsatomicallyNamed dumpSTMStats atomicallyStackExceptionStackGraphExceptiontargetstackinner RunResult runChangedrunStorerunValue RunChangedChangedNothing ChangedStoreChangedRecomputeSameChangedRecomputeDiffRunModeRunDependenciesSameRunDependenciesChanged ResultDeps UnknownDepsAlwaysRerunDepsResult resultValue resultBuilt resultChanged resultVisited resultDepsresultExecution resultDataStatusCleanDirtyRunning runningStep runningWait runningResult runningPrevDatabase databaseExtra databaseRules databaseStepdatabaseValues KeyDetails keyStatuskeyReverseDepsValueKeyMapKeySetGlobalKeyValueMapKey UnsafeMkKeyKeyValueStep ShakeDatabaseSActionactionDatabase actionDeps actionStackAction fromActionSRules rulesExtra rulesActionsrulesMapRulesTheRules unwrapDynamic getDatabasekeyMapnewKeylookupKeyValue renderKey insertKeySet memberKeySet toListKeySet nullKeySetdifferenceKeySet deleteKeySetfromListKeySetsingletonKeySet filterKeySet lengthKeySet mapKeyMap insertKeyMap lookupKeyMaplookupDefaultKeyMapfromListKeyMapfromListWithKeyMap toListKeyMap elemsKeyMaprestrictKeysKeyMaponKeyReverseDepsgetDatabaseValues viewDirty getResultgetResultDepsDefault mapResultDepsfromGraphExceptionaddStack memberStack emptyStack$fShowKeyValue$fHashableKeyValue $fEqKeyValue $fShowKey $fHashableKey$fEqKey $fShowKeySet $fShowKeyMap$fMonoidResultDeps$fSemigroupResultDeps$fNFDataRunMode$fNFDataRunChanged$fNFDataRunResult$fShowGraphException $fShowStack $fMonoidRules$fSemigroupRules$fExceptionStackException$fShowStackException $fMonadRules$fApplicativeRules$fFunctorRules$fMonadIORules $fMonadAction$fApplicativeAction$fFunctorAction$fMonadIOAction$fMonadFailAction$fMonadThrowAction$fMonadCatchAction$fMonadMaskAction$fMonadUnliftIOAction$fExceptionGraphException$fFunctorRunResult$fEqRunChanged$fShowRunChanged$fGenericRunChanged$fFromJSONRunChanged$fToJSONRunChanged $fEqRunMode $fShowRunMode$fEqResultDeps$fShowResultDeps $fEqKeyMap $fOrdKeyMap$fSemigroupKeyMap$fMonoidKeyMap $fEqKeySet $fOrdKeySet$fSemigroupKeySet$fMonoidKeySet$fEqStep $fOrdStep$fHashableStep RuleResultactionaddRulerunRulerunRules ShakeOptions shakeExtrashakeAllowRedefineRules shakeTimings shakeOptions getShakeExtragetShakeExtraRules newShakeExtra newDatabase incDatabasebuild getDirtySetgetKeysAndVisitAge$fApplicativeAIO $fFunctorAIO $fMonadAIO $fMonadIOAIO ShakeValue alwaysRerun rescheduleparallel actionFork actionBracket actionFinallyapply1applyWithoutDependency runActionsgetKeysAndVisitedAgeversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirreadDataFileHTML writeProfileshakeNewDatabaseshakeRunDatabaseshakeGetDirtySetshakeGetBuildStepshakeRunDatabaseForKeysshakeProfileDatabaseshakeGetCleanKeysshakeGetBuildEdgesshakeGetDatabaseKeys GHC.TypesIOControl.Monad.IO.ClassMonadIOControl.Monad.Fail MonadFailAIO"async-2.2.4-JCLnoySkSnuKPKPCvztdzRControl.Concurrent.AsyncAsync withAsyncbuilderrefreshcomputesplitIOupdateReverseDepsrunAIOasyncWithCleanUpasync resultsOnlydependencyOrdertoReport runTemplate GHC.MaybeNothing