h&cT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred"  Safe-Inferred" pantryAn ' value using the default global managerpantryWrap custom exceptions*NOTE: The only other exception defined in  http-client is TimeoutTriggered but it is currently disabled 2https://github.com/snoyberg/http-client/issues/116pantrySet request headerspantryExtract the response headers Safe-Inferred"'()*15? pantry3A tree that has already been stored in the databasepantryThis is a helper type to distinguish db queries between different rdbms backends. The important part is that the affects described in this data type should be semantically equivalent between the supported engines.pantry"A query that is specific to SQLitepantry&A query that is specific to PostgreSQLpantryThis function provides a way to create queries supported by multiple sql backends.pantry5Pull all hackage cabal entries from the database as RawPackageLocationImmutable. We do a manual join rather than dropping to raw SQL, and Esqueleto would add more deps.pantry;Get the filename for the cabal file in the given directory.If no .cabal file is present, or more than one is present, an exception is thrown via .If the directory contains a file named package.yaml, hpack is used to generate a .cabal file from it.pantry Similar to 2 but doesn't require a new connection to database.pantryEnsure that all blobs needed for this package are present in the cachepantry storage filepantry"For some x, yield blob whose id>x.pantry$For some x, yield cabals whose id>x.pantryfor exceptionspantryfor exceptionspantryfor exceptionspantryfor exceptionspantryURLpantrysubdirpantryURLpantrysubdirpantrysubdirpantrypackage directorypantryfor exceptionspantryfor exceptionspantryfor exceptionspantry&dest dir, will be created if necessary Safe-Inferred%vpantryLookup a tree.pantry*Lookup a single blob. If possible, prefer , and query a group of keys at once, rather than one at a time. This will have better network performance.pantryA source of blobs given a set of keys. All blobs are automatically stored in the local pantry database. Safe-Inferred(0pantryA helper function that performs the basic character encoding necessary.pantry&dest dir, will be created if necessary Safe-Inferred"ypantryProvide a local file with the contents of the archive, regardless of where it comes from. Perform SHA256 and file size validation if downloading.pantryAttempt to parse the contents of the given archive in the given subdir into a 8. This will not consult any caches. It will ensure that:The cabal file existsThe cabal file can be parsedThe name inside the cabal file matches the name of the cabal file itselfpantryFind all of the files in the Map with the given directory as a prefix. Directory is given without trailing slash. Returns the suffix after stripping the given prefix.pantry/If all files have a shared prefix, strip it offpantry*Take us down to the specified subdirectorypantryfor exceptionspantryfor exceptionspantryfor exceptionspantryfor error reportingpantryfor exceptionspantryfile holding the archivepantryfor exceptionspantrysubdirpantry#files after stripping common prefix  Safe-Inferred"!pantry,Require that the Hackage index is populated.pantryIf there is nothing in the Hackage index, then perform an updatepantryDo not perform an updatepantry8Should we pay attention to Hackage's preferred versions?pantry"Package download info from HackagepantryInformation returned by pantry,Package that was loaded from Hackage tarballpantryThis information is only available whenever package was just loaded into pantry.pantry!Did an update occur when running ?pantry>Where does pantry download its 01-index.tar file from Hackage?pantryDownload the most recent 01-index.tar file from Hackage and update the database tables.3This function will only perform an update once per : for user sanity. See the return value to find out if it happened.pantrySame as , but force the database update even if hackage security tells that there is no change. This can be useful in order to make sure the database is in sync with the locally downloaded tarballpantry:Populate the SQLite tables with Hackage index information.pantry#Load or download a blob by its SHA.pantryGiven package identifier and package caches, return list of packages with the same name and the same two first version number components found in the caches.pantryTry to come up with typo corrections for given package identifier using Hackage package names. This can provide more user-friendly information in error messages.pantry9Returns the versions of the package available on Hackage.pantry9Returns the versions of the package available on Hackage.pantryreason for updating, if anypantryForce the database update.pantryreason for updating, if anypantrytarballpantrywhere to start processing frompantry package namepantry package namepantrypackage versionpantrycabal file contents Safe-Inferred" &.+-,:/0123456798|{z~}&.+-,:/0123456798|{z~}  Safe-Inferred$pantryFalse if not using Windows OS.  Safe-Inferred"%&(pantryLike , except with  instead of .pantryFetch the given repositories at once and populate the pantry database.pantryFetch a repository and create a (temporary) tar archive from it. Pass the path of the generated tarball to the given action.pantryRun a git command, setting appropriate environment variable settings. See  6https://github.com/commercialhaskell/stack/issues/3748.pantryRun an hg commandpantry3Create a tarball containing files from a repositorypantryClone the repository (and, in the case of Git and if necessary, fetch the specific commit) and execute the action with the working directory set to the repository root.pantry (package, subdir)pantryargspantryargspantryOutput tar archive filename Safe-Inferred"P<pantryConvenient data type that allows you to work with pantry more easily than using  or  directly. Uses basically sane settings, like sharing a pantry directory with Stack. You can use  to use this.pantry!Package settings to be passed to .pantryA completed snapshot location, including the original raw and completed information.pantryA completed package location, including the original raw and completed information.pantryComplete package location, plus whether the package has a cabal file. This is relevant to reproducibility, see >https://tech.fpcomplete.com/blog/storing-generated-cabal-filespantry Create a new : with the given settings. For a version where the use of Casa (content-addressable storage archive) is optional, see .1For something easier to use in simple cases, see .pantry Create a new : with the given settings.1For something easier to use in simple cases, see .pantryDefault pull URL for Casa.pantry%Default max keys to pull per request.pantryDefault n) value using the official Hackage server.pantry4The download prefix for the official Hackage server.pantryReturns the latest version of the given package available from Hackage.pantryReturns location of the latest version of the given package available from Hackage.pantryReturns the latest revision of the given package version available from Hackage.pantryFetch keys and blobs and insert into the database where possible.pantryDownload all of the packages provided into the local cache without performing any unpacking. Can be useful for build tools wanting to prefetch or provide an offline mode.pantryUnpack a given L into the given directory. Does not generate any extra subdirectories.pantryUnpack a given P into the given directory. Does not generate any extra subdirectories.pantry"Load the cabal file for the given P.#This function ignores all warnings.pantry"Load the cabal file for the given L.#This function ignores all warnings.Note that, for now, this will not allow support for hpack files in these package locations. Instead, all PackageLocationImmutables will require a .cabal file. This may be relaxed in the future.pantrySame as , but takes a E. Never prints warnings, see  for that.pantrySame as , but takes a H. Never prints warnings, see  for that.pantryParse the Cabal file for the package inside the given directory. Performs various sanity checks, such as the file name being correct and having only a single Cabal file.pantryBA@?EDCHGFLKJIPONMVUTSRQ\[ZYXW_^]ed`acbjihgfnmlksrqpoutwvyx:nmlksrqpo utwvBA@?>yx('&%$#*)VUTSRQ\[ZYXWed`acb_^]jihgfEDCHGF LKJIPONM "! =<;        !"#$%&'()*+,-./01234567899::;<==>?@ABCDEFGHHIJKLMNOOPQRSTUVWXYZ[\]^_`abbcdefgghijklmnoopqrsstuvvwxyzz{|}}~~                                        #pantry-0.9.0-KRxl7iJEKd3CEyry8G487KPantryPantry.Internal.Stackage Pantry.HTTP5Hackage.Security.Client.Repository.HttpLib.HttpClientPantry.Storage Pantry.Casa Pantry.TreePantry.ArchivePantry.HackageSystem.IsWindows Pantry.Repo Cabal-3.6.3.0Distribution.Types.PackageId pkgVersionpkgNamePackageIdentifierDistribution.Types.FlagFlagNameDistribution.Types.PackageName PackageNameDistribution.Types.VersionVersion,pantry-0.9.0-KRxl7iJEKd3CEyry8G487K-internal Pantry.TypeswarnMissingCabalFiletoRawSnapshotLayertoRawSL parseSnapNamedefaultSnapshotLocationparseRawSnapshotLocationparseWantedCompilerunCabalStringMaptoCabalStringMapmoduleNameStringflagNameString versionStringpackageIdentifierStringpackageNameString parseFlagNameparseVersionThrowing parseVersionparsePackageNameThrowingparsePackageNameparsePackageIdentifiermkSafeFilePathunSafeFilePathparsePackageIdentifierRevisionparseHackageTextdefaultHackageSecurityConfigtoRawPL resolvePathssnapshotLocation packageIdentpackageCabalEntry packageTreepackageTreeKeyPackageRevisionwithWriteLock_ withStorage_StoragepcSnapshotLocation pcCasaConfigpcConnectionCountpcParsedCabalFilesMutablepcParsedCabalFilesRawImmutable pcUpdateRef pcStorage pcRootDirpcHpackExecutablepcPackageIndex PantryConfigNoPrintWarningsYesPrintWarnings PrintWarnings UnresolvedresolvedAbsoluteresolvedRelative ResolvedPath RPLMutable RPLImmutableRawPackageLocation PLMutable PLImmutablePackageLocationRPLIRepo RPLIArchive RPLIHackageRawPackageLocationImmutablePLIRepo PLIArchive PLIHackagePackageLocationImmutableraSubdirraSizeraHash raLocation RawArchive archiveSubdir archiveSize archiveHasharchiveLocationArchiveRepoHgRepoGitRepoType repoSubdirrepoType repoCommitrepoUrlRepo sRepoType sRepoCommitsRepoUrl SimpleRepopicHackageSecurityConfigpicDownloadPrefixPackageIndexConfighscIgnoreExpiryhscKeyThreshold hscKeyIdsHackageSecurityConfig pantryConfigLHasPantryConfigFileSizeBlobKeyunPackageNameP PackageNameP unVersionPVersionP unModuleNameP ModuleNameP CFIRevisionCFIHash CFILatest CabalFileInfoPackageIdentifierRevisionmismatchActualmismatchExpectedMismatchHpackExeExceptionHpackLibraryExceptionParseSnapNameExceptionInvalidTreeFromCasa NoCasaConfigMigrationFailureDuplicatePackageNamesInvalidCabalFilePathPackageVersionParseFailPackageNameParseFailMismatchedCabalFileForHackageMutablePackageLocationFromUrlCannotCompleteRepoNonSHA1UnknownHackagePackage CRC32MismatchCompletePackageMetadataMismatchTreeReferencesMissingBlobFailedToCloneRepoNoHackageCryptographicHashUnsupportedTarballInvalidTarFileTypeUnknownArchiveTypeLocalInvalidSizeLocalInvalidSHA256DownloadTooLargeDownloadInvalidSizeDownloadInvalidSHA256WrongCabalFileNameCouldn'tParseSnapshotInvalidBlobKeyNon200ResponseStatusMismatchedPackageMetadataInvalidSnapshotInvalidFilePathSnapshotInvalidOverrideCompilerInvalidSnapshotLocationInvalidWantedCompilerMultipleCabalFilesFoundNoCabalFileFoundNoLocalPackageDirFoundMismatchedCabalNameTreeWithMultipleCabalFilesTreeWithoutCabalFileInvalidCabalFile"PackageIdentifierRevisionParseFailPantryExceptionFRRevisionNotFoundFRVersionNotFoundFRNameNotFound FuzzyResults SafeFilePathTreeKey rpmTreeKey rpmVersionrpmNameRawPackageMetadata pmTreeKeypmIdentPackageMetadata RelFilePath ALFilePathALUrlArchiveLocation unCabalString CabalString HpackCommand HpackBundledHpackExecutableWCGhcjsWCGhcGitWCGhcWantedCompilerNightlyLTSSnapName RSLSynonym RSLFilePathRSLUrl RSLCompilerRawSnapshotLocation SLFilePathSLUrl SLCompilerSnapshotLocationrsDrop rsPackages rsCompiler RawSnapshot snapshotDropsnapshotPackagessnapshotCompilerSnapshot rspGhcOptions rspHiddenrspFlags rspLocationRawSnapshotPackage spGhcOptionsspHiddenspFlags spLocationSnapshotPackagerslPublishTime rslGhcOptions rslHiddenrslFlagsrslDropPackages rslLocations rslCompiler rslParentRawSnapshotLayer slPublishTime slGhcOptionsslHiddenslFlagsslDropPackages slLocations slCompilerslParent SnapshotLayerunSnapshotCacheHashSnapshotCacheHash Pantry.SHA256SHA256*persistent-2.14.5.1-AT6QbGA3ppdGajexsuxAWQ$Database.Persist.Class.PersistEntityUnique EntityFieldKey ModuleNameId TreeEntryIdTreeIdTreetreeKey treeCabal treeCabalTypetreeName treeVersionHackageCabalId VersionIdversionVersion PackageNameIdBlobId UniqueModuleModuleNameNamePackageExposedModuleId!PackageExposedModuleSnapshotCachePackageExposedModuleModulePackageExposedModulePackageUniqueSnapshotCacheSnapshotCacheIdSnapshotCacheSha RepoCacheId RepoCacheTime RepoCacheUrl RepoCacheTypeRepoCacheCommitRepoCacheSubdir RepoCacheTreeArchiveCacheIdArchiveCacheTimeArchiveCacheUrlArchiveCacheSubdirArchiveCacheShaArchiveCacheSizeArchiveCacheTree TreeEntryTree TreeEntryPath TreeEntryBlob TreeEntryType UniqueHPackHPackId HPackTree HPackVersionHPackCabalBlobHPackCabalPath UniqueTree TreeCabal TreeCabalTypeTreeName TreeVersion CacheUpdateIdCacheUpdateTimeCacheUpdateSizeCacheUpdateShaUniquePreferredPreferredVersionsIdPreferredVersionsNamePreferredVersionsPreferred UniqueHackageHackageCabalNameHackageCabalVersionHackageCabalRevisionHackageCabalCabalHackageCabalTreeUniqueHackageTarballHackageTarballIdHackageTarballNameHackageTarballVersionHackageTarballShaHackageTarballSize UniqueSfp FilePathId FilePathPath UniqueVersionVersionVersionUniquePackageNamePackageNameName UniqueUrlTime UrlBlobId UrlBlobUrl UrlBlobBlob UrlBlobTime UniqueBlobSha unBlobKeyBlobShaBlobSize BlobContents migrateAllgetPackageNameByIdgetPackageNameId getVersionId storeBlob loadBlobByIdallBlobsSource"allHackageCabalRawPackageLocations allBlobsCountallHackageCabalCount getBlobKey getTreeForKeyRequireHackageIndexYesRequireHackageIndexNoRequireHackageIndexUsePreferredVersionsIgnorePreferredVersionsHackageTarballResult htrPackagehtrFreshPackageInfoDidUpdateOccurUpdateOccurredNoUpdateOccurredhackageIndexTarballLupdateHackageIndexforceUpdateHackageIndexgetHackageTypoCorrectionsgetHackagePackageVersionsgetHackageTarball fetchReposRaw fetchReposwithRepo PantryAppAddPackagesConfigapcDropapcFlags apcHiddens apcGhcOptions CompletedSL CompletedPLICompletePackageLocation cplCompletecplHasCabalFilewithPantryConfigwithPantryConfig'defaultCasaRepoPrefixdefaultCasaMaxPerRequestdefaultPackageIndexConfigdefaultDownloadPrefixgetLatestHackageVersiongetLatestHackageLocationgetLatestHackageRevision fetchPackagesunpackPackageLocationRawunpackPackageLocationloadCabalFileImmutableloadCabalFileRawImmutableloadCabalFileRaw loadCabalFileloadCabalFilePathfindOrGenerateCabalFilegpdPackageIdentifiergpdPackageName gpdVersion loadPackageloadPackageRawtryLoadPackageRawViaCasacompletePackageLocationcompleteSnapshotLocation loadSnapshotloadAndCompleteSnapshotloadAndCompleteSnapshot'loadAndCompleteSnapshotRawloadAndCompleteSnapshotRaw'addPackagesToSnapshotloadRawSnapshotLayerloadSnapshotLayergetPackageLocationNamepackageLocationIdentpackageLocationVersiongetRawPackageLocationIdentgetRawPackageLocationTreeKeygetPackageLocationTreeKeyhpackExecutableL runPantryApprunPantryAppWithrunPantryAppCleanloadGlobalHintspartitionReplacedDependencieswithSnapshotCache$fSemigroupSingleOrNot$fHasTermPantryApp$fHasStylesUpdatePantryApp$fHasProcessContextPantryApp$fHasPantryConfigPantryApp$fHasLogFuncPantryApp(http-types-0.12.3-L3rcKlUfVN0BViQ440kXJlNetwork.HTTP.Types.StatusStatus statusCode+http-client-0.7.13.1-JwOlk3BwWeMB3IVAjKPLs0Network.HTTP.Client.RequestdefaultRequestsetUri parseRequest parseUrlThrowNetwork.HTTP.Client.Types BodyReader HttpExceptionHttpExceptionRequestInvalidUrlExceptionHttpExceptionContentStatusCodeExceptionRequestResponse+http-conduit-2.3.8.2-3qtwhDhp3S143LuEoiSXC3Network.HTTP.SimplegetResponseBodygetResponseHeadersgetResponseStatussetRequestHeaderaddRequestHeaderNetwork.HTTP.Types.HeaderHeaderpartialContent206ok200hRange hCacheControl HeaderName withResponsehttpSinkhttpSinkCheckedhttpLib/hackage-security-0.6.2.3-Jo68BKcYBAMFfbdjNqYBjM*Hackage.Security.Client.Repository.HttpLibHttpLib wrapCustomExsetRequestHeaders CachedTree RdbmsActionsraSqlite raPostgresrdbmsAwareQueryexceptions-0.10.4Control.Monad.CatchthrowM hpackToCabalS hpackToCaballoadCachedTree initStorage generateHPack storeTreeloadPackageByIdloadHackageTreestoreArchiveCacheloadArchiveCachestoreRepoCacheunpackTreeToDir$Database.Persist.SqlBackend.Internal SqlBackend CachedTreeMap TreeEntry treeEntryTree treeEntryPath treeEntryBlob treeEntryType HackageCabalhackageCabalNamehackageCabalVersionhackageCabalTreehackageCabalRevisionhackageCabalCabal withStorageloadBlob loadBlobBySHA loadURLBlob storeURLBlobclearHackageRevisionsstoreHackageRevisionloadHackagePackageVersionsloadHackagePackageVersionloadLatestCacheUpdatestoreCacheUpdatestoreHackageTarballInfoloadHackageTarballInfo storeHPackloadCabalBlobKey unCachedTreeloadTreegetHPackBlobKeyByIdstoreHackageTreeloadHackageTreeKey loadRepoCachestorePreferredVersionloadPreferredVersionsinkHackagePackageNamescountHackageCabalsgetSnapshotCacheByHashgetSnapshotCacheIdstoreSnapshotModuleCacheloadExposedModulePackagescasaLookupTree casaLookupKeycasaBlobSource rawParseGPD unpackTreewithArchiveLoc parseArchivefindWithPrefixstripCommonPrefix takeSubdir getArchiveKeygetArchivePackage getArchive foldArchivefoldTarfindCabalOrHpackFilefetchArchivesRaw fetchArchivesPackageDownload populateCacheloadOrDownloadBlobBySHAfuzzyLookupCandidates!getHackagePackageVersionRevisionsupdateHackageIndexInternalwithCachedTreegetHackageCabalFilegetHackageTarballKey osIsWindowswithRepoArchive runGitCommand runHgCommandcreateRepoArchive getRepos' getRepoKeygetRepo fetchTreeKeyshpack,Distribution.Types.GenericPackageDescriptionGenericPackageDescriptiontryLoadPackageRawViaDbOrCasatryLoadPackageRawViaLocalDbloadSnapshotRawwarnUnusedAddPackagesConfig addAndCompletePackagesToSnapshotbase Data.EitherLeftRightpluraltraverseConcurrently_traverseConcurrentlyWith_ loadFromURLloadUrlViaCasaOrWithCheck loadWithCheck