!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                               ! " # $ % & ' ( ) * + , - . / 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 VWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !None&'-0136<FKNQTV8V 'Persist a repo to a configuration file. FLoad a repository from a configuration file that has been written by writeRepositoryToB9Config.      None&'-0136<FKNQTV9 !"'(#$%&)*+,-.//!"#$%&'()*+,-.  !"#$%&'()*+,-.None&'-0136<FKNQTV;z33None&'-0136<FKNQTVThe exact time that build job startedG. This is a wrapper around a string contains the build date of a B6; this is purely additional convenience and typesafety@AThe name of the image is the de-facto identifier for push, pull, d and ft. B9 always selects the newest version the shared image identified by that name when using a shared image as an `9. This is a wrapper around a string that identifies a BBB) holds all data necessary to describe an instance' of a shared image identified by a @". Shared images are stored in  s.D3A type alias that indicates that something of type a is mount at a jEHow to resize an image file.FResize the image but not the file system. Note that a file system contained in the image file might be corrupted by this operation. To not only resize the image file but also the fil system contained in it, use G.G.Resize an image and the contained file system.HkResize an image and the contained file system to the smallest size to fit the contents of the file system.IDo not change the image size.JEnumeration of size multipliers. The exact semantics may vary depending on what external tools look at these. E.g. the size unit is convert to a size parameter of the qemu-img command line tool.OCA data type for image file or file system size; instead of passing 5s around this also captures a size unit so that the  can be kept smallQ-The file systems that b9 can use and convert.W!An image type defines the actual  file format4 of a file containing file systems. These are like virtual harddrives[[A vm disk image file consisting of a path to the image file, and the type and file system.]The partition to extract.^(There is no partition table on the image_Extract partition n n must be in 0..3`4Specification of how the image to build is obtained.acCreate an empty image file having a file system label (first parameter), a file system type (e.g. S ) and an Ob DEPRECATEDcClone an existing image file; if the image file contains partitions, select the partition to use, b9 will extract that partition by reading the offset of the partition from the partition table and extract it using dd.d&Use an image previously shared by via f.eThe destination of an image.fJCreate the image and some meta data so that other builds can use them as `s via d.g DEPRECATED1 Export a raw image that can directly be booted.hNWrite an image file to the path in the first argument., possible resizing it,iDo not export the image. Usefule if the main objective of the b9 build is not an image file, but rather some artifact produced by executing by a containerize build.jA mount point or lmBuild target for disk images; the destination, format and size of the image to generate, as well as how to create or obtain the image before a  !) is executed with the image mounted at a j.o#Get the String representation of a @.p#Get the String representation of a <.q0Return the name of the file corresponding to an [r Return the W of an [s!Return the files generated for a h or a g; B and iW are treated like they have no ouput files because the output files are manged by B9.t*Return the name of a shared image, if the e is a f destinationu1Return the name of a shared source image, if the ` is a d sourcevGet the e of an mwGet the ` of an mxGet the j of an myReturn true if a ]@ parameter is actually refering to a partition, false if it is ^z Return the ]- index or throw a runtime error if aplied to ^{NReturn the file name extension of an image file with a specific image format.|sChange the image file format and also rename the image file name to have the appropriate file name extension. See { and "Return the name of a shared image."Return the date of a shared image.&Return the build id of a shared image.2Print the contents of the shared image in one line'Return the disk image of an sharedImage;Calculate the path to the text file holding the serialized B= relative to the directory of shared images in a repository.AThe internal image type to use as best guess when dealing with a d value.Use a Y image with an S file systemUse a shared imageUse a shared imageShare a Y image with S fs&Share an image based on a shared imageShare a Y image with S fs Export a Y image with S fs Export a Y image file with S fs as a local file Export a Y image file with S fs as a local fileQCreate a local image file from the contents of the first partition of a local Y image.Split any image target into two image targets, one for creating an intermediate shared image and one from the intermediate shared image to the output image.9Shared images are orderd by name, build date and build idX<=>?@ABCDEIHGFJNMLKOPQVUTSRWZYX[\]^_`cbadeihgfjlkmnopqrstuvwxyz{|}~mnjklefghi`abcd]^_[\WXYZQRSTUVOPJKLMNEFGHIDBC@Ao>?<=pqrstuvwxyz{|}~<=>?@ABCEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnNone&'-0136<FKNQTV !"#$%&'()*+,-./)*+,-. !"#$/%&'( !"#$%&'()*+,-.None&'-0136<FKNQTV_&Simplified Erlang term representation.hParse a subset of valid Erlang terms. It parses no maps and binaries are restricted to either empty binaries or binaries with a string. The input encoding must be restricted to ascii compatible 8-bit characters (e.g. latin-1 or UTF8).iQConvert an abstract Erlang term to a pretty byte string preserving the encoding._`abcdefghijklmnohi_`abcdefgjklmno_`abcdefgNone&'-0136<FKNQTV Convert script! to bash-shell-script written to file and make file executable.)Check if a script has the same effect as z{|}~}~z{| z{|}~!" None&'-0136<FKNQTVGet all files from dir' that is get ONLY files not directories<#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI None&'-0136<FKNQTV0Initialize the local repository cache directory.=Check for existance of priv-key and make it an absolute path.Initialize the repository; load the corresponding settings from the config file, check that the priv key exists and create the correspondig cache directory.Empty the repository; load the corresponding settings from the config file, check that the priv key exists and create the correspondig cache directory.SReturn the cache directory for a remote repository relative to the root cache dir.&Return the local repository directory.Select the first  with a given repoId.The repository cache directoryId of the repository3The existing, absolute path to the cache directoryThe repository cache directory.The existing, absolute path to the directory  None&'-0136<FKNQTVA wrapper around a file path and a flag indicating if template variable expansion should be performed when reading the file contents. None&'-0136<FKNQTVkDescribe a virtual machine, i.e. a set up disk images to create and a shell script to put things together. None&'-0136<FKNQTVyAvailable linux capabilities for lxc containers. This maps directly to the capabilities defined in 'man 7 capabilities'.3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ3POQFGHIJKLMN !"#$%&'()*+,-./0123456789:;<=>?@ABCDE& !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNNone&'-0136<FKNQTVǂVOverride b9 configuration items and/or the path of the b9 configuration file. This is useful, i.e. when dealing with command line parameters..Open the configuration file that contains the Zr. If the configuration does not exist, write a default configuration file, and create a all missing directories.Write the configuration in the A< to either the user supplied configuration file path or to +. Create all missing (parent) directories.Parse a Z,, modify it, and merge it back to the given A.%Append a config file section for the Z to a A.If environment variables arg_1 .. arg_n are bound and a list of kF additional values are passed to this function, store them with keys arg_(n+1) .. arg_(n+k).u  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQVWXYZ[\]^_`abcdefghijklmnopq}~5Z[\]^_`abcdefgh}~VWXYijklmnopqVWXYZ[\]^_`abcdefghijklmnopNone&'-0136<FKNQTV JInternal state of the pA monad encapsulating all configuration adaptions happening before any actual build actions are performed. Use & to execute these things. Inside the d monad you can influence and inspect the b9 configuration, the permanent, as well as the transient.Run a P. If the user has no B9 config file yet, a default config file will be created.Run a W and ignore the results of the invokation monad and instead return the results of the K. See: BAdd an action to be executed once the configuration has been done."Override the B9 configuration pathSOverride the current working directory during execution of the actions added with .Modify the current ZA. The modifications are not reflected in the config file or the A returned by askInvokationConfigParser.Modify the current ZA. The modifications are not reflected in the config file or the A returned by askInvokationConfigParser.JLMNOKPQNone&'-0136<FKNQTV@RSTUVW XYZ[\]^_`abNone&'-0136<FKNQTV CExpress a pattern for file paths, used when searching repositories. Convert a  down to a mere Find files which are in subDir and match globx in the repository cache. NOTE: This operates on the repository cache, but does not enforce a repository cache update.1Push a file from the cache to a remote repository-Pull a file from a remote repository to cache1Push a file from the cache to a remote repositoryc<A predicate that is satisfied if a file path matches a glob.dSA shell command string for invoking rsync to push a path to a remote host via ssh.eUA shell command string for invoking rsync to create the directories for a file push.  None&'-0136<FKNQTVB6 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQfgNone&'-0136<FKNQTV !Replace $... variables inside an mResolve an ImageSource to an [G. Note however that this source will may not exist as is the case for a.2Return all valid image types sorted by preference.Create an image from an image source. The destination image must have a compatible image type and filesystem. The directory of the image MUST be present and the image file itself MUST NOT alredy exist.<Resize an image, including the file system inside the image.gImport a disk image from some external source into the build directory if necessary convert the image.MExport a disk image from the build directory; if necessary convert the image.MExport a disk image from the build directory; if necessary convert the image.SConvert an image in the build directory to another format and return the new image.hConvertCopy Move images[Publish an sharedImage made from an image and image meta data to the configured repositoryi Return a BH with the current build data and build id from the name and disk image.jCConvert the disk image and serialize the base image data structure.kPublish the latest version of a shared image identified by name to the selected repository from the cache.kDUpload a shared image from the cache to a selected remote repository1Pull metadata files from all remote repositories.xPull the latest version of an image, either from the selected remote repo or from the repo that has the latest version.l Return the [/ of the latest version of a shared image named name from the local cache.m2Return the latest version of a shared image named name from the local cache.DReturn a list of all existing sharedImages from cached repositories.Find shared images and the associated repos from two predicates. The result is the concatenated result of the sorted shared images satisfying imgPred.@Return either all remote repos or just the single selected repo.XReturn the path to the sub directory in the cache that contains files of shared images.None&'-0136<FKNQTVTypes of values that can be rendered into a  ByteStringCTypes of values that describe content, that can be created from an .Describe how to create structured content that has a tree-like syntactic structure, e.g. yaml, JSON and erlang-proplists. The first parameter defines a context into which the g is embeded, e.g. B9.Content.Generator.Content'. The second parameter defines a specifix syntax, e.g "# that the  value generates.+Create an object similar to a Json object. An array.OMerge the nested elements, this is a very powerful tool that allows to combine"Types of values that can be parsed rendered fromto  ByteString(s. This class is used as basis for the  class.+An arbitrary string for error messages thatThe raw input to parseNone&'-0136<FKNQTVA wrapper type around yaml values with a Semigroup instance useful for combining yaml documents describing system configuration like e.g. user-data.None&'-0136<FKNQTV%A wrapper type around erlang terms with a Semigroup instance useful for combining sys.config files with OTP-application configurations in a list of the form of a proplist.None&'-0136<FKNQTV None&'-0136<FKNQTVa$The output of an 0f is either a set of generated files, or it might be a directory that contains the artifacts sources...A type representing the targets assembled by $ from an 0. There is a list of +s because e.g. a single 1R can produce upto three output files, a directory, an ISO image and a VFAT image.0 Define an output) of a build. Assemblies are nested into <-s. They contain all the files defined by the = they are nested into.1 Generate a  cloud-initI compatible directory, ISO- or VFAT image, as specified by the list of 'Es. Every item will use the second argument to create an appropriate  file name, e.g. for the ( type the output is second_param.iso.2Ja set of VM-images that were created by executing a build script on them.3Identify an artifact.  Deprecated: TODO: B9 does not check if all instances IDs are unique.5oDescribe how input files for artifacts to build are obtained. The general structure of each constructor is FromXXX  destination source6Copy a - potentially replacing variabled defined in >-like parent elements.7Create a file from some 8 Set the unix file permissions/ to all files generated by the nested list of 5s.9XAssume a local directory as starting point for all relative source files in the nested 5s.:GSpecify an output directory for all the files generated by the nested 5s; Deprecated0 Concatenate the files generated by the nested 5Ks. The nested, generated files are not written when they are concatenated.<Artifacts represent the things B9 can build. A generator specifies howto generate parameterized, multiple artifacts. The general structure is:  Let [ ... bindings ... ] [ Sources [ ... list all input files ... ] [ Artifact ... , Artifact ... , Let [ ... ] [ ... ] ] ] The reasons why = takes a list of < s is that 4this makes the value easier to read/write for humansKthe sources are static files used in all children (e.g. company logo image)the sources are parameterized by variables that bound to different values for each artifact, e.g. a template network config file which contains the host IP address.To bind such variables use >, @, ? or A.1String subtitution of these variables is done by B9.Content.StringTemplate1. These variables can be used as value in nested >;s, in most file names/paths and in source files added with =Add sources available to 0!s in nested artifact generators.><Bind variables, variables are avaible in nested generators.?A >h where each variable is assigned to each value; the nested generator is executed for each permutation. 7 LetX [("x", ["1","2","3"]), ("y", ["a","b"])] [..]  Is equal to:  Let [] [ Let [("x", "1"), ("y", "a")] [..] Let [("x", "1"), ("y", "b")] [..] Let [("x", "2"), ("y", "a")] [..] Let [("x", "2"), ("y", "b")] [..] Let [("x", "3"), ("y", "a")] [..] Let [("x", "3"), ("y", "b")] [..] ] @Bind each variable to their first value, then each variable to the second value, etc ... and execute the nested generator in every step. ?1 represents a product of all variables, whereas @* represents a sum of variable bindings - @ is more like a zip whereas ?# is more like a list comprehension.AThe transposed verison of @: Bind the variables in the first list to each a set of values from the second argument; execute the nested generators for each bindingB$Generate an artifact defined by an 06; the assembly can access the files created from the = and variables bound by >|ish elements. An artifact has an instance id, that is a unique, human readable string describing the artifact to assemble.D(Return all source files generated by an 5.E)The variable containing the instance id.  DeprecatedFThe variable containing the buildId that identifies each execution of B9. For more info about variable substitution in source files see "%GThe variable containing the date and time a build was started. For more info about variable substitution in source files see "%H7Return the files that the artifact assembly consist of.%$%&'()*+,-./0123456789:;<@=>?ABCDEFGH%<=>?@ABC56789:;34+,-'()*012./$%&EFGHD$%&'()*+,-./0123456789:;<=>?@ABCNone&'-0136<FKNQTVcNone&'-0136;<=FKNQTVdPrint the DSL to IO## nopqrstuvwxyz{|}~None&'-0136<FKNQTVr WInternal data type simplifying the rather complex source generation by bioling down 5s to a flat list of uniform s.'Monad for creating Instance generators.(Return a list of relative paths for the local@ files to be generated by the ArtifactGenerator. This excludes Shared and Transient image targets.3Run an artifact generator to produce the artifacts. Evaluate an <E into a list of low-level build instructions that can be built with .&Parse an artifacto generator inside a  monad. Execute a 3 action in an environment that contains a list of 5s.GReturn the (internal-)output file of the source file that is generated.MCreate the actual target, either just a mountpoint, or an ISO or VFAT image.00None&'-0136<FKNQTVu] #$%&'()*+,-./0123456789:;<=>?@ABCDEFG 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_^`dabcefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./_`abcdefghijklmnoz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQVWXYZ[\]^_`abcdefghijklmnopq}~$%&'()*+,-./0123456789:;<@=>?ABCDEFGH&None&'-0136<FKNQTV~eNone&'-0136<FKNQTVM#A data structure that contains the  as well as build parameters.3Return the cabal package version of the B9 library.EReturn the cabal package version of the B9 library, formatted using .Run a b9 build. Return  if the build was successful.#$%&'()*+,-./0123456789:;<=>?@ABCDEFG      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_^`dabcefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./_`abcdefghijklmnoz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQVWXYZ[\]^_`abcdefghijklmnopq}~$%&'()*+,-./0123456789:;<@=>?ABCDEFGH          None&'-0136<FKNQTV5 Convert a  action into a Shake .'An action that does the equivalent of  b9c build -f  b9file; -- (args !! 0) (args !! 1) ... (args !! (length args - 1))0 with the current working directory changed to b9Root.None&'-0136<FKNQTVIn order to use  and G you need to call this action before using any of the afore mentioned.&Add a dependency to the creation of a BI. The build action for the shared image must have been supplied by e.g. . NOTE: You must call  before this action works.^Specify an arbitrary action that is supposed to build the given shared image identified by a @. NOTE: You must call  before this action works.'None&'-0136<FKNQTV(())**++,,-./0123456789:;<=>??@ABCCDEFGHIJJKLMNOPQROSTUVWXYZ[[\\]]^^_`abcdefghijjklmnopqrstuuvwvxyz{|}~O      !"#$%&'()*+,-.//012344567889:;;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                  ! !   ! " # $ % & ' ( ) * + , - . / 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 P Q R S T U V W X Y Z [ \ ] ^__`abbcdefghijklmnopqrstuvwxyz{|}~ ##      !"#$%&'()*+,-.//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~l$      !"#$%&'()*+,-./0123435363738393:3;3<3=3>3>3?3@3A3B3C D DEFGHIJKLMNOPPQRSTUVWXYZ[\]^^_`abcdefghijklmnopqBrst1uv;;wwx>yz{|}~&&&&&&&&        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsrtrurvrwrxryrzr{|}~ b9-0.5.42-CZn9BCiYydpAor3hFNFW7NB9.B9Config.RepositoryB9.MBRB9.PartitionTable B9.QCUtil B9.DiskImages B9.ExecEnvB9.Content.ErlTermsB9.ShellScriptData.ConfigFile.B9Extras B9.RepositoryB9.Content.StringTemplateB9.VmB9.B9Config.LibVirtLXC B9.B9Config B9.Invokation B9.B9MonadB9.RepositoryIO B9.LibVirtLXCB9.DiskImageBuilderB9.Content.ASTB9.Content.YamlObjectB9.Content.ErlangPropListB9.Content.GeneratorB9.ArtifactGenerator B9.VmBuilderB9.DSLB9.ArtifactGeneratorImpl B9.BuilderB9B9.Shake.ActionsB9.Shake.SharedImageRules RepositoryVmScript B9.ContentErlangPropListassembleStringTemplatePaths_b9B9.Shake SshRemoteUser SshRemoteHost SshPrivKey RemoteRepo RepoCacheremoteRepoRepoIdremoteRepoToConfigParserparseRemoteRepos$fReadRepoCache$fShowRepoCache$fDataRepoCache$fReadSshPrivKey$fShowSshPrivKey$fDataSshPrivKey$fReadSshRemoteHost$fShowSshRemoteHost$fDataSshRemoteHost$fReadSshRemoteUser$fShowSshRemoteUser$fDataSshRemoteUser$fReadRemoteRepo$fShowRemoteRepo$fDataRemoteRepoCHSchsH chs_CUpper2_S chs_CLower8PrimaryPartitionprimPartStatusprimPartChsStartprimPartPartTypeprimPartChsEndprimPartLbaStartprimPartSectorsMBRmbrPart1mbrPart2mbrPart3mbrPart4 getPartition $fShowCHS$fShowPrimaryPartition $fShowMBR arbitraryEnvhalfSizesmallerarbitraryFilePatharbitraryLetterarbitraryLetterUpperarbitraryLetterLowerarbitraryDigitSharedImageBuildIdSharedImageDateSharedImageName SharedImageMounted ImageResize ResizeImageResizeShrinkToMinimumKeepSizeSizeUnitBKBMBGB ImageSize FileSystem NoFileSystemExt4Ext4_64ISO9660VFAT ImageTypeRawQCow2VmdkImage PartitionNoPT ImageSource EmptyImage CopyOnWrite SourceImageFromImageDestinationShareLiveInstallerImage LocalFile Transient MountPoint NotMounted ImageTargetfromSharedImageNamefromSharedImageBuildId imageFileNameimageImageTypegetImageDestinationOutputFilesimageDestinationSharedImageNameimageSourceSharedImageNameitImageDestination itImageSourceitImageMountPoint isPartitionedimageFileExtensionchangeImageFormatchangeImageDirectorygetImageSourceImageTypesiNamesiDate siBuildIdprettyPrintSharedImagessharedImageImagesharedImageFileNamesharedImagesRootDirectorysharedImageFileExtensionsharedImageDefaultImageTypetransientCOWImagetransientSharedImagetransientLocalImage shareCOWImageshareSharedImageshareLocalImagecowToliveInstallerImagecowToLocalImagelocalToLocalImagepartition1ToLocalImagesplitToIntermediateSharedImagearbitrarySharedImageName$fArbitraryMountPoint$fNFDataMountPoint$fBinaryMountPoint$fHashableMountPoint$fArbitraryPartition$fNFDataPartition$fBinaryPartition$fHashablePartition$fArbitraryImageType$fNFDataImageType$fBinaryImageType$fHashableImageType$fArbitraryFileSystem$fNFDataFileSystem$fBinaryFileSystem$fHashableFileSystem$fArbitraryImage $fNFDataImage $fBinaryImage$fHashableImage$fArbitrarySizeUnit$fNFDataSizeUnit$fBinarySizeUnit$fHashableSizeUnit$fArbitraryImageSize$fNFDataImageSize$fBinaryImageSize$fHashableImageSize$fArbitraryImageResize$fNFDataImageResize$fBinaryImageResize$fHashableImageResize$fArbitraryImageSource$fNFDataImageSource$fBinaryImageSource$fHashableImageSource$fArbitraryImageDestination$fNFDataImageDestination$fBinaryImageDestination$fHashableImageDestination$fArbitraryImageTarget$fNFDataImageTarget$fBinaryImageTarget$fHashableImageTarget$fArbitrarySharedImageName$fOrdSharedImage$fNFDataSharedImage$fBinarySharedImage$fHashableSharedImage$fShowMountPoint$fReadMountPoint$fDataMountPoint$fEqMountPoint$fGenericMountPoint $fEqPartition$fShowPartition$fReadPartition$fDataPartition$fGenericPartition $fEqImageType$fReadImageType$fDataImageType$fShowImageType$fGenericImageType$fEqFileSystem$fShowFileSystem$fReadFileSystem$fDataFileSystem$fGenericFileSystem $fEqImage $fShowImage $fReadImage $fDataImage$fGenericImage $fEqSizeUnit$fShowSizeUnit$fReadSizeUnit $fOrdSizeUnit$fDataSizeUnit$fGenericSizeUnit $fEqImageSize$fShowImageSize$fReadImageSize$fDataImageSize$fGenericImageSize$fEqImageResize$fShowImageResize$fReadImageResize$fDataImageResize$fGenericImageResize$fShowImageSource$fReadImageSource$fDataImageSource$fEqImageSource$fGenericImageSource$fReadImageDestination$fShowImageDestination$fDataImageDestination$fEqImageDestination$fGenericImageDestination$fReadImageTarget$fShowImageTarget$fDataImageTarget$fEqImageTarget$fGenericImageTarget$fEqSharedImageName$fOrdSharedImageName$fReadSharedImageName$fShowSharedImageName$fDataSharedImageName$fHashableSharedImageName$fBinarySharedImageName$fNFDataSharedImageName$fEqSharedImageDate$fOrdSharedImageDate$fReadSharedImageDate$fShowSharedImageDate$fDataSharedImageDate$fHashableSharedImageDate$fBinarySharedImageDate$fNFDataSharedImageDate$fEqSharedImageBuildId$fOrdSharedImageBuildId$fReadSharedImageBuildId$fShowSharedImageBuildId$fDataSharedImageBuildId$fHashableSharedImageBuildId$fBinarySharedImageBuildId$fNFDataSharedImageBuildId$fEqSharedImage$fReadSharedImage$fShowSharedImage$fDataSharedImage$fGenericSharedImageRamSizeAutomaticRamSizeCPUArchX86_64I386 Resources maxMemorycpuCountcpuArchSharedDirectorySharedDirectoryRO SharedSourcesExecEnvenvNameenvImageMountsenvSharedDirectories envResources noResources$fNFDataSharedDirectory$fBinarySharedDirectory$fHashableSharedDirectory$fMonoidCPUArch$fSemigroupCPUArch$fNFDataCPUArch$fBinaryCPUArch$fHashableCPUArch$fMonoidRamSize$fSemigroupRamSize$fNFDataRamSize$fBinaryRamSize$fHashableRamSize$fMonoidResources$fSemigroupResources$fNFDataResources$fBinaryResources$fHashableResources$fNFDataExecEnv$fBinaryExecEnv$fHashableExecEnv$fReadSharedDirectory$fShowSharedDirectory$fDataSharedDirectory$fEqSharedDirectory$fGenericSharedDirectory $fReadCPUArch $fShowCPUArch $fDataCPUArch $fEqCPUArch$fGenericCPUArch $fEqRamSize $fReadRamSize $fShowRamSize $fOrdRamSize $fDataRamSize$fGenericRamSize $fEqResources$fReadResources$fShowResources$fDataResources$fGenericResources $fReadExecEnv $fShowExecEnv $fDataExecEnv $fEqExecEnv$fGenericExecEnvSimpleErlangTerm ErlStringErlFloat ErlNaturalErlAtomErlChar ErlBinaryErlListErlTuple parseErlTerm renderErlTermarbitraryErlSimpleAtomarbitraryErlStringarbitraryErlNumberarbitraryErlNaturalarbitraryErlFloatarbitraryErlNameChar$fArbitrarySimpleErlangTerm$fNFDataSimpleErlangTerm$fBinarySimpleErlangTerm$fHashableSimpleErlangTerm$fEqSimpleErlangTerm$fOrdSimpleErlangTerm$fReadSimpleErlangTerm$fShowSimpleErlangTerm$fDataSimpleErlangTerm$fGenericSimpleErlangTermUserNoUserCwdNoCwd CmdVerbosityDebugVerbose OnlyStdErrQuietScriptInAs IgnoreErrors VerbosityBeginRunNoOPwriteSh emptyScript renderScript$fNFDataCmdVerbosity$fBinaryCmdVerbosity$fHashableCmdVerbosity$fMonoidScript$fSemigroupScript$fNFDataScript$fBinaryScript$fHashableScript $fNFDataCwd $fBinaryCwd $fHashableCwd $fNFDataUser $fBinaryUser$fHashableUser $fNFDataCmd $fBinaryCmd $fHashableCmd $fNFDataCtx $fBinaryCtx $fHashableCtx$fShowCmdVerbosity$fReadCmdVerbosity$fDataCmdVerbosity$fEqCmdVerbosity$fGenericCmdVerbosity $fShowScript $fReadScript $fDataScript $fEqScript$fGenericScript $fShowCwd $fReadCwd $fDataCwd$fEqCwd $fGenericCwd $fShowUser $fReadUser $fDataUser$fEqUser $fGenericUser $fShowCmd $fReadCmd $fDataCmd$fEqCmd $fGenericCmd $fShowCtx $fReadCtx $fDataCtx$fEqCtx $fGenericCtxUUIDIniFileException SystemPathPath InHomeDir InB9UserDir InTempDirallOnlastOnresolvegetDirectoryFiles ensureDirtellconsult maybeConsultmaybeConsultSystemPath readIniFile getOption getOptionM getOptionOr randomUUID$fExceptionReaderException$fExceptionIniFileException$fPrintfArgUUID$fEqSystemPath$fReadSystemPath$fShowSystemPath$fDataSystemPath$fShowReaderException$fShowIniFileException $fReadUUID $fShowUUID$fEqUUID $fOrdUUID initRepoCacheremoteRepoCheckSshPrivKeyinitRemoteRepocleanRemoteReporemoteRepoCacheDir localRepoDirlookupRemoteRepo EnvironmentSourceFileConversion NoConversionExpandVariables SourceFileSourcewithEnvironmentreadTemplateFilesubstsubstEsubstEB substFile substPath$fNFDataSourceFileConversion$fBinarySourceFileConversion$fHashableSourceFileConversion$fArbitrarySourceFile$fNFDataSourceFile$fBinarySourceFile$fHashableSourceFile$fReadSourceFileConversion$fShowSourceFileConversion$fDataSourceFileConversion$fEqSourceFileConversion$fGenericSourceFileConversion$fReadSourceFile$fShowSourceFile$fDataSourceFile$fEqSourceFile$fGenericSourceFile$fReadEnvironment$fShowEnvironment$fDataEnvironment$fEqEnvironment$fNFDataEnvironment$fHashableEnvironment$fBinaryEnvironment NoVmScript substVmScript$fNFDataVmScript$fBinaryVmScript$fHashableVmScript$fReadVmScript$fShowVmScript$fDataVmScript $fEqVmScript$fGenericVmScriptLXCGuestCapability CAP_MKNODCAP_AUDIT_CONTROLCAP_AUDIT_READCAP_AUDIT_WRITECAP_BLOCK_SUSPEND CAP_CHOWNCAP_DAC_OVERRIDECAP_DAC_READ_SEARCH CAP_FOWNER CAP_FSETID CAP_IPC_LOCK CAP_IPC_OWNERCAP_KILL CAP_LEASECAP_LINUX_IMMUTABLE CAP_MAC_ADMINCAP_MAC_OVERRIDE CAP_NET_ADMINCAP_NET_BIND_SERVICECAP_NET_BROADCAST CAP_NET_RAW CAP_SETGID CAP_SETFCAP CAP_SETPCAP CAP_SETUID CAP_SYS_ADMIN CAP_SYS_BOOTCAP_SYS_CHROOTCAP_SYS_MODULE CAP_SYS_NICE CAP_SYS_PACCTCAP_SYS_PTRACE CAP_SYS_RAWIOCAP_SYS_RESOURCE CAP_SYS_TIMECAP_SYS_TTY_CONFIG CAP_SYSLOGCAP_WAKE_ALARMLibVirtLXCConfiguseSudo virshPathemulatorvirshURI networkIdguestCapabilities guestRamSizedefaultLibVirtLXCConfiglibVirtLXCConfigToConfigParserparseLibVirtLXCConfig$fReadLXCGuestCapability$fShowLXCGuestCapability$fReadLibVirtLXCConfig$fShowLibVirtLXCConfigB9ConfigOverride_customB9ConfigPath_customB9ConfigB9Config _verbosity_logFile _buildDirRoot _keepTempDirs _execEnvType _profileFile_envVars_uniqueBuildDirs_repositoryCache _repository _interactive_libVirtLXCConfigs _remoteReposLogLevelLogTraceLogDebugLogInfoLogError LogNothing ExecEnvType LibVirtLXCBuildVariables$fMonoidB9Config$fSemigroupB9Config$fEqExecEnvType$fShowExecEnvType$fOrdExecEnvType$fReadExecEnvType $fEqLogLevel$fShowLogLevel $fOrdLogLevel$fReadLogLevel$fShowB9Config buildDirRootenvVars execEnvType interactive keepTempDirslibVirtLXCConfigslogFile profileFile remoteRepos repositoryrepositoryCacheuniqueBuildDirs verbositycustomB9ConfigcustomB9ConfigPathopenOrCreateB9ConfigwriteB9ConfigParserdefaultB9ConfigdefaultRepositoryCachedefaultB9ConfigFilemodifyConfigParserb9ConfigToConfigParser readB9Config parseB9ConfigappendPositionalArguments B9Invokation$fMonadStateB9Invokation$fMonadB9Invokation$fApplicativeB9Invokation$fFunctorB9Invokation$fMonadIOB9InvokationinvokeB9 invokeB9_doAfterConfigurationoverrideB9ConfigPathoverrideWorkingDirectorymodifyInvokationConfigmodifyPermanentConfigrun getBuildId getBuildDate getBuildDir getConfiggetExecEnvTypegetSelectedRemoteRepogetRemoteRepos getRepoCachecmdtraceLdbgLinfoLerrorL $fMonadIOB9$fEqProfilingEntry$fShowProfilingEntry $fFunctorB9$fApplicativeB9 $fMonadB9$fMonadStateB9 FilePathGlob FileExtensionCacheRemotetoRemoteRepository repoSearch pushToRepo pullFromRepopullGlob$fEqRepository$fOrdRepository$fReadRepository$fShowRepositorylogLibVirtLXCConfigsupportedImageTypesrunInEnvironmentsubstImageTargetresolveImageSourcepreferredDestImageTypespreferredSourceImageTypesensureAbsoluteImageDirExistsmaterializeImageSourcecreateDestinationImage resizeImage importImage exportImageexportAndRemoveImage convertImage shareImagepushSharedImageLatestVersionpullRemoteRepospullLatestImagegetSharedImageslookupSharedImagesgetSelectedReposgetSharedImagesCacheDir CanRenderrenderASTishfromASTASTASTObjASTArrASTMergeASTEmbed ASTStringASTParseConcatableSyntax decodeSyntax encodeSyntax$fConcatableSyntaxByteString$fArbitraryAST $fNFDataAST $fBinaryAST $fHashableAST $fReadAST $fShowAST $fDataAST$fEqAST $fGenericAST YamlObject $fBinaryValue$fArbitraryYamlObject$fASTishYamlObject$fConcatableSyntaxYamlObject$fSemigroupYamlObject$fShowYamlObject$fReadYamlObject$fNFDataYamlObject$fBinaryYamlObject$fHashableYamlObject$fEqYamlObject$fDataYamlObject$fGenericYamlObject$fASTishErlangPropList $fConcatableSyntaxErlangPropList$fSemigroupErlangPropList$fArbitraryErlangPropList$fNFDataErlangPropList$fBinaryErlangPropList$fHashableErlangPropList$fReadErlangPropList$fEqErlangPropList$fShowErlangPropList$fDataErlangPropList$fGenericErlangPropListContent RenderErlang RenderYaml FromString FromTextFileFromURL$fCanRenderContent$fArbitraryContent$fNFDataContent$fBinaryContent$fHashableContent $fReadContent $fShowContent $fEqContent $fDataContent$fGenericContentAssemblyOutputAssemblyGeneratesOutputFiles AssemblyCopiesSourcesToDirectory CloudInitTypeCI_ISOCI_VFATCI_DIRArtifactTargetCloudInitTargetVmImagesTargetAssembledArtifactArtifactAssembly CloudInitVmImages InstanceIdIIDArtifactSourceFromFile FromContentSetPermissions FromDirectory IntoDirectory ConcatenationArtifactGeneratorSourcesLetLetXEachEachTArtifact EmptyArtifactgetArtifactSourceFiles instanceIdKey buildIdKey buildDateKeygetAssemblyOutput$fArbitraryArtifactSource$fNFDataArtifactSource$fBinaryArtifactSource$fHashableArtifactSource$fArbitraryInstanceId$fArbitraryCloudInitType$fNFDataCloudInitType$fBinaryCloudInitType$fHashableCloudInitType$fNFDataArtifactTarget$fBinaryArtifactTarget$fHashableArtifactTarget$fNFDataAssembledArtifact$fBinaryAssembledArtifact$fHashableAssembledArtifact$fArbitraryArtifactAssembly$fNFDataArtifactAssembly$fBinaryArtifactAssembly$fHashableArtifactAssembly$fArbitraryArtifactGenerator$fMonoidArtifactGenerator$fSemigroupArtifactGenerator$fNFDataArtifactGenerator$fBinaryArtifactGenerator$fHashableArtifactGenerator$fReadArtifactSource$fShowArtifactSource$fEqArtifactSource$fDataArtifactSource$fGenericArtifactSource$fReadInstanceId$fShowInstanceId$fDataInstanceId$fEqInstanceId$fNFDataInstanceId$fBinaryInstanceId$fHashableInstanceId$fReadCloudInitType$fShowCloudInitType$fDataCloudInitType$fEqCloudInitType$fGenericCloudInitType$fReadArtifactTarget$fShowArtifactTarget$fDataArtifactTarget$fEqArtifactTarget$fGenericArtifactTarget$fReadAssembledArtifact$fShowAssembledArtifact$fDataAssembledArtifact$fEqAssembledArtifact$fGenericAssembledArtifact$fReadArtifactAssembly$fShowArtifactAssembly$fDataArtifactAssembly$fEqArtifactAssembly$fGenericArtifactAssembly$fReadArtifactGenerator$fShowArtifactGenerator$fEqArtifactGenerator$fDataArtifactGenerator$fGenericArtifactGenerator$fReadAssemblyOutput$fShowAssemblyOutput$fDataAssemblyOutput$fEqAssemblyOutput$fGenericAssemblyOutput buildWithVm DocumentationDoc DocIncludedB9DSLdocdoc'#$=includeincludeTemplate writeContentexportCloudInit imageSource createImagefrom fromResizedimageDestinationshareexportLiveInstallerImagemountlxclxc32bootexecsh rootImage dataImagemountAndShareSharedImagemountAndShareNewImagerunDSLprintDSLprintBuildStep dslExample $fShowTagged$fDSLCanMountTagged$fDSLCanMount[]$fFunctorBuildStep$fShowMountOpts$fShowMountOpts0SGPerm SGSetPermKeepPermSGSourceSGFiles SGContentSourceGeneratorSGCGErrorInstanceGeneratorIGCGEnvagEnv agSourcesCGParser runCGParsergetArtifactOutputFilesevalArtifactGeneratorparseArtifactGeneratorwithArtifactSources withBindings addBindings withXBindingseachBindingSetTeachBindingSetwriteInstanceGeneratorcgError execCGParser execIGEnv substAssembly toSourceGencreateAssembledArtifactsgenerateSources createTargetsgenerateUniqueIIDgenerateSourceTosgReadSourceFile sgChangePermsourceGeneratorOutputFile sgGetFroms setSGPermsetSGFromDirectorysetSGToDirectory createTarget $fReadCGEnv $fShowCGEnv $fEqCGEnv$fReadInstanceGenerator$fShowInstanceGenerator$fDataInstanceGenerator$fEqInstanceGenerator $fReadCGError $fShowCGError $fDataCGError $fEqCGError$fFunctorCGParser$fApplicativeCGParser$fMonadCGParser$fMonadReaderCGParser$fMonadWriterCGParser$fMonadErrorCGParser$fReadSGSource$fShowSGSource $fEqSGSource $fReadSGPerm $fShowSGPerm $fDataSGPerm $fEqSGPerm$fReadSourceGenerator$fShowSourceGenerator$fEqSourceGeneratorbuildArtifactsB9RunParameters b9Versionb9VersionStringrunB9defaultB9RunParametersrunShowVersionrunBuildArtifactsrunFormatBuildFilesrunPushrunPullrunRunrunGcLocalRepoCacherunGcRemoteRepoCacherunListSharedImages runAddReporunLookupLocalSharedImageb9InvokationAction buildB9FileenableSharedImageRulesneedSharedImagecustomSharedImageActionghc-prim GHC.TypesIntfilepath-1.4.1.2System.FilePath.PosixreplaceExtensionCtxctxCwdctxUserctxIgnoreErrors ctxVerbosityCmd'ConfigFile-1.1.4-5RrC9I8sw0BF7PldPZKGVZData.ConfigFile to_stringsetshowsetitems has_optionoptions remove_optionremove_section add_section has_sectionsections readstring readhandlereadfilemergeinterpolatingAccess simpleAccessemptyCPGet_CgetData.ConfigFile.Types SectionSpec OptionSpec CPErrorData ParseErrorSectionAlreadyExists NoSectionNoOption OtherProblemInterpolationErrorCPError ConfigParsercontent optionxformdefaulthandler usedefault accessfuncReaderException InternalState _buildActionIS_initialConfigOverride_permanentB9ConfigUpdate_changeWorkingDirectoryB9InvrunB9InvokationProfilingEntryIoActionDurationLogEvent BuildState bsBuildId bsBuildDatebsCfg bsBuildDirbsLogFileHandlebsSelectedRemoteRepo bsRepoCachebsProf bsStartTimebsInheritStdIn matchGlobpushCmdrepoEnsureDirCmdContextconvertgetSharedImageFromImageInfocreateSharedImageInCachepushToSelectedRepogetLatestImageByName#getLatestSharedImageByNameFromCache DSLCanMount MountArtifact MountOptsdefaultMountOptsmountArtifactS mountArtifact SArtifactSStaticContentSVmImage SMountedImage SCloudInitSMountedHostDirectorySSelfDocumentation StaticContentVmImage MountedImageMountedHostDirectorySelfDocumentationTagged BuildStepImportExport DefineExecEnvExecD:R:MountOptsTagged0MountImgNoOptionsD:R:MountOpts[]0ReadOnly ReadWriteversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebase Data.Version showVersionTrueGHC.Base++GHC.Listfilterzipmap Control.MonadguardjoinMonadfail>>=>>returnFunctorfmap<$ Applicativepure<*>*><*liftA2 Data.Foldablefoldrlengthnullfoldlfoldl'foldl1sumproductfoldr1maximumminimumelemData.TraversablemapMsequenceMonoidmemptymappendmconcatMaybeNothingJust Data.OldListunlineslines isInfixOfVersion versionBranch versionTagsliftM Data.Monoid<> Data.Functor<$> Alternativeemptymany<|>some MonadPlusmzeromplusControl.Monad.IO.ClassMonadIOliftIO System.ExitexitWith Text.Printfprintfmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterM makeVersion parseVersion Data.ListisSubsequenceOf mapAccumR mapAccumLforMControl.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListGHC.IO.ExceptionExitCode ExitSuccess ExitFailureData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsum sequence_forM_mapM_DualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAltunwordswordsunfoldrsortOnsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLengthinsertByinsert partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix dropWhileEndvoidunzip3unzipzipWith3zipWithzip3!!lookupreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrscanl'scanl1scanlfoldl1'initlasttailunconshead Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeapliftM5liftM4liftM3liftM2when=<<liftA3liftA<**> takeDirectory takeFileName<.>&pretty-show-1.7-4nug3XFZxMh9dgI9HwKGUwText.Show.PrettyppShow"shake-0.16.4-6N3dAfBEFx7HKiGFSqMez%Development.Shake.Internal.Core.TypesActionSharedImageCustomActionRule