-P      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw x y z { | } ~                                    ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                              !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !""""""""""""""""""""""""""######$%%%%&&'''((((((())))))))))))) ) ) ) ) )))))))**7+ Safe-Inferred Map over a  in a monad. Map over a # in a monad, discarding the result. Map over a  in a monad.None !"*+6HM2An exception regarding verification of a download./A request together with some checks to perform.LMake sure that the hash digest for a finite stream of bytes is as expected..Throws WrongDigest (VerifiedDownloadException)'A more explicitly type-guided sinkHash.CTurns a list of hash checks into a ZipSink that checks all of them.>Copied and extended version of Network.HTTP.Download.download.YHas the following additional features: * Verifies that response content-length header (if present) matches expected length * Limits the download to (close to) the expected # of bytes * Verifies that the expected # bytes were downloaded (not too few) * Verifies md5 if response includes content-md5 header * Verifies the expected hashesFThrows VerifiedDownloadException, and whatever else "download" throws.  ! destinationcustom hook to observe progress Whether a download was performed"#$%       !"#$%None=Log running a process with its arguments, for debugging (-v).rShow a process arg including speechmarks when necessary. Just for debugging purposes, not functionally important., Safe-Inferred&Concatenate two parsers.'Alternative parsers.(Pure something.)#Concatting the result of an action.&'()&'()&'()- Safe-Inferred*Monadic +.***None,,. Safe-Inferred+HM -Exception running editor..Exception running pager./ARun pager, providing a function that writes to the pager's input.0'Run pager to display a lazy ByteString.1*Run pager to display a ByteString-Builder.2(Run pager to display contents of a file.3Run pager to display a string.4Run editor to edit a file.5DRun editor, providing functions to write and read the file contents.6Run editor on a ByteString.7Run editor on a String.8Short-circuit first Just.-9:.;</012345678=>?@-9:.;</01234567-:9.<;/012345678=>?@None +3=HM4Override the environment received by a child process"#Get the environment variables from  EnvOverride#$Get the list of directories searched$ Create a new  EnvOverride%Helper conversion function&+Read from the process, ignoring any output.'uRun the given command in the given directory. If it exits with anything but success, prints an error and then calls A to exit the program.(Try to produce a strict B from the stdout of a process.)Produce a strict B) from the stdout of a process. Throws a C! exception if the process fails.*/Consume the stdout of a process feeding strict Bs to a consumer. If the process fails, spits out stdout and stderr as error log level. Should not be used for long-running processes or ones with lots of output; for that use sinkProcessStdoutLogStderr.D:Consume the stdout and stderr of a process feeding strict Bs to the consumers.+cPerform pre-call-process tasks. Ensure the working directory exists and find the executable path.,6Check if the given executable exists on the given PATHE+Turn a relative path into an absolute path.ZNote: this function duplicates the functionality of makeAbsolute in recent versions of System.DirectoryP, and can be removed once we no longer need to support older versions of GHC.-)Find the complete path for the executable.4Load up an EnvOverride from the standard environment !"#$%&'directory to run incommand to runcommand line arguments()*Sink for stdoutDSink for stderrSink for stdout+,E-.FG !"#$%&'()*+,-.)(* !"$%,-.#+&' !"#$%&'()*D+,E-.FGNone+=HM/Run the given command in the given directory, inheriting stdout and stderr. If it exits with anything but success, prints an error and then calls A to exit the program.0Like as System.Process.callProcess, but takes an optional working directory and environment override, and throws ProcessExitedUnsuccessfully if the process exits unsuccessfully. Inherits stdout and stderr./directory to run incommand to runcommand line arguments0/0/0/0/ Safe-Inferred HIJKLMNOPQRSTIOPQRST HIJKLMNOPQRST0None+U"Get the current working directory.VWAppends a stringly-typed relative path to an absolute path, and then canonicalizes it.WWAppends a stringly-typed relative path to an absolute path, and then canonicalizes it.XAppends a stringly-typed relative path to an absolute path, and then canonicalizes it. If the path doesn't exist (and therefore cannot be canonicalized, Y is returned).ZAppends a stringly-typed relative path to an absolute path, and then canonicalizes it. If the path doesn't exist (and therefore cannot be canonicalized, Y is returned).[(List objects in a directory, excluding "." and "..". Entries are not sorted.\ZRemove the given file. Optimistically assumes it exists. If it doesn't, doesn't complain.]XMove the given file. Optimistically assumes it exists. If it doesn't, doesn't complain.^YRename the directory. Optimistically assumes it exists. If it doesn't, doesn't complain._2Make a directory tree, creating parents if needed.`XMove the given file. Optimistically assumes it exists. If it doesn't, doesn't complain.aWMove the given dir. Optimistically assumes it exists. If it doesn't, doesn't complain.b@Remove the given tree. Bails out if the directory doesn't exist.c;Remove tree, don't complain about non-existent directories.dDoes the given file exist?eDoes the given directory exist?f.Copy a directory recursively. This just uses gB, so it is not smart about symbolic links or other special files.hijUVWXZ[\]^_`abcdefSource directoryDestination directoryklhijUVWXZ[\]^_`abcdefhjiUVWXZ[\]^_`abcdefkl1None(+m9Find the location of a file matching the given predicate.n>Find the location of a directory matching the given predicate.o9Find the location of a path matching the given predicate.p5Find files matching predicate below a root directory.m Start here.Predicate to match the file.#Do not ascend above this directory.Absolute file path.n Start here.!Predicate to match the directory.#Do not ascend above this directory.Absolute directory path.oChoose path type from pair. Start here.Predicate to match the path.#Do not ascend above this directory.Absolute path.pRoot directory to begin with.Predicate to match files.,Predicate for which directories to traverse.List of matching files.mnpmnop2 Safe-InferredMqA Binary( instance that also has a schema versionr,Write to the given file, with a version tag.sRead from the given file. If the read fails, run the given action and write that back to the file. Always starts the file off with the version tag.tuqvwrsxqvrstuqvwrsx3Noneyz0{|}~yzyz4None+6Download the given URL to the given location. If the file already exists, no download is performed. Otherwise, creates the parent directory, downloads to a temporary file, and on file download completion moves to the appropriate destination.&Throws an exception if things go wrongSame as B, but will download a file a second time if it is already present.Returns  if the file was downloaded,  otherwise+Download a JSON value and parse it using a  instance.YA convenience method for asking for the environment and then running an action with its . Useful for avoiding a MonadBaseControl constraint. destinationHWas a downloaded performed (True) or did the file already exist (False)? destination None+024BE 2A package name.3 A parse fail.65Attoparsec parser for a package name from bytestring.7Make a package name.89Convenient way to parse a package name from a bytestring.9Migration function.:6Produce a bytestring representation of a package name.;2Produce a string representation of a package name.<2Produce a string representation of a package name.="Convert from a Cabal package name.> Convert to a Cabal package name.?&Parse a package name from a file path.23456789:;<=>?23456789:;<=>?2354689:;<=>?723546789:;<=>?None242@'Options for Docker repository or image.CDocker volume mount.EqAn uninterpreted representation of docker options. Configurations may be "cascaded" using mappend (left-biased).GDoes a docker:9 section exist in the top-level (usually project) config?HIs using Docker enabled?IDocker repository name (e.g. fpco/stack-build or fpco/stack-full:lts-2.8)J&Does registry require login for pulls?K&Optional username for Docker registry.L&Optional password for Docker registry.MAutomatically pull new images.N#Whether to run a detached containerOLCreate a persistent container (don't remove it when finished). Implied by ].P?Container name to use, only makes sense from command-line with ^ or ].QArguments to pass directly to  docker runR!Volumes to mount in the containerS9Pass Docker daemon connection information into container.T!Location of image usage database.UDocker configuration.WIs using Docker enabled?X;Exact Docker image tag or ID. Overrides docker-repo-*/tag.Y&Does registry require login for pulls?Z&Optional username for Docker registry.[&Optional password for Docker registry.\Automatically pull new images.]#Whether to run a detached container^LCreate a persistent container (don't remove it when finished). Implied by ]._?Container name to use, only makes sense from command-line with ^ or ].`Arguments to pass directly to  docker run.a"Volumes to mount in the container.b9Pass Docker daemon connection information into container.c!Location of image usage database.dDocker enable argument name.eDocker repo arg argument name.fDocker image argument name.g$Docker registry login argument name.h'Docker registry username argument name.i'Docker registry password argument name.jDocker auto-pull argument name.kDocker detach argument name.lDocker run args argument name.mDocker mount argument name.n$Docker container name argument name.oDocker persist argument name.pDocker pass host argument name.q#Docker database path argument name.r For YAML.sShow instance.tFor optparse-applicative.u"Left-biased combine Docker optionsv3Decode uninterpreted docker options from JSON/YAML.7@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv2@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq7UVWXYZ[\]^_`abcEFGHIJKLMNOPQRSTvuCDtsr@BAdefghijklmnopq@BACDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv None+024BE w A flag name.x A parse fail.z2Attoparsec parser for a flag name from bytestring.{Make a flag name.|6Convenient way to parse a flag name from a bytestring.}Migration function.~/Produce a string representation of a flag name./Produce a string representation of a flag name.Convert from a Cabal flag name.Convert to a Cabal flag name.wxyz{|}~ wxyz{|}~ wxyz|}~{wxyz{|}~None+024B&The first two components of a version.A package version. A parse fail.Parse major version from String@Returns the first two components, defaulting to 0 if not present'Convert a two-component version into a Version8Attoparsec parser for a package version from bytestring.<Convenient way to parse a package version from a bytestring.Migration function.1Get a string representation of a package version.1Get a string representation of a package version.Convert to a Cabal version.Convert from a Cabal version.Make a package version.Display a version range-Check if a version is within a version range. 11 None+0B A pkg-ver combination. A parse fail.-Convert from a package identifier to a tuple.-Convert from a tuple to a package identifier.'Get the version part of the identifier.$Get the name part of the identifier.$A parser for a package-version pair.?Convenient way to parse a package identifier from a bytestring.Migration function.@Get a string representation of the package identifier; name-ver.>Get a Text representation of the package identifier; name-ver.  None+0A ghc-pkg package identifier. A parse fail.9Convenient way to parse a package name from a bytestring.)A parser for a package-version-hash pair..Get a string representation of GHC package id.1Get the package identifier of the GHC package id.  None+024B (Information on a single package for the .Due to ambiguity in Cabal, it is unclear whether this refers to the executable name, the package name, or something else. We have to guess based on what's available, which is why we store this is an unwrapped B.$Executables provided by this packageIs there a library present?A simplified version of the  + cabal file.-A simplified package description that tracks:Package dependenciesBuild tool dependenciesProvided executables&It has fully resolved all conditionalsmodules exported by the libraryName of an executable.5when the test suite will pull in things we don't want8The name of an LTS Haskell or Stackage Nightly snapshot. Convert a % into its short representation, e.g. lts-2.8, nightly-2015-03-05.$Parse the short representation of a .j     GG0      None+1B`)Newtype for non-orphan FromJSON instance.Docker options.See: PSee: QSee: SSee: TSee: USee: VSee: X Used for overriding the platform Used for overriding the platformSee: YSee: ZSee: [0Class for environment values that can provide a ..0Class for environment values that can provide a J.2Class for environment values which have a Platform @Class for environment values which have access to the stack root EHow we resolve which dependencies to install given a set of packages. Require a specific GHC major version, but otherwise provide no build plan. Intended for use cases where end user wishes to specify all upstream dependencies manually, such as using a dependency solver.^Use an official snapshot from the Stackage project, either an LTS Haskell or Stackage NightlyA project is a collection of packages. We can have multiple stack.yaml files, but only one of them may contain project information.Components of the package listQComponents of the package list referring to package/version combos, see: https:/ github.comfpcostack issues/41Per-package flag overrides(How we resolve which dependencies to useURL and commitNote that we use FilePath and not Path9s. The goal is: first parse the value raw, and then use canonicalizePath and  parseAbsDir.Is this package a dependency? This means the local package will be treated just like an extra-deps: it will only be built as a dependency for others, and its test suite/benchmarks will not be run.3Useful modifying an upstream package, see: https:/ github.comcommercialhaskellstackissues/219 https:/ github.comcommercialhaskellstack issues/386kDeprecated name meaning the opposite of peExtraDep. Only present to provide deprecation warnings to users."Value returned by *5.$Top-level Stack configuration.%Action to load the remaining ..&,The project root directory, if in a project.)3Configuration after the environment has been setup..A superset of J adding information on how to build code. The reason for this breakdown is because we will need some of the information from J' in order to determine the values here.1FHow we resolve which dependencies to install given a set of packages.2)Version of GHC we expected for this build3eLocal packages identified by a path, Bool indicates whether it is a non-dependency (the opposite of ])4.Extra dependencies specified in configuration.tThese dependencies will not be installed to a shared location, and will override packages provided by the resolver.52Directory containing the project's stack.yaml file6 Location of the stack.yaml file.YNote: if the STACK_YAML environment variable is used, this may be different from bcRoot  / "stack.yaml"7Per-package flag overrides81Controls which version of the environment is used::include local project bin directory, GHC_PACKAGE_PATH, etc;%include the GHC_PACKAGE_PATH variable<[Location of the package index. This ensures that at least one of Git or HTTP is available.@Unique name for a package indexC%Information on a single package indexG#URL prefix for downloading packagesHXGPG-verify the package index during download. Only applies to Git repositories for now.IXRequire that hashes and package size information be available for packages in this indexJ%The top-level Stackage configuration.L~/.stack more often than notN4Environment variables to be passed to external toolsO0Path containing local installations (mainly GHC)P<How many concurrent connections are allowed when downloadingQJHide the Template Haskell "Loading package ..." messages from the consoleR=The platform we're building for, used in many directory namesSNURL for a JSON file containing information on the latest snapshots available.TInformation on package indices. This is left biased, meaning that packages in an earlier index will shadow those in a later index.YWarning: if you override packages in an index vs what's available upstream, you may correct your compiled snapshots, as different projects may have different definitions of what pkg-ver means! This feature is primarily intended for adding local packages, not overriding. Overriding is better accomplished by adding to your list of packages.TNote that indices specified in a later config file will override previous indices, not extend them.>Using an assoc list instead of a Map to keep track of priorityUnShould we use the system-installed GHC (on the PATH) if available? Can be overridden by command line options.V}Should we automatically install GHC if missing or the wrong version is available? Can be overridden by command line options.W,Directory we should install executables intoX-Require a version of stack within this range.YCHow many concurrent jobs to run, defaults to number of capabilitiesZ-extra-include-dirs arguments[-extra-lib-dirs arguments]VOnce peValidWanted is removed, this should just become the field name in PackageEntry.^Convert a Resolver into its Text- representation, as will be used by JSON/YAML_Try to parse a Resolver, using same format as JSONYAML^`:Helper function to ask the environment and apply getConfiga>Get the URL to request the information on the latest snapshotsb!Root for a specific package indexc#Location of the 00-index.cache filed!Location of the 00-index.tar filee$Location of the 00-index.tar.gz filefLocation of a package tarballhPer-project work diri)File containing the installed cache, see Stack.PackageDumpj.Relative directory for the platform identifierkPath to .shake files.l(Where to unpack packages for local buildmDirectory containing snapshotsn"Installation root for dependenciesoInstallation root for localsp1Package database for installing dependencies intoq3Package database for installing local packages intor,Directory for holding flag cache informations%Where to store mini build plan cachest9Suffix applied to an installation root to get the bin diru9Suffix applied to an installation root to get the doc dirvCGet the extra bin directories (for the PATH). Puts more local first3Bool indicates whether or not to include the localswaGet the minimal environment override, useful for just calling external processes like git or ghcx;A PackageEntry for the current directory, used as a default|Parse VersionRange.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxJKLMNOPQRSTUVWXYZ[CDEFGHI@AB\<?>=89:;./01234567)*+,-'("#$%&! ]  ^_   ~}|{z`abcdefghijklmnopqrstuvwyxP     ! "#$%&'()*+,-. /0123456789:;<?>=@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None"Extensions used for Haskell files.1The filename used for completed build indicators.5The filename used for completed configure indicators.1The filename used for completed build indicators.0Relative location of completed build indicators./Default shake thread count for parallel builds.User documentation directory.6The filename used for dirtiness check of source files.0The filename used for dirtiness check of config.2The filename used for modification check of .cabalDirectory for HPC work.$Package's build artifacts directory.%Relative location of build artifacts."Get a URL for a raw file on Github!Docker sandbox from project root. Name of the stack program.,The filename used for the stack config file.>Environment variable used to override the '~/.stack' location.+Just to avoid repetition and magic strings.9Implicit global directory used when outside of a project.Where .mix files go.Package directory.Package directory.Package directory.Package directory. user/org name repo name branch namefilename Stack root.6NoneC123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxNone  (+234EHM;!Files to get for a cabal package.Package build configurationAre tests enabled?Are benchmarks enabled?Package config flags. GHC version host platformnFiles that the package depends on, relative to package directory. Argument is the location of the .cabal filenFiles that the package depends on, relative to package directory. Argument is the location of the .cabal fileSome package info.Name of the package.Version of the package%Packages that the package depends on.A build tool name.#Original dependencies (not sieved).Flags used on package.1does the package have a buildable library stanza?names of test suitesnames of benchmarksnames of executablesArgs to pass to GHC.&Does the package have exposed modules?&Does the package of build-type: Simple%All exceptions thrown by the library."Get the identifier of the package.-Read the raw, unresolved package information.?Read the raw, unresolved package information from a ByteString.)Reads and exposes the package information<Reads and exposes the package information, from a ByteStringConvenience wrapper around  readPackage9 that first finds the cabal file in the given directory.#Resolve a parsed cabal file into a .%Generate GHC options for the package.$Generate GHC options for the target.Make the autogen dir.=Get all dependencies of the package (buildable targets only).HGet all build tool dependencies of the package (buildable targets only).=Get all dependencies of the package (buildable targets only)."This is a copy-paste from Cabal's  allBuildInfo function, but with the  buildableK test removed. The reason is that (surprise) Cabal is broken, see: https:/ github.comhaskellcabal issues/1725(Get all files referenced by the package.>Resolve globbing of files (e.g. data files) to absolute paths.<This is a copy/paste of the Cabal library function, but with  ext == ext' Changed to isSuffixOf ext ext'So that this will work: > matchDirFileGlob_ "." "test package-dump *.txt" ["test package-dumpghc-7.8.txt","test package-dumpghc-7.10.txt"] *Get all files referenced by the benchmark.%Get all files referenced by the test.+Get all files referenced by the executable.(Get all files referenced by the library.Get all files in a build.VGet all dependencies of a package, including library, executables, tests, benchmarks..Make a map from a list of flag specifications.What is  flagManual for? Generic a ResolveConditions using sensible defaults. +Resolve the condition tree for the library.!Get the name of a dependency."&Get the version range of a dependency.#Try to resolve the list of base names in the given directory by looking for unique instances of base names applied with the given extensions.;Get the filename for the cabal file in the given directory.WIf no .cabal file is present, or more than one is present, an exception is thrown via $.!Path for the package's build log.%UResolve the file, if it can't be resolved, warn for the user (purely to be helpful).&ZResolve the directory, if it can't be resolved, warn for the user (purely to be helpful).'Compares the package name.(Compares the package name.R)*+,-. GHC versioninstallation target platform enabled flags !"#Directories to look in. Base names. Extentions.package directory%&'(/01222.)*+,-. !"#%&'(/012NoneDefault  EnvSettings+ which includes locals and GHC_PACKAGE_PATH:Execute a process within the Stack configured environment.None  (+024B- Used for storage and comparison.BBasic information used to calculate what the configure options are:A complete plan of what needs to be built and how to do it0Final actions to be taken (test, benchmark, etc)4Text is reason we're unregistering, for display only>Executables that should be installed after successful building^The type of a task, either building local code or something from the package index (upstream)DGiven the IDs of any missing packages, produce the configure options4Dependencies for which we don't yet have an GhcPkgId.Produce the list of options given the missing GhcPkgIdsA task to perform when buildingthe package/version to be built+the task type, telling us how to build this+GhcPkgIds of already-installed dependenciesQStored on disk to know whether the flags have changed or any files have changed."All options used for this package.The GhcPkgIds of all of the dependencies. Since Cabal doesn't take the complete GhcPkgId (only a PackageIdentifier) in the configure options, just using the previous value is insufficient to know if dependencies have changed.The components to be built. It's a bit of a hack to include this in here, as it's not a configure option (just a build option), but this is a convenient way to force compilation when the components change.Are haddocks to be built?9Information on a locally available package of source codeThe PackageR info itself, after resolution with package flags, not including any final actionsNSame as lpPackage, but with any test suites or benchmarks enabled as necessary=Is this package a "wanted" target based on command line inputDirectory of the package. The .cabal file 7are there files that have changed since the last build? 6components to build, passed directly to Setup.hs build \Datatype which tells how which version of a package to install and where to install it into>A location to install a package into, either snapshot or local3Package dependency oracle.BRun a Setup.hs action after building a package, before installing.Configuration for building.Build haddocks? Build haddocks for dependencies?"0Install executables to user path after building?#Fetch all packages immediately$;Arguments to pass to the test suites if we're running them.%cOnly install packages in the snapshot database, skipping packages intended for the local database.&8Enable code coverage report generation for test suites.'$Reason why a dependency was not used,>Recommend adding to extra-deps, give a helpful version number?6Path to the stack.yaml file8 Render a BaseConfigOpts to an actual list of options9,Get set of wanted package names from locals.:&One-way conversion to serialized time.f4     35 !"#$%&'()*+,-./012345678 dependencieswanted?9:6789:;<\      !"#$%&'()*+,-./0123456789:\/76543210:      !"#$%&+.-,8'*)(94     35 !"#$%&'*)(+.-,/7654321089:6789:;<None+3 ;Get the global package database=Run the ghc-pkg executable<FCreate a package database in the given directory, if it doesn't exist.>IGet the necessary ghc-pkg flags for setting up the given package database?(Get the value of a field of the package.=Get the id of the package e.g. *foo-0.0.0-9c293923c0685761dcff6f8c3ad8f8ec.>7Get the Haddock HTML documentation path of the package.?$Get the dependencies of the package.A:Get the version of Cabal from the global package database. ;=<>?package databases=package databases>package databases?package databases@package databaseA %;<=>?@A =;%<@A>? ;=<>?=>?@ANone&36B2Determine whether we should haddock for a package.C5Determine whether to build haddocks for dependencies.DLCopy dependencies' haddocks to documentation directory. This way, relative  ../$pkg-$ver` links work and it's easy to upload docs to a web server or otherwise view them in a non-local-filesystem context. We copy instead of symlink for two reasons: (1) symlinks aren't reliably supported on Windows, and (2) the filesystem containing dependencies' docs may not be available where viewing the docs (e.g. if building in a Docker container).E7Generate Haddock index and contents for local packages.BCDE@BCDEDEBCBCDE@None06EAQStored on disk to know whether the flags have changed or any files have changed.FModification times of files.B=Directory containing files to mark an executable as installedG$Get all of the installed executablesH&Mark the given executable as installedI@Try to read the dirtiness cache for the given package directory.J@Try to read the dirtiness cache for the given package directory.K>Try to read the mod time of the cabal file from the last buildCTry to load a cache.L3Write the dirtiness cache for this package's files.M;Write the dirtiness cache for this package's configuration.NSee KO"Delete the caches for the project.DWrite to a cache.P7Loads the flag cache for the given installed extra-depsReGet the modified times of all known files in the package, including the package's cabal file itself.AEFBGHIJKCLMNODFPQR cabal fileG FGHIJKLMNOPQR IJKRGFPOHQLMNAEFBGHIJKCLMNODFPQRG7None+H#Does not include the current actionIJKLMNOPQRHSTUVWXYZ[\]threadsprogress updated^_`QRHSTUVWXYZ[\] IJKLMNOPQRHSTUVWXYZ\[]^_`None+MSSettings for creating an Uploader. Since 0.1.0.0TThe computed value from a UploadSettings.%Typically, you want to use this with _. Since 0.1.0.0U8Whether the Hackage credentials were loaded from a file.This information is useful since, typically, you only want to save the credentials to a file if it wasn't already loaded from there. Since 0.1.0.0V)A source for getting Hackage credentials. Since 0.1.0.0W*Username and password to log into Hackage. Since 0.1.0.0X/Load Hackage credentials from the given source. Since 0.1.0.0Y3Save the given credentials to the credentials file. Since 0.1.0.0ZOLoad the Hackage credentials from the prompt, asking the user to type them in. Since 0.1.0.0[7Load the Hackage credentials from the JSON config file. Since 0.1.0.0\6Load the Hackage credentials from the given arguments. Since 0.1.0.0]]Try to load the credentials from the config file. If that fails, ask the user to enter them. Since 0.1.0.0a5Lifted from cabal-install, Distribution.Client.Upload^ Turn the given settings into an Uploader. Since 0.1.0.0b7Given either a file, return it. Given a directory, run  cabal sdist and get the resulting tarball._'Upload a single tarball with the given Uploader. Since 0.1.0.0`Default value for UploadSettings.(Use setter functions to change defaults. Since 0.1.0.0aChange the upload URL. Default: " &https://hackage.haskell.org/packages/" Since 0.1.0.0b&How to get an HTTP connection manager. Default: newManager tlsManagerSettings Since 0.1.0.0c#How to get the Hackage credentials. Default:  fromAnywhere Since 0.1.0.0d(Save new credentials to the config file. Default: True Since 0.1.0.0(ScdefgThijkUVlmWnopXYZq[\]a^br_`abcdstuvSTUVWXYZ[\]^_`abcd^T_S`abcdWXYUV]Z[\ScdefgThijkUVlmWnopXYZq[\]a^br_`abcdstuvNonenMonadic environment.efghijklmnopqrstuvwxyz{|}~efghijklmnopqrstnopqrst~}|{zylmxwjkvghiefuefghijklmnopqrstuvwxyz{|}~None*2346=BK -The monad used for logging in the executable stack' before anything has been initialized."The monad used for the executable stack.Run a Stack action.Run the logging monad.Convenience for getting a w2Logging function takes the log level into account.x"With a sticky state, do the thing.RWrite a "sticky" line to the terminal. Any subsequent lines will overwrite this one, and that same line will be repeated below again. In other words, the line sticks at the bottom of the output forever. Running this function again will replace the sticky line with a new sticky line. When you want to get rid of the sticky line, run .yThis will print out the given message with a newline and disable any further stickiness of the line until a new call to  happens.+It might be better at some point to have a  runStickyA function that encompasses the logSticky->logStickyDone pairing.y,Takes the configured log level into account.z,Takes the configured log level into account.{|}~wxyz{|}~wxyzNone !"(+036=BEHM Goffset in bytes into the 00-index.tar file for the .cabal file contents size in bytes of the .cabal file2Populate the package index caches and return them.7Require that an index be present, updating if it isn't.!Update all of the package indicesUpdate the index tarball/Update the index Git repo and the index tarball!Update the index tarball via HTTP Is the git executable installed?Delete the package index cache@Load the cached package URLs, or created the cache if necessary.(Return the number of blocks in an entry.Git URLurl  None  +36EHM Contents of the .cabal file/Fetch packages into the cache without unpacking.Intended to work for the command line command.Ensure that all of the given package idents are unpacked into the build unpack directory, and return the paths to all of the subdirectories.4Resolve a set of package names and identifiers into  FetchPackage values.:Add the cabal files to a list of idents with their caches..Provide a function which will load up a cabal  ByteString from the package indices.Figure out where to fetch from.KDownload the given name,version pairs into the directory expected by cabal.JFor each package it downloads, it will optionally unpack it to the given Path (if present). Note that unpacking is not simply a matter of untarring, but also of grabbing the cabal file from the package index. The destinations should not include package identifiers.HReturns the list of paths unpacked, including package identifiers. E.g.: #fetchPackages [("foo-1.2.3", Just "somedest")] ==> ["somedest/foo-1.2.3"]  Since 0.1.0.0# destinationnames or identifiersunpack directory'the dist rename directory, see: https:/ github.comfpcostack issues/157directory to unpack into, Nothing means no unpack'the dist rename directory, see: https:/ github.comfpcostack issues/157  None!"36=BHKM8Date and project path where Docker image hash last used.:Update last used time and project for a Docker image hash.?Get a list of Docker image hashes and when they were last used._Given a list of all existing Docker images, remove any that no longer exist from the database.URun an action with the global database. This performs any needed migrations as well.  None+03E=Most recent Nightly and newest LTS version per major release.*Look up with packages provide which tools.set of shadowed dependenciesYDetermine the necessary packages to install to have the given set of packages available.EThis function will not provide test suite and benchmark dependencies.8This may fail if a target package is not present in the  BuildPlan.7Add in the resolved dependencies from the package index-Resolve all packages necessary to install for*Map from tool name to package providing it Download the  value from stackage.org. Load up a , preferably from cacheMSome hard-coded fixes for build plans, hopefully to be irrelevant over time. Load the f for the given snapshot. Will load from a local copy if available, otherwise downloading from Github.Find the set of FlagNames necessary to get the given GenericPackageDescription to compile against the given  BuildPlanY. Will only modify non-manual flags, and will prefer default values for flags. Returns Nothing if no combination exists.Checks if the given package dependencies can be satisfied by the given set of packages. Will fail if a package is either missing or has a version outside of the version range.DFind a snapshot and set of flags that is compatible with the given  . Returns Y if no such snapshot is found.%"is it shadowed by a local package?"required packages, and users of it allow missing GHC version"is it shadowed by a local package?locally available packages6package using dependencies, for constructing DepErrorsNone36Determine missing extra-deps cabal files)additional arguments, usually constraintstemp dirmodify stack.yaml?None36Method of initializingPreferred snapshotsCSpecial directories that we don't want to traverse for .cabal filesGenerate stack.yamlGet the default resolver valueSame semantics as nub", but more efficient by using the Ord constraint. cabal filescabal descriptions None  +3MT 0If we got the desired GHC version from that file&Run a sanity check on the selected GHC[Modify the environment variables (like PATH) appropriately, possibly doing installation too@Augment the PATH environment variable with the given extra pathsAEnsure GHC is installed and provide the PATHs to add if necessary5Get the major version of the system GHC, if available"Download the most recent SetupInfo2Binary directories for the given installed packageBDownload 7z as necessary, and get a function for unpacking things.8Returned function takes an unpack directory and archive.#Perform a basic sanity check of GHC3e.g., ghc-7.8.4, git-2.4.0.1already installed installed GHC    URL destination        None36EMGWhere the package's source is located: local directory or package indexZUpstream packages could be installed in either local or snapshot databases; this is what  specifies.$ combines two pieces of information: 0Targets, i.e. arguments passed to stack such as foo and bar in the  stack foo bar invocationLocal packages listed in  stack.yaml It returns: For every local package, a  structureCIf a target does not correspond to a local package but is a valid 2 or , it is returned as such.NOTE: as the function is written right now, it may "drop" targets if they correspond to existing directories not listed in stack.yaml. This may be a bug.All flags for a local package/Add in necessary packages to extra dependencies See https:/ github.comcommercialhaskellstack0issues/272 for the requirements of this functionoriginal extra depslatest versions in indicesextra package names desired!extra package identifiers desired new extradeps  NoneELaunch a GHCi REPL for the given local project targets with the given options and configure it with the load paths and extensions of those targets.Targets. GHC options.!NoneELaunch a GHCi IDE for the given local project targets with the given options and configure it with the load paths and extensions of those targets.Make the initial request.:Execute a process within the Stack configured environment.Targets. GHC options.8None#Mode for parsing escape characters.pA basic argument parser. It supports space-separated text, and string quotation with identity escaping: x -> x."None +03BEHM2A single line of input, not including line endings%Dump information for a single packageMCached information on whether a package has profiling libraries and haddocks.LCached information on whether package have profiling libraries and haddocks.ACall ghc-pkg dump with appropriate flags and stream to the given Sink, for a single databaseCreate a new, empty InstalledCacheLoad a InstalledCache@ from disk, swallowing any errors and returning an empty cache.Save a InstalledCache to diskKPrune a list of possible packages down to those whose dependencies are met.id uniquely identifies an item$There can be multiple items per name}Find the package IDs matching the given constraints with all dependencies installed. Packages not mentioned in the provided Map are allowed to be present too.+Add profiling information to the stream of  DumpPackages)Add haddock information to the stream of  DumpPackages+Convert a stream of bytes into a stream of  DumpPackagesVApply the given Sink to each section of output, broken by a single line containing ---Grab each key/value pair General purpose utility)!"#$%&'if Nothing, use globalextract the name from an idthe id of an itemget the dependencies of an item(choose the desired of two possible items input itemsrequire profiling?require haddock?allowed versions(entry in directoryname of library)* +,-.!$#"%&'()* +,-.#None&36 Options for .Require profiling libraries?Require haddocks?HReturns the new InstalledMap and all of the locally registered packages./]Outputs both the modified InstalledMap and the Set of all installed packages in this databaseThe goal is to ascertain that the dependencies for a package are present, that it has profiling if necessary, and that it matches the version and location needed by the SourceMap0Check if a can be included in the set of installed packages or not, based on the package selections made by the user. This does not perform any dirtiness or flag change checks.123456*does not contain any installed information/)if Just, profiling or haddock is required5to determine which installed things we should include$package database, Nothing for globalfrom parent databases0  123456/0$None36EM7fDetermine which packages to unregister based on the given tasks and already registered local packages8\Get all of the dependencies for a given package, including guessed build tool dependencies.9Strip out anything from the Plan intended for the local database0:;<=>?@ABCDEFGHIJKLMNOP&additional packages that must be builtlocally registeredload upstream package7QRSTUVWXYZ[\]^_89`abcde : ;<=>?@ABCDEFGIHJKNMLOP7QRSTUVWXYZ[\]^_89`abcde%None&36 f For a dry runPerform the actual plangWindows can't write over the current executable. Instead, we rename the current executable to something else and then do the copy.h"Perform the actual plan (internal)iCEnsure that the configuration for the package matches what is given>Determine the tests to be run based on the list of components.jGenerate the HTML report andkGrab all output from the given Handlem and print it to stdout, stripping Template Haskell "Loading package" lines. Does work in a separate thread.lUEnsure Setup.hs exists in the given directory. Returns an action to remove it later."mnopqrstuvwxyz{|}fgh~ipackage directoryannouncecabal .cabal file componentsall test namestests to be runjklproject directorymnopqrstuvwxyz{|}fgh~ijkl&None  &+03EMBuildGet the BaseConfigOpts- necessary for constructing configure optionsIProvide a function for loading package information from the package index7Reset the build (remove Shake database and .gen files).'None3An argument which accepts a list of arguments e.g. --ghc-options="-X P.hs "this"".1An option which accepts a list of arguments e.g. --ghc-options="-X P.hs "this"".Parse from a string.( Safe-InferredEnable/disable flags for a Bool.Enable/disable flags for a Bool,, without a default case (to allow chaining  |s).Enable/disable flags for a  (Maybe Bool)."Enable/disable flags for any type.HEnable/disable flags for any type, without a default (to allow chaining  |s) Show an extra help option (e.g.  --docker-help shows help for all  --docker*5 args). To actually show have that help appear, use " before executing the main parser.Display extra help if extea help option passed in arguments. Since optparse-applicative doesn't allow an arbirary IO action for an S, this was the best way I found that doesn't require manually formatting the help.)None &+3EHMU7"Exceptions thrown by Stack.Docker.Invalid global database path.docker --version failed.?Can't determine the project root (where to put docker sandbox).7Only LTS resolvers are supported for default image tag. Version of stack3 in container/image is too old for version on host. Version of stack) on host is too old for version in image.Invalid output from docker --version.Installed version of docker is prohibited.Installed version of docker below minimum version.Could not pull a Docker image.Invalid output from docker inspect.Invalid output from  docker ps.Invalid output from  docker images. Input to docker cleanup has invalid command.Image does not exist.docker inspect failed.4Command must be run on host OS (not in a container).*Docker must be enabled to use the command.Parsed Config section of docker inspect output.Parsed result of docker inspect.Cleanup action. Options for  .xIf Docker is enabled, re-runs the currently running OS command in a Docker container. Otherwise, runs the inner action. If Docker is enabled, re-runs the OS command returned by the second argument in a Docker container. Otherwise, runs the inner action. If Docker is enabled, re-runs the OS command returned by the second argument in a Docker container. Otherwise, runs the inner action.  Error if running in a container.7 if we are currently running inside a Docker container.?Run a command in a new Docker container, then exit the process. *Clean-up old docker images and containers."Inspect Docker image or container.1Inspect multiple Docker images and/or containers. =Pull latest version of configured Docker image from registry. Pull Docker image from registry.4Check docker version (throws exception if incorrect)1Run a process, then exit with the same exit code.$Remove the project's Docker sandbox.dRemove the contents of a directory, without removing the directory itself. This is used instead of 9:Z to clear bind-mounted directories, since removing the root of the bind-mount won't work.Produce a strict ;<) from the stdout of a process. Throws a ? exception if the process fails. Logs process's stderr using  $logError.NSubdirectories of the home directory to sandbox between GHC/Stackage versions.-Name of home directory within docker sandbox.(Options parser configuration for Docker.$Interprets DockerOptsMonoid options.4Convenience function to decode ByteString to String..Convenience function constructing message for $log*.1Fail with friendly error if project root not set.2Environment variable that contains the sandbox ID.DEnvironment variable used to indicate stack is running in container."Command-line argument for "docker"Command-line argument for  docker pull.Command-line argument for docker cleanup.'Show instance for StackDockerException.,Exception instance for StackDockerException.Parse Config section of docker inspect output.Parse docker inspect output.I     Directory to remove contents of1Top-level directory names to exclude from removal,Top-level file names to exclude from removal          &     *None +3=BEKMT +Get the latest snapshot resolver available.Note that this will be Nothing on Windows, which is by design.0Command-line arguments parser for configuration.wGet the directory on Windows where we should install extra programs. For more information, see discussion at: https:/ github.comfpcominghcissues/43#issuecomment-99737383cLoad the configuration, using current directory, environment variables, and defaults as necessary.MLoad the build configuration, adds build-specific values to config loaded by  loadConfig . values.SResolve a PackageEntry into a list of paths, downloading and cloning as necessary.MResolve a PackageLocation into a path, downloading and cloning as necessary.!Get the stack root, e.g. ~/.stack6Determine the extra config file locations which exist.Returns most local first(Load and parse YAML from the given file.:Get the location of the project config file, if it exists.Find the project config file location, respecting environment variables and otherwise traversing parents. If no config is found, we supply a default based on current directory.stack root, e.g. ~/.stack0Config monoid from parsed command-line arguments project root project root stack root=>?@ABCDEFGHIIJKLLMNOPQRSTUVTWWXYZ[\]^_`abcdefghijklmnopqprstuvwxyz{|}~                                                                       ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 8 9 : ; < = > ? @ A A B C D E F G H I I J K L M N O O P Q R S S T U V W X Y Z [ \ \ ] ^ _ ` a b c c d e e f g h i j k k l m n o p q r s t u v w x y z { | } ~                                                              !"#$%&'()*+,,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{||}~ !""""""""""""""""""""""""""######$%%%%&&'''((((((()))) ) ) ) ) ) )))))))))))))))**5+ !+"+#$%&'()*+,-./,0,1,2,3-45678.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L5MNOP<QRSTUVW/X/Y/Z/[/\/]/^/_/`/a/b/c/d0e0f0g0h56i0j0k0l0m0n0o0p0q0:0r0s0t0uvwx0y0z0{0|0}1~111222222223344444444o                                                               !"#$%&'()*+,-./0123456789:;<<=>?@ABCDEFGHIJKLMNOPQRSTURVW7X7Y7Z7[7[7\7]7^7_7`7`7a7a7b7c7d7e7e7f7g7h7i7j7k7lmnhopqristukvlwxyz{|}~l     !!8888"""" "!""""""#"$"%"&"'"(")#*#+#,#,#-#.#/#0$1$2$3$4$4$5$6$7$8$9$:$;$<$=$>$0$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]%^%_%`%a%b%c%d%e%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%0%t%u%v%w%x%X&y&z&0{|})~)))))))))))))))))))))))))))))))))))))))))0)))))))****************** stack-0.1.0.0System.Process.ReadNetwork.HTTP.Download.VerifiedSystem.Process.Log Stack.NewSystem.Process.RunStack.Types.VersionStack.Types.PackageNameStack.Types.DockerStack.Types.FlagNameStack.Types.PackageIdentifierStack.Types.GhcPkgIdStack.Types.BuildPlanStack.Types.ConfigStack.Constants Stack.Package Stack.ExecStack.Build.Types Stack.GhcPkgStack.Build.HaddockStack.Build.Cache Stack.UploadStack.Types.InternalStack.Types.StackTStack.PackageIndex Stack.FetchStack.Docker.GlobalDBStack.BuildPlan Stack.Solver Stack.Init Stack.SetupStack.Build.Source Stack.Repl Stack.IdeStack.PackageDumpStack.Build.InstalledStack.Build.ConstructPlanStack.Build.Execute Stack.BuildOptions.Applicative.Args!Options.Applicative.Builder.Extra Stack.Docker Stack.ConfigData.Set.MonadData.Attoparsec.CombinatorsData.Maybe.ExtraSystem.Process.PagerEditor Paths_stackPath.IO Path.FindData.Binary.VersionTaggedData.Aeson.ExtendedNetwork.HTTP.Download loadConfig Stack.TypesControl.Concurrent.ExecuteData.Attoparsec.ArgsFS removeTreeS ByteStringprocess-1.2.0.0System.Process readProcessVerifiedDownloadException WrongDigestWrongStreamLengthWrongContentLength LengthCheckCheckHexDigestCheckHexDigestHeaderCheckHexDigestByteStringCheckHexDigestString HashCheckhashCheckAlgorithmhashCheckHexDigestDownloadRequest drRequest drHashChecks drLengthCheckverifiedDownload logProcessRunshowProcessArgDebug newProjectReadProcessExceptionExecutableNotFound NoPathFound EnvOverride eoTextMap eoStringListeoPath eoExeCacheeoExeExtension unEnvOverride envSearchPath mkEnvOverride envHelperreadProcessNull readInNulltryProcessStdoutreadProcessStdoutsinkProcessStdout preProcessdoesExecutableExistfindExecutablegetEnvOverriderunIn callProcessCabal-1.22.4.0Distribution.Version VersionRange PackageNamePackageNameParseFailCabalFileNameParseFailpackageNameParser mkPackageNameparsePackageNameparsePackageNameFromStringpackageNameByteStringpackageNameStringpackageNameTextfromCabalPackageNametoCabalPackageNameparsePackageNameFromFilePathDockerMonoidRepoOrImageDockerMonoidImageDockerMonoidRepoMountDockerOptsMonoiddockerMonoidExistsdockerMonoidEnabledockerMonoidRepoOrImagedockerMonoidRegistryLogindockerMonoidRegistryUsernamedockerMonoidRegistryPassworddockerMonoidAutoPulldockerMonoidDetachdockerMonoidPersistdockerMonoidContainerNamedockerMonoidRunArgsdockerMonoidMountdockerMonoidPassHostdockerMonoidDatabasePath DockerOpts dockerEnable dockerImagedockerRegistryLogindockerRegistryUsernamedockerRegistryPassworddockerAutoPull dockerDetach dockerPersistdockerContainerName dockerRunArgs dockerMountdockerPassHostdockerDatabasePathdockerEnableArgNamedockerRepoArgNamedockerImageArgNamedockerRegistryLoginArgNamedockerRegistryUsernameArgNamedockerRegistryPasswordArgNamedockerAutoPullArgNamedockerDetachArgNamedockerRunArgsArgNamedockerMountArgNamedockerContainerNameArgNamedockerPersistArgNamedockerPassHostArgNamedockerDatabasePathArgName$fFromJSONMount $fShowMount $fReadMount$fMonoidDockerOptsMonoid$fFromJSONDockerOptsMonoidFlagNameFlagNameParseFailflagNameParser mkFlagName parseFlagNameparseFlagNameFromStringflagNameString flagNameTextfromCabalFlagNametoCabalFlagName MajorVersionVersionparseMajorVersionFromStringgetMajorVersionfromMajorVersion versionParser parseVersionparseVersionFromString versionString versionTexttoCabalVersionfromCabalVersion mkVersionversionRangeText withinRangePackageIdentifiertoTuple fromTuplepackageIdentifierVersionpackageIdentifierNamepackageIdentifierParserparsePackageIdentifier parsePackageIdentifierFromStringpackageIdentifierStringpackageIdentifierTextGhcPkgId parseGhcPkgIdghcPkgIdParserghcPkgIdStringghcPkgIdPackageIdentifierMiniPackageInfo mpiVersionmpiFlagsmpiPackageDeps mpiToolDepsmpiExes mpiHasLibrary MiniBuildPlan mbpGhcVersion mbpPackages Component CompBenchmark CompTestSuiteCompExecutable CompLibraryDepInfo diComponentsdiRange SimpleDesc sdPackagessdToolssdProvidedExes sdModulesExeName unExeName Maintainer unMaintainer SystemInfo siGhcVersionsiOSsiArchsiCorePackagessiCoreExecutables TestState Don'tBuild ExpectFailure ExpectSuccessPackageConstraintspcVersionRange pcMaintainerpcTests pcHaddockspcBuildBenchmarkspcFlagOverridespcEnableLibProfile PackagePlan ppVersion ppGithubPingsppUsers ppConstraintsppDesc BuildPlan bpSystemInfobpTools bpPackages bpGithubUsersSnapNameNightlyLTSrenderSnapName parseSnapNameProjectAndConfigMonoidConfigExceptionNoMatchingSnapshotBadStackVersionExceptionUnexpectedTarballContentsNoProjectConfigFoundParseResolverExceptionParseConfigFileExceptionVersionRangeJSONunVersionRangeJSON ConfigMonoidconfigMonoidDockerOptsconfigMonoidConnectionCountconfigMonoidHideTHLoadingconfigMonoidLatestSnapshotUrlconfigMonoidPackageIndicesconfigMonoidSystemGHCconfigMonoidInstallGHCconfigMonoidRequireStackVersionconfigMonoidOSconfigMonoidArchconfigMonoidJobsconfigMonoidExtraIncludeDirsconfigMonoidExtraLibDirsHasBuildConfiggetBuildConfig HasConfig getConfig HasPlatform getPlatform HasStackRoot getStackRootResolver ResolverGhcResolverSnapshotProjectprojectPackagesprojectExtraDeps projectFlagsprojectResolverPackageLocationPLGit PLHttpTarball PLFilePath PackageEntrypeExtraDepMaybe peValidWanted peLocation peSubdirsNoBuildConfigStrategy ExecStrategyThrowException LoadConfiglcConfiglcLoadBuildConfig lcProjectRoot HasEnvConfig getEnvConfig EnvConfigenvConfigBuildConfigenvConfigCabalVersionenvConfigGhcVersion BuildConfigbcConfig bcResolverbcGhcVersionExpected bcPackages bcExtraDepsbcRoot bcStackYamlbcFlags EnvSettingsesIncludeLocalsesIncludeGhcPackagePath IndexLocation ILGitHttpILHttpILGit IndexName unIndexName PackageIndex indexName indexLocationindexDownloadPrefixindexGpgVerifyindexRequireHashesConfigconfigStackRoot configDockerconfigEnvOverrideconfigLocalProgramsconfigConnectionCountconfigHideTHLoadingconfigPlatformconfigLatestSnapshotUrlconfigPackageIndicesconfigSystemGHCconfigInstallGHCconfigLocalBinconfigRequireStackVersion configJobsconfigExtraIncludeDirsconfigExtraLibDirs indexNameText peExtraDeprenderResolver parseResolver askConfigaskLatestSnapshotUrlconfigPackageIndexRootconfigPackageIndexCacheconfigPackageIndexconfigPackageIndexGzconfigPackageTarball workDirRelconfigProjectWorkDirconfigInstalledCacheplatformRelDirconfigShakeFilesDirconfigLocalUnpackDir snapshotsDirinstallationRootDepsinstallationRootLocalpackageDatabaseDepspackageDatabaseLocalflagCacheLocalconfigMiniBuildPlanCache bindirSuffix docdirSuffix extraBinDirsgetMinimalEnvOverridepackageEntryCurrDir $fFromJSONProjectAndConfigMonoid$fExceptionConfigException$fShowConfigException$fFromJSONVersionRangeJSON$fFromJSONConfigMonoid$fMonoidConfigMonoid$fHasBuildConfigBuildConfig$fHasConfigBuildConfig$fHasPlatformBuildConfig$fHasStackRootBuildConfig$fHasConfigConfig$fHasPlatformConfig$fHasStackRootConfig$fHasPlatformPlatform$fFromJSONResolver$fToJSONResolver$fToJSONProject$fFromJSONPackageLocation$fToJSONPackageLocation$fFromJSONPackageEntry$fToJSONPackageEntry$fHasEnvConfigEnvConfig$fHasStackRootEnvConfig$fHasPlatformEnvConfig$fHasConfigEnvConfig$fHasBuildConfigEnvConfig$fFromJSONIndexName$fToJSONIndexName$fFromJSONPackageIndexhaskellFileExtsbuiltFileFromDirconfiguredFileFromDirbuiltConfigFileFromDirdefaultShakeThreads userDocsDirbuildCacheFileconfigCacheFileconfigCabalMod hpcDirFromDirdistDirFromDirdistRelativeDir rawGithubUrlprojectDockerSandboxDir stackProgName stackDotYamlstackRootEnvVarwiredInPackagescabalPackageNameimplicitGlobalDirdotHpc CabalFileTypeModulesAllFiles PackageConfigpackageConfigEnableTestspackageConfigEnableBenchmarkspackageConfigFlagspackageConfigGhcVersionpackageConfigPlatformGetPackageFilesgetPackageFilesGetPackageOptsgetPackageOptsPackage packageNamepackageVersion packageFiles packageDeps packageToolspackageAllDeps packageFlagspackageHasLibrary packageTestspackageBenchmarks packageExes packageOptspackageHasExposedModulespackageSimpleTypePackageExceptionMismatchedCabalNamePackageMultipleCabalFilesFoundPackageNoCabalFileFoundPackageInvalidCabalFilepackageIdentifierreadPackageUnresolvedreadPackageUnresolvedBS readPackage readPackageBSreadPackageDirresolvePackage autogenDirpackageDependenciespackageToolDependenciesresolvePackageDescriptiongetCabalFileName buildLogPathdefaultEnvSettingsexec Installed ExecutableLibraryModTimeBaseConfigOpts bcoSnapDB bcoLocalDBbcoSnapInstallRootbcoLocalInstallRoot bcoBuildOptsPlan planTasks planFinalsplanUnregisterLocalplanInstallExesTaskType TTUpstreamTTLocalTaskConfigOpts tcoMissingtcoOptsTask taskProvidestaskTypetaskConfigOpts taskPresent ConfigCacheconfigCacheOptsconfigCacheDepsconfigCacheComponentsconfigCacheHaddock LocalPackage lpPackagelpPackageFinallpWantedlpDir lpCabalFile lpDirtyFiles lpComponentsPackageInstallInfo piiVersion piiLocationInstallLocationLocalSnap FinalAction DoNothing DoBenchmarksDoTests BuildOpts boptsTargetsboptsLibProfileboptsExeProfileboptsEnableOptimizations boptsHaddockboptsHaddockDepsboptsFinalAction boptsDryrunboptsGhcOptions boptsFlagsboptsInstallExes boptsPreFetch boptsTestArgsboptsOnlySnapshot boptsCoverage BadDependencyDependencyMismatchCouldn'tResolveItsDependenciesNotInBuildPlanConstructPlanExceptionUnknownPackageDependencyPlanFailuresDependencyCycleDetectedStackBuildExceptionExecutionFailureCabalExitedUnsuccessfullyConstructPlanExceptionsTestSuiteFailureUnknownTargetsCouldn'tParseTargetsGHCVersionMismatchCouldn'tFindPkgId configureOptswantedLocalPackagesmodTime getGlobalDBcreateDatabase findGhcPkgIdfindGhcPkgHaddockHtmlfindGhcPkgDependsunregisterGhcPkgIdgetCabalPkgVershouldHaddockPackageshouldHaddockDepscopyDepHaddocksgenerateHaddockIndexbuildCacheTimesgetInstalledExesmarkExeInstalledtryGetBuildCachetryGetConfigCachetryGetCabalModwriteBuildCachewriteConfigCache writeCabalMod deleteCachestryGetFlagCachewriteFlagCachegetPackageFileModTimesUploadSettingsUploaderFromFileHackageCredsSource HackageCreds loadCreds saveCreds fromPromptfromFile fromMemory fromAnywhere mkUploaderuploaddefaultUploadSettings setUploadUrl setGetManagersetCredsSource setSaveCreds HasSticky getStickyStickyunSticky HasTerminal getTerminal HasLogLevel getLogLevelEnv envConfig envLogLevel envTerminal envManager envSticky$fHasStickyEnv$fHasTerminalEnv$fHasLogLevelLogLevel$fHasLogLevelEnv$fHasHttpManagerEnv$fHasEnvConfigEnv$fHasBuildConfigEnv$fHasConfigEnv$fHasPlatformEnv$fHasStackRootEnv StackLoggingTStackT runStackTrunStackLoggingT newTLSManager logSticky logStickyDonePackageDownloadpdSHA512pdUrlpdSize PackageCachepcOffsetpcSize pcDownloadupdateAllIndicesgetPackageCachesResolvedPackagerpCacherpIndex fetchPackagesunpackPackagesunpackPackageIdentsresolvePackagesresolvePackagesAllowMissingwithCabalFileswithCabalLoaderDockerImageLastUsedDockerImageProjectIdupdateDockerImageLastUsedgetDockerImagesLastUsedpruneDockerImagesLastUsed SnapshotssnapshotsNightly snapshotsLtsToolMapBuildPlanExceptionUnknownPackagesresolveBuildPlan getToolMap getSnapshotsloadMiniBuildPlan findBuildPlanshadowMiniBuildPlan cabalSolver getGhcVersionsolveExtraDepsInitOptsioMethodfindCabalFiles initProjectinitOptsParser readResolver SetupOptssoptsInstallIfMissingsoptsUseSystem soptsExpectedsoptsStackYamlsoptsForceReinstallsoptsSanityChecksetupEnv ensureGHC PackageSource PSUpstreamPSLocal SourceMap loadSourceMap localFlagsreplideLine DumpPackage dpGhcPkgId dpLibDirs dpLibraries dpDependsdpHaddockInterfaces dpProfiling dpHaddockInstalledCacheEntryinstalledCacheProfilinginstalledCacheHaddockInstalledCache ghcPkgDumpnewInstalledCacheloadInstalledCachesaveInstalledCache pruneDeps sinkMatching addProfiling addHaddockconduitDumpPackage eachSectioneachPairGetInstalledOptsgetInstalledProfilinggetInstalledHaddock InstalledMap getInstalled constructPlanpreFetch printPlan executePlancompareTestsComponentsbuildclean argsArgument argsOptionparseArgsFromString boolFlagsboolFlagsNoDefaultmaybeBoolFlagsenableDisableFlagsenableDisableFlagsNoDefaultextraHelpOption execExtraHelp CleanupAction CleanupDryRunCleanupImmediateCleanupInteractive CleanupOptsdcAction"dcRemoveKnownImagesLastUsedDaysAgo#dcRemoveUnknownImagesCreatedDaysAgo$dcRemoveDanglingImagesCreatedDaysAgo'dcRemoveStoppedContainersCreatedDaysAgo'dcRemoveRunningContainersCreatedDaysAgorerunWithOptionalContainerrerunCmdWithOptionalContainerrerunCmdWithRequiredContainerpreventInContainercleanuppullresetdockerOptsParserdockerOptsFromMonoid dockerCmdNamedockerPullCmdNamedockerCleanupCmdNameconfigOptsParsermapMcontainers-0.5.5.1 Data.Set.BaseSetmapM_filterM sinkCheckHash sinkHashUsinghashChecksToZipSinkVerifyFileException WrongFileSizedisplayByteStringdisplayCheckHexDigestassertLengthSink$fExceptionVerifyFileException$$fExceptionVerifiedDownloadException$fShowVerifiedDownloadException$fIsStringCheckHexDigest appending alternatingpured concating mapMaybeMbase Data.MaybemapMaybefilesEditorExceptionPagerException pageWriterpageByteString pageBuilderpageFile pageStringeditFileeditReaderWritereditByteString editStringorElseEditorExitFailureEditorNotFoundPagerExitFailure PagerNotFound$fExceptionEditorException$fShowEditorException$fExceptionPagerException$fShowPagerException System.ExitexitWithbytestring-0.10.4.0Data.ByteString.Internalstreaming-commons-0.1.12.1Data.Streaming.ProcessProcessExitedUnsuccessfullysinkProcessStderrStdout makeAbsolute$fExceptionReadProcessException$fShowReadProcessExceptioncatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName getWorkingDir resolveDir resolveFileresolveDirMaybeNothingresolveFileMaybe listDirectoryremoveFileIfExistsrenameFileIfExistsrenameDirIfExists createTreemoveFileIfExistsmoveDirIfExistsremoveTreeIfExists fileExists dirExistscopyDirectoryRecursivedirectory-1.2.1.0System.DirectorycopyFileResolveExceptionResolveFileFailedResolveDirFailed$fShowResolveException$fExceptionResolveException findFileUp findDirUp findPathUp findFiles BinarySchemataggedEncodeFiletaggedDecodeOrLoadWithTag binarySchemamagic$fBinaryWithTag.:.:? aeson-0.8.0.2Data.Aeson.Types.InternalStringObjectNumberNullBoolArrayValueSuccessErrorResultfromDotNetTime DotNetTimeData.Aeson.Types.ClasstoJSONToJSONgToJSONGToJSON gParseJSON GFromJSON parseJSONFromJSONobjectData.Aeson.Types.InstanceswithTextwithScientific withObject withNumberwithBool withArrayfromJSON.=.!= genericToJSONgenericParseJSONData.Aeson.Parser.Internaljson'jsonData.Aeson.Encode.ByteStringencode Data.AesoneitherDecodeStrict'eitherDecodeStrict eitherDecode' eitherDecode decodeStrict' decodeStrictdecode'decodedownload redownloadghc-prim GHC.TypesTrueFalse downloadJSONliftHTTPhttp-client-0.4.12Network.HTTP.Client.TypesManagerDownloadExceptionRedownloadFailedDownloadJSONException$fExceptionDownloadException mtl-2.1.3.1Control.Monad.Reader.Classask MonadReaderhttp-conduit-2.1.5Network.HTTP.Client.ConduitgetHttpManagerHasHttpManagerNetwork.HTTP.Client.RequestparseUrl $fFromJSONMap $fToJSONMap$fFromJSONPackageName$fToJSONPackageName$fShowPackageName$fLiftPackageName$fShowPackageNameParseFail$fExceptionPackageNameParseFail$fFromJSONFlagName$fShowFlagName$fLiftFlagName$fShowFlagNameParseFail$fExceptionFlagNameParseFailVersionParseFail unVersionNotAMajorVersion$fFromJSONVersion$fToJSONVersion $fShowVersion $fLiftVersion$fHashableVersion$fFromJSONMajorVersion$fToJSONMajorVersion$fShowMajorVersion$fShowVersionParseFail$fExceptionVersionParseFailPackageIdentifierParseFail$fFromJSONPackageIdentifier$fToJSONPackageIdentifier$fShowPackageIdentifier$fBinaryPackageIdentifier$fHashablePackageIdentifier$fNFDataPackageIdentifier%$fExceptionPackageIdentifierParseFail $fShowPackageIdentifierParseFailGhcPkgIdParseFail$fToJSONGhcPkgId$fFromJSONGhcPkgId$fShowGhcPkgId$fBinaryGhcPkgId$fHashableGhcPkgId$fExceptionGhcPkgIdParseFail$fShowGhcPkgIdParseFailBuildPlanTypesExceptionParseFailedExceptionParseSnapNameExceptiondisplay simpleParsetestStateToText compToText$fBinaryMiniPackageInfo$fBinarySchemaMiniBuildPlan$fBinaryMiniBuildPlan$fFromJSONComponent$fToJSONComponent$fFromJSONDepInfo$fToJSONDepInfo$fMonoidDepInfo$fFromJSONSimpleDesc$fToJSONSimpleDesc$fMonoidSimpleDesc$fFromJSONExeName$fToJSONExeName$fBinaryExeName$fFromJSONSystemInfo$fToJSONSystemInfo$fFromJSONTestState$fToJSONTestState$fFromJSONPackageConstraints$fToJSONPackageConstraints$fShowBuildPlanTypesException"$fExceptionBuildPlanTypesException$fFromJSONPackagePlan$fToJSONPackagePlan$fFromJSONBuildPlan$fToJSONBuildPlanbuiltConfigRelativeFilegeneratePkgDescOptsgenerateBuildInfoOptspackageDescTools allBuildInfo'packageDescFilesresolveGlobFilesmatchDirFileGlob_benchmarkFiles testFilesexecutableFiles libraryFiles buildFilesflagMapmkResolveConditionsresolveConditionsdepNamedepRange resolveFilesexceptions-0.8.0.2Control.Monad.CatchthrowMresolveFileOrWarnresolveDirOrWarn $fEqPackage $fOrdPackageResolveConditionsrcFlags rcGhcVersionrcOSrcArch$fShowGetPackageFiles$fShowGetPackageOpts$fShowPackageException$fExceptionPackageException PkgDepsOraclePkgDeps$fBinaryModTime$fShowTaskConfigOpts$fBinaryConfigCache$fMonoidInstallLocation$fShowConstructPlanException$fExceptionStackBuildException$fShowStackBuildExceptionghcPkgpackageDbFlagsfindGhcPkgFieldhaddockIndexFile BuildCacheexeInstalledDir tryGetCache writeCache flagCacheFile$fBinaryBuildCache acRemainingExecuteExceptionInconsistentDependencies ExecuteState esActions esExceptions esInAction esCompleted ActionContextActionactionId actionDepsactionDoActionId ActionTypeATFinalATBuild runActions runActions'$fShowExecuteException$fExceptionExecuteExceptionpromptPassword withTarball usUploadUrl usGetManager usCredsSource usSaveCredsupload_HackageCredsExceptionsCouldn'tParseJSONgetCreds hcUsername hcPassword credsFile printBodyhandleIO!$fExceptionHackageCredsExceptions$fFromJSONHackageCreds$fToJSONHackageCreds loggerFunc withSticky$fMonadLoggerStackLoggingT$fMonadLoggerStackTunStackLoggingTunStackTstickyLoggerFunc$fHasHttpManager(,,)$fHasLogLevel(,,)$fHasSticky(,,) $fMonadTransControlStackLoggingT $fMonadBaseControlbStackLoggingT$fMonadTransControlStackT$fMonadBaseControlbStackT populateCache requireIndex updateIndexupdateIndexGitupdateIndexHTTPisGitInstalled deleteCacheentrySizeInBlocksPackageIndexExceptionMissingRequiredHashesGitNotAvailablePackageCacheMap$fFromJSONPackageDownload$fBinaryPackageDownload$fShowPackageIndexException $fExceptionPackageIndexException$fBinarySchemaPackageCacheMap$fBinaryPackageCachetfCabal getToFetchfetchPackages' ToFetchResult tfrToFetchtfrAlreadyUnpackedToFetch tfTarball tfDestDirtfUrltfSizetfSHA512FetchExceptionUnknownPackageIdentifiersUnknownPackageNamesCouldNotParsePackageSelectorsUnpackDirectoryAlreadyExistsCouldn'tReadPackageTarballCouldn'tReadIndexTarballparMapM_$fShowFetchException$fExceptionFetchException withGlobalDBDockerImageProjectdockerImageProjectImageHashdockerImageProjectProjectPathdockerImageProjectLastUsedTimeDockerImageProjectPathKeyDockerImageProjectKeyunDockerImageProjectKeyDockerImageProjectLastUsedTimeDockerImageProjectProjectPathDockerImageProjectImageHash migrateTables-TFCo:R:PersistEntityBackendDockerImageProject rsVisitedaddDepsgetDepsbuildPlanFixes loadBuildPlancheckBuildPlan checkDepsDistribution.PackageDescriptionGenericPackageDescriptionDepError deVersion deNeededBy DepErrors ResolveState rsUnknown rsShadowed rsToInstallrsUsedBytoMiniBuildPlandisplayDepErrors$fMonoidDepError$fFromJSONSnapshots$fShowBuildPlanException$fExceptionBuildPlanExceptiongetGhcMajorVersiongetCabalConfigMethod ignoredDirsgetDefaultResolvernubOrd MethodSolverMethodResolverMethodSnapshotSnapPref PrefNightlyPrefLTSPrefNone getSnapshots'getRecommendedSnapshots augmentPath getSystemGHC getSetupInfobinDirssetup7z sanityCheck ArchiveTypeSevenZTarXzTarBz2 SetupInfo siSevenzExe siSevenzDll siPortableGitsiGHCs DownloadPairSetupExceptionGHCSanityCheckCompileFailed UnknownOSKeyUnknownGHCVersionMissingDependenciesUnsupportedSetupCombostripTrailingSlashT markInstalledunmarkInstalled listInstalled installDir ensureToolgetOSKey downloadPairinstallGHCPosixinstallGHCWindowsinstallGitWindowschattyDownloadchunksOverTime$fFromJSONSetupInfo$fFromJSONDownloadPair$fShowSetupException$fExceptionSetupException loadLocalsextendExtraDeps TargetSpecTSDirTSIdentTSNamepartitionTargetSpecs!$fPackageInstallInfoPackageSourceinitialRequest EscapingMode argsParser NoEscapingEscaping takeWhileCPackageDumpExceptionCouldn'tParseField MismatchedIdMissingSingleFieldInstalledCacheInner isProfiling stripPrefixBS stripSuffixBS$fShowPackageDumpException$fExceptionPackageDumpException$fBinaryInstalledCacheEntry!$fBinarySchemaInstalledCacheInner loadDatabase isAllowed LoadHelperlhIdlhDepslhPairMmkUnregisterLocalpackageDepsWithTools stripLocalsCtxmbpbaseConfigOpts loadPackage combinedMaptoolToPackages ctxEnvConfig callStack extraToBuildlatestVersionswanted AddDepResADRFound ADRToInstall CombinedMap PackageInfoPIBoth PIOnlySourcePIOnlyInstalledcombineSourceInstalled combineMapaddFinaladdDepaddDep'addDep''tellExecutablestellExecutablesUpstreamtellExecutablesPackageinstallPackagecheckNeedInstalladdPackageDepscheckDirtinessdescribeConfigDiffpsDirtypsWanted psPackage taskLocation$fHasEnvConfigCtx$fHasBuildConfigCtx$fHasConfigCtx$fHasPlatformCtx$fHasStackRootCtx displayTaskwindowsRenameCopy executePlan' ensureConfiggenerateHpcReportprintBuildOutput getSetupHs ExecuteEnv eeEnvOverrideeeConfigureLock eeInstallLock eeBuildOptseeBaseConfigOpts eeGhcPkgIds eeTempDir eeSetupHs eeCabalPkgVer eeTotalWantedeeWantedeeLocals eeSourceMap eeGlobalDB toActionswithSingleContext singleBuild singleTest singleBenchmkBaseConfigOptswithLoadPackageoptparse-applicative-0.11.0.2Options.Applicative.Builder abortOptionStackDockerExceptionInvalidDatabasePathExceptionDockerNotInstalledException#CannotDetermineProjectRootExceptionResolverNotSupportedExceptionContainerStackTooOldExceptionHostStackTooOldExceptionInvalidVersionOutputException DockerVersionProhibitedExceptionDockerTooOldExceptionPullFailedExceptionInvalidInspectOutputExceptionInvalidPSOutputExceptionInvalidImagesOutputExceptionInvalidCleanupCommandExceptionNotPulledExceptionInspectFailedExceptionOnlyOnHostExceptionDockerMustBeEnabledException ImageConfigInspectgetInContainerrunContainerAndExitinspectinspects pullImagecheckDockerVersionexecProcessAndExitremoveDirectoryContentsreadDockerProcesssandboxedHomeSubdirectories homeDirName decodeUtf8concatTfromMaybeProjectRootsandboxIDEnvVarinContainerEnvVar$fShowStackDockerException$fExceptionStackDockerException$fFromJSONImageConfig$fFromJSONInspecticEnviiConfig iiCreatediiId iiVirtualSizegetLatestResolverdefaultStackGlobalConfiggetWindowsProgsDirloadBuildConfigresolvePackageEntryresolvePackageLocationdetermineStackRootgetExtraConfigsloadYamlgetProjectConfigloadProjectConfig MiniConfigconfigFromConfigMonoid$fHasPlatformMiniConfig$fHasHttpManagerMiniConfig$fHasStackRootMiniConfig$fHasConfigMiniConfig