úÎ0Ù+£[      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZNone!"I%2Describes component-specific information inside a  library dependenciesexecutable dependencies"path-name of artifact if available'Component name inside a build-plan unitA similiar type exists in Cabal codebase, see 0Distribution.Simple.LocalBuildInfo.ComponentName 8Represents a build-plan unit uniquely identified by its 'Unit ID uniquely identifying a   in install plan=Package name and version (not necessarily unique within plan)"Describes type of build item, see 0SHA256 source tarball checksum (as used by e.g. hackage-security)Components identified by 'When cabal3 needs to fall back to legacy-mode (currently for custom build-types or obsolete  cabal-version values), $ may contain more than one element.'cabal flag settings (not available for )/Describes kind of build unit and its provenance*Lives in global (non-nix-style) package dbLives in Nix-store cache Local packageLocal in-place package0Represents the information contained in cabal's  plan.json file.kThis comprises basic information describing the environment as well as the install/build plan computed by cabal. Version of cabal frontendVersion of Cabal library$Name and version of Haskell compilerArchitecture nameOperating system name install/build plan! SHA-256 hashAs an invariant, the wrapped [ is exactly 32 bytes long.#Equivalent to Cabal's &Distribution.Package.PackageIdentifier%Equivalent to Cabal's  Distribution.Package.PackageName'Equivalent to Cabal's Distribution.Package.UnitId)Equivalent to Cabal's Distribution.Package.Version+ Pretty print ,Locates and decodes  plan.json@ for cabal project being in scope for current working directory>The folder assumed to be the project-root is returned as well.Throws \ exceptions on errors.-Decodes  plan.json file location provided as ]UThis is a trivial convenience function so that the caller doesn't have to depend on aeson directlyThrows \ exceptions on errors.. Pretty print )/ Pretty print #0 Pretty print ! as base-161Extract directed ' dependency graph edges from  CThis graph contains both, library and executable dependencies edges2Extract '. root nodes from dependency graph computed by 1I  !"#$%&'()*^+_`,-abc.d/e0123456789:;<=>?@3  !"#$%&'()*+,-./0123  +)*.%&#$/'(!"012,-(   !"#$%&'()*^+_`,-abc.d/e0123456789:;<=>?@f        !!""##$$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef)cabal-plan-0.1.0.0-HLW6HR7PrWP7A89AQ4iln0 Cabal.PlanCompInfo ciLibDeps ciExeDeps ciBinFileCompName CompNameLibCompNameSubLib CompNameExe CompNameTest CompNameBench CompNameSetupUnituIduPIduTypeuSha256uCompsuFlagsUnitTypeUnitTypeBuiltinUnitTypeGlobal UnitTypeLocalUnitTypeInplacePlanJsonpjCabalVersionpjCabalLibVersion pjCompilerIdpjArchpjOspjUnitsSha256PkgIdPkgNameUnitIdVer dispCompNamefindAndDecodePlanJsondecodePlanJsondispVer dispPkgId dispSha256planJsonIdGraphplanJsonIdRoots $fShowSha256$fToJSONSha256$fFromJSONSha256 $fToJSONVer $fFromJSONVer$fFromJSONUnit$fFromJSONPlanJson $fToJSONPkgId$fFromJSONPkgId$fFromJSONCompInfo$fToJSONKeyCompName$fFromJSONKeyCompName$fToJSONCompName$fFromJSONCompName $fShowVer$fEqVer$fOrdVer $fShowUnitId $fEqUnitId $fOrdUnitId$fFromJSONUnitId$fToJSONUnitId $fShowPkgName $fEqPkgName $fOrdPkgName$fFromJSONPkgName$fToJSONPkgName $fShowPkgId $fEqPkgId $fOrdPkgId $fEqSha256 $fOrdSha256$fShowUnitType $fEqUnitType$fShowCompName $fEqCompName $fOrdCompName$fShowCompInfo $fShowUnit$fShowPlanJsonbytestring-0.10.8.1Data.ByteString.Internal ByteStringghc-prim GHC.TypesIObaseGHC.IOFilePath parseCompName.:?!planItemAllDeps findProjRoot walkUpFoldersparseVer parsePkgId parseSha256