n      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ .Compatibility wrapper for Distribution.Version Toshio Ito <debug.ito@gmail.com>SafeA Version type by  Data.Version.\Parse a version text. There must not be any trailing characters after a valid version text.      "Query, Result and related symbols. Toshio Ito <debug.ito@gmail.com>SafeQuery for package version(s).Source of packages. stackage.hackage (latest))Resolver name at stackage like "lts-4.1".description of a .      Megaparsec compatibility wrapper Toshio Ito <debug.ito@gmail.com>NoneSee: Chttps://github.com/fpco/stackage/issues/2666#issuecomment-3184729190 combatible with Megaparsec 5. In Megaparsec 6,  function takes and produces  if we use  as the ( type, probably for better performance. combatible with Megaparsec 5.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm!types and functions about logging Toshio Ito <debug.ito@gmail.com>Safe(If n, logging is disabled.96FOR TEST: the IORef is the history of logged messages.'o(p)*+,-./012q3456789:'()*+,-./0123456789-./01)*+,'(23456789 'o(p)*+,-./012q3456789:&compatibility wrapper for http-client  Toshio Ito <debug.ito@gmail.com>None0rstuvwxyzrvxrstuvwxy$functions dealing with .cabal files. Toshio Ito <debug.ito@gmail.com>NoneC A block of build-depends:.GBuild target type.Hthe library target.Ithe executable NAME target.Jthe test-suite NAME target.Kthe benchmark NAME target.CDEFGHIJKL{|}~4expected field name. If Nothing, it just don't care.%(lower-case field name, indent level)&(lower-case field name, block content) CDEFGHIJKL LGHIJKCDEFCDEFGHIJKL{|}~"Result data type and its utilities Toshio Ito <debug.ito@gmail.com>NoneS6Results for a query aggregated over different sources.[For backward-compatibility.^the  queried by user._the real (exact)  resolved.`Result for a query.f Create an S that includes just one `.STUVWXYZ[\]^_`abcdefgSTUVWXYZ[\]^_`abcdef`abcd\]^_e[XYZSTUVWfSTUVWXYZ[\]^_`abcdefgparsing Version Toshio Ito <debug.ito@gmail.com>Nonesa wrapper around  for JSON I/Fstuvstustustuv9dealing with Stackage and build-plan repositories online. Toshio Ito <debug.ito@gmail.com>None {*Potentially partial resolver for stackage.} lts (latest)~ lts-(major)nightly (latest)3Non-ambiguous fully-resolved resolver for stackage.lts-(major).(minor)nightly-(year)-(month)-(day) Fetch the z from the Internet.-Fetch build plan YAML data from the Internet.z{|}~disambiguation JSON text.z{|}~{|}~z z{|}~1(virtual) BuildPlan expressing the latest Hackage Toshio Ito <debug.ito@gmail.com>NoneJSorted list of preferred versions of the package. The head is the latest. Handle build plan YAML files. Toshio Ito <debug.ito@gmail.com>NoneILStateful manager for s.1path to the directory where build plans are hold.&low-level HTTP connection manager. If n., it won't fetch build plans over the network.cache of resolver disambigutor Types that have mapping between  and .A  associated with its .LA data structure that keeps a map between package names and their versions.Load a  from a file. 1path to the directory where build plans are hold.If ?, it queries the Internet for build plans. Otherwise, it won't.first action tried.0the action executed if the first action returns .7package names whose versions the user is interested in.<the second result is the real (disambiguated) PackageSource.disambiguated LTS major versiondisambiguated LTS minor version   aggregation of multiple versions Toshio Ito <debug.ito@gmail.com>NoneAggregateion monadAggregate some  s into a .Let Cabal convert  to Aggregator of ORed versions.Aggregate versions to the range that the versions cover in a PVP sense. This aggregator sets the upper bound to a major version, which means it assumes major-version bump is not backward-compatible.Aggregate versions to the range that versions cover in a PVP sense. This aggregator sets the upper bound to a minor version, which means it assumes minor-version bump is not backward-compatible. Aggregate `s with the given . It first groups `s based on its c3 field, and then each group is aggregated into an S.)If it fails, it returns an empty list of S. It also returns a list of ) s to report warnings and errors.#Aggregate one or more maps between  and . The input  s should all be . n? version is warned and ignored. If the input versions are all n, the result version range is n.The b lists in the input must be consistent (i.e. they all must be the same list.) If not, it returns n map and an error is logged.{The comparator that determines if the two elements are in the same group. This comparator must be transitive, like '(==)'.(label,  version map). label is used for error logs.   formatting Result output. Toshio Ito <debug.ito@gmail.com>Noneheader and child blocks&a block, which consists of some lines. lines and # lines are handled differently by /. It puts commas at the right places assuming  lines are commented out. Format for .Let Cabal format . Similar to %, but it uses the "caret" operator (^>=) where possible.Safe   Command from the user. Toshio Ito <debug.ito@gmail.com>None Default values for .Command from the user.8path to the directory where build plan files are stored. the loggerpackage sources to searchpackage queriesif 4, it accesses the Internet to query build plans etc.if ", do aggregation over the results.config for the formatter!   executable Toshio Ito <debug.ito@gmail.com>None   !"#$%&'()*+,-./0123456789:;<<=>?@ABCDEFGHIJKLMNOPQRSTUUVWXYZ[\]^_`abcddefghijkllmnoopqrstuvwxyz{|}~           !!!!      !"#$%&'()*+,-./01234566789:;<=>?@ABCDEFGHIJKLMNOPOQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`OaObOcOdOeOfgVhijklmnopqrstutvtwtxtytzt{t|t|t}t}t~tt!:          !          !!!                   !                                         )staversion-0.2.1.2-K8onvlYqcOPLnN0eJp7A7JStaversion.Internal.VersionStaversion.Internal.QueryStaversion.Internal.LogStaversion.Internal.CabalStaversion.Internal.Result%Staversion.Internal.BuildPlan.Version&Staversion.Internal.BuildPlan.Stackage%Staversion.Internal.BuildPlan.HackageStaversion.Internal.BuildPlanStaversion.Internal.AggregateStaversion.Internal.FormatStaversion.Internal.CommandStaversion.Internal.ExecStaversion.Internal.MegaparsecStaversion.Internal.HTTPPaths_staversionCabal-1.24.2.0Distribution.VersionfromVersionIntervalsmkVersionIntervalssimplifyVersionRangeasVersionIntervalsunionVersionRanges thisVersion VersionRangeVersionInterval LowerBound UpperBound NoUpperBoundInclusiveBoundExclusiveBoundBoundbase Data.VersionVersion BaseVersionshowBaseVersionparseVersionText mkVersionversionNumbersErrorMsgQuery QueryNameQueryCabalFile PackageSourceSourceStackage SourceHackageResolver PackageName sourceDesc parseQuery$fShowPackageSource$fEqPackageSource$fOrdPackageSource $fShowQuery $fEqQuery $fOrdQueryLoggerloggerThresholdLogEntrylogLevel logMessageLogLevelLogDebugLogInfoLogWarnLogError defaultLoggerputLog putLogEntrylogDebuglogInfologWarnlogError _mockLogger $fShowLogger$fShowLogLevel $fEqLogLevel $fOrdLogLevel$fEnumLogLevel$fBoundedLogLevel$fShowLogEntry $fEqLogEntry $fOrdLogEntry BuildDepends depsTarget depsPackagesTarget TargetLibraryTargetExecutableTargetTestSuiteTargetBenchmark loadCabalFile $fShowTarget $fEqTarget $fOrdTarget$fShowBuildDepends$fEqBuildDepends$fOrdBuildDependsAggregatedResult aggResultIn aggResultFor aggResultBody ResultBody'SimpleResultBodyCabalResultBody ResultBody ResultSourceresultSourceQueriedresultSourceRealResultresultIn resultFor resultBodyresultSourceDescsingletonResult$fFunctorResultBody'$fShowResultSource$fEqResultSource$fOrdResultSource$fShowResultBody'$fEqResultBody'$fOrdResultBody' $fShowResult $fEqResult $fOrdResult$fShowAggregatedResult$fEqAggregatedResult VersionJSON unVersionJSON$fFromJSONVersionJSON$fShowVersionJSON$fEqVersionJSON$fOrdVersionJSON DisambiguatorPartialResolver PartialExactPartialLTSLatestPartialLTSMajorPartialNightlyLatest ExactResolverExactLTS ExactNightlyparseResolverStringformatResolverStringformatExactResolverStringfetchDisambiguatorparseDisambiguatorfetchBuildPlanYAML$fFromJSONDisamMap$fShowExactResolver$fEqExactResolver$fOrdExactResolver$fShowPartialResolver$fEqPartialResolver$fOrdPartialResolverRegisteredVersionsparsePreferredVersionsJSON latestVersionfetchPreferredVersions$fFromJSONRegisteredVersions$fShowRegisteredVersions$fEqRegisteredVersions$fOrdRegisteredVersionsBuildPlanManager HasVersionspackageVersion BuildPlanbuildPlanSource BuildPlanMapnewBuildPlanManager loadBuildPlanloadBuildPlanMapYAML_setLTSDisambiguator$fHasVersionsBuildPlan$fHasVersionsBuildPlanMap$fFromJSONBuildPlanMap$fMonoidBuildPlanMap AggregatorshowVersionRangegroupAllPreservingOrderByaggOr aggPvpMajor aggPvpMinoraggregateResultsaggregatePackageVersions FormatConfigfconfFormatVersion FormatVersionformatVersionCabalformatVersionCabalCaretformatAggregatedResultsCommandcommBuildPlanDir commLogger commSources commQueriescommAllowNetworkcommAggregatorcommFormatConfigdefFormatConfigparseCommandArgs$fShowDefCommand$fEqDefCommand$fOrdDefCommandmainprocessCommand)_processCommandWithCustomBuildPlanManager$fShowResolvedQuery$fEqResolvedQuery$fOrdResolvedQuerybaseVToVParserstring#text-1.2.2.2-KC7dWoG09dA1F6jKj5GSqhData.Text.InternalText'megaparsec-6.0.1-C9zDk8jgKxVIoq0SPWe6ZPText.Megaparsec.StreamStreamstring' liftToStringGHC.Basemany<|>someControl.Applicativeoptional/parser-combinators-0.1.0-1JJ6Wc1JVJaD96R9dmZDWJControl.Applicative.Combinatorsbetweenchoicecountcount'eitherPendByendBy1manyTillsomeTilloptionsepBysepBy1sepEndBy sepEndBy1skipManyskipSome skipManyTill skipSomeTillText.Megaparsec.CharsatisfynoneOfoneOfnotCharanyCharchar'char categoryName charCategory latin1Char asciiChar separatorChar symbolCharpunctuationChar numberCharmarkChar hexDigitChar octDigitChar digitChar printChar alphaNumChar letterChar lowerChar upperChar spaceChar controlCharspace1spacetabeolcrlfnewlineText.MegaparsecdbgsetParserState setTabWidth getTabWidthsetTokensProcessedgetTokensProcessed popPosition pushPosition setPositiongetNextTokenPosition getPositionsetInputgetInputatEndtakeRestregionmatch unexpected runParserT' runParserT runParser' runParser parseTest' parseTest parseMaybeparseState stateInputstatePosstateTokensProcessed stateTabWidthParsecParsecT MonadParsectry lookAheadeoflabelfailure fancyFailurehidden notFollowedBy withRecovery observingtokentokens takeWhileP takeWhile1PtakePgetParserStateupdateParserStateText.Megaparsec.ErrorparseErrorTextPrettysourcePosStackPrettyparseErrorPretty'parseErrorPrettyerrorPos ErrorItemTokensLabel EndOfInput ErrorFancy ErrorFailErrorIndentation ErrorCustom ParseError TrivialError FancyError ShowToken showTokens LineToken tokenAsChartokenIsNewlineShowErrorComponentshowErrorComponentToken tokenToChunk tokensToChunk chunkToTokens chunkLength chunkEmpty positionAt1 positionAtNadvance1advanceNtake1_takeN_ takeWhile_Text.Megaparsec.PossourcePosPretty initialPosdefaultTabWidthpos1unPosmkPosPosInvalidPosException SourcePos sourceLine sourceColumn sourceNameNothingloggerPutLogRawtoLabelOurHttpExceptionParseUrlExceptionStatusFailureExceptionOtherHttpExceptionniceHTTPManager makeRequestfetchURL$fExceptionOurHttpException*http-client-0.5.7.0-JBInpFuOYcJGiTvTuJkNSJNetwork.HTTP.Client.TypesManager isLineSpace isOpenBrace isCloseBraceisBracelengthOfindent finishLine emptyLine blockHeadLine fieldStart fieldBlockbuildDependsLineconditionalLine targetBlock cabalParserDisamMap unDisamMapregPreferredVersionsmanBuildPlanDirmanHttpManagermanDisambiguatorLoadM manLogger buildPlanMapghc-prim GHC.TypesTrue loggedElse Data.EitherLeft maybeToLoadM httpManagerMhttpExceptionToLoadMloadBuildPlan_stackageLocalFiletryDisambiguateloadBuildPlan_stackageNetworkparseBuildPlanMapYAMLregisteredVersionToBuildPlanMap_setDisambiguatorAggMStringMaybeJust aggPvpGeneralnormalizeTralingZeroesaggregateInSameQuerynubAggregatedSourcespartitionResultscheckConsistentBodiesisSameBodyGroup pmapInBodyaggregateGroupedBodies toNonEmptyaggregatePackageVersionsMrunAggMwarn bailWithErrorconsistentPackageListcollectJustVersionsRBHeadRBLines ResultLineRightformatResultBlock ResultBlockformatVersionIntervalCaret isCaretOKmakeSourceBlocks sourceHeadermakeQueryBlocks versionLinepackageErrorLinecabalFileErrorBlockcabalFileSuccessBlockcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName DefCommandAggregatorSpec SelectSpec selectResult selectSymbol selectDescdefBuildPlanDir defCommand commandParser maybeReader aggregators parseSelectparseAggregatorwrapped docSelectdocSelectWithDefaultdocAggregatorsformatVersionsdocFormatVersionsprogramDescription ResolvedQuery RQueryOne RQueryCabal realSourceresolveQueries' resolveQuerysearchVersionsgetQueriedPackageNames