packages feed

ghcup 0.1.17.2 → 0.1.17.3

raw patch · 43 files changed

+21352/−11136 lines, 43 filesdep +yaml-streamlydep −HsYAML-aesondep ~Cabaldep ~aesonPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: yaml-streamly

Dependencies removed: HsYAML-aeson

Dependency ranges changed: Cabal, aeson

API changes (from Hackage documentation)

+ GHCup.Errors: instance GHC.Exception.Type.Exception GHCup.Errors.NotFoundInPATH
+ GHCup.Utils: cleanUpOnError :: (MonadReader env m, HasDirs env, HasSettings env, MonadIO m, MonadMask m, HasLog env, MonadUnliftIO m, MonadFail m, MonadCatch m) => FilePath -> Excepts e m a -> Excepts e m a
+ GHCup.Utils.Prelude: isNotWindows :: Bool
+ GHCup.Utils.Prelude: isWindows :: Bool
+ GHCup.Utils.Prelude: moveFile :: FilePath -> FilePath -> IO ()
+ GHCup.Utils.Prelude: moveFilePortable :: FilePath -> FilePath -> IO ()
+ GHCup.Utils.Prelude: recover :: (MonadIO m, MonadMask m) => m a -> m a
+ GHCup.Utils.Prelude: throwMaybe :: (Exception a, MonadThrow m) => a -> Maybe b -> m b
+ GHCup.Utils.Prelude: throwMaybeM :: (Exception a, MonadThrow m) => a -> m (Maybe b) -> m b
- GHCup: compileGHC :: (MonadMask m, MonadReader env m, HasDirs env, HasPlatformReq env, HasGHCupInfo env, HasSettings env, MonadThrow m, MonadResource m, HasLog env, MonadIO m, MonadUnliftIO m, MonadFail m) => Either GHCTargetVersion GitBranch -> Maybe Version -> Either Version FilePath -> Maybe Int -> Maybe FilePath -> Maybe FilePath -> [Text] -> Maybe String -> Bool -> Maybe FilePath -> Excepts '[AlreadyInstalled, BuildFailed, DigestError, GPGError, DownloadFailed, GHCupSetError, NoDownload, NotFoundInPATH, PatchFailed, UnknownArchive, TarDirDoesNotExist, NotInstalled, DirNotEmpty, ArchiveResult] m GHCTargetVersion
+ GHCup: compileGHC :: (MonadMask m, MonadReader env m, HasDirs env, HasPlatformReq env, HasGHCupInfo env, HasSettings env, MonadThrow m, MonadResource m, HasLog env, MonadIO m, MonadUnliftIO m, MonadFail m) => Either GHCTargetVersion GitBranch -> Maybe Version -> Either Version FilePath -> Maybe Int -> Maybe FilePath -> Maybe FilePath -> [Text] -> Maybe String -> Bool -> Maybe FilePath -> Excepts '[AlreadyInstalled, BuildFailed, DigestError, GPGError, DownloadFailed, GHCupSetError, NoDownload, NotFoundInPATH, PatchFailed, UnknownArchive, TarDirDoesNotExist, NotInstalled, DirNotEmpty, ArchiveResult, FileDoesNotExistError, HadrianNotFound, InvalidBuildConfig, ProcessError, CopyError, BuildFailed] m GHCTargetVersion
- GHCup: installGHCBin :: (MonadFail m, MonadMask m, MonadCatch m, MonadReader env m, HasPlatformReq env, HasGHCupInfo env, HasDirs env, HasSettings env, HasLog env, MonadResource m, MonadIO m, MonadUnliftIO m) => Version -> Maybe FilePath -> Bool -> Excepts '[AlreadyInstalled, BuildFailed, DigestError, GPGError, DownloadFailed, NoDownload, NotInstalled, UnknownArchive, TarDirDoesNotExist, DirNotEmpty, ArchiveResult] m ()
+ GHCup: installGHCBin :: (MonadFail m, MonadMask m, MonadCatch m, MonadReader env m, HasPlatformReq env, HasGHCupInfo env, HasDirs env, HasSettings env, HasLog env, MonadResource m, MonadIO m, MonadUnliftIO m) => Version -> Maybe FilePath -> Bool -> Excepts '[AlreadyInstalled, BuildFailed, DigestError, GPGError, DownloadFailed, NoDownload, NotInstalled, UnknownArchive, TarDirDoesNotExist, DirNotEmpty, ArchiveResult, ProcessError] m ()
- GHCup: installGHCBindist :: (MonadFail m, MonadMask m, MonadCatch m, MonadReader env m, HasDirs env, HasSettings env, HasPlatformReq env, HasLog env, MonadResource m, MonadIO m, MonadUnliftIO m) => DownloadInfo -> Version -> Maybe FilePath -> Bool -> Excepts '[AlreadyInstalled, BuildFailed, DigestError, GPGError, DownloadFailed, NoDownload, NotInstalled, UnknownArchive, TarDirDoesNotExist, DirNotEmpty, ArchiveResult] m ()
+ GHCup: installGHCBindist :: (MonadFail m, MonadMask m, MonadCatch m, MonadReader env m, HasDirs env, HasSettings env, HasPlatformReq env, HasLog env, MonadResource m, MonadIO m, MonadUnliftIO m) => DownloadInfo -> Version -> Maybe FilePath -> Bool -> Excepts '[AlreadyInstalled, BuildFailed, DigestError, GPGError, DownloadFailed, NoDownload, NotInstalled, UnknownArchive, TarDirDoesNotExist, DirNotEmpty, ArchiveResult, ProcessError] m ()
- GHCup: installPackedGHC :: (MonadMask m, MonadCatch m, MonadReader env m, HasDirs env, HasPlatformReq env, HasSettings env, MonadThrow m, HasLog env, MonadIO m, MonadUnliftIO m, MonadFail m) => FilePath -> Maybe TarDir -> FilePath -> Version -> Bool -> Excepts '[BuildFailed, UnknownArchive, TarDirDoesNotExist, DirNotEmpty, ArchiveResult] m ()
+ GHCup: installPackedGHC :: (MonadMask m, MonadCatch m, MonadReader env m, HasDirs env, HasPlatformReq env, HasSettings env, MonadThrow m, HasLog env, MonadIO m, MonadUnliftIO m, MonadFail m) => FilePath -> Maybe TarDir -> FilePath -> Version -> Bool -> Excepts '[BuildFailed, UnknownArchive, TarDirDoesNotExist, DirNotEmpty, ArchiveResult, ProcessError] m ()
- GHCup.Utils: runBuildAction :: (Pretty (V e), Show (V e), PopVariant BuildFailed e, ToVariantMaybe BuildFailed e, MonadReader env m, HasDirs env, HasSettings env, MonadIO m, MonadMask m, HasLog env, MonadUnliftIO m, MonadFail m, MonadCatch m) => FilePath -> Maybe FilePath -> Excepts e m a -> Excepts '[BuildFailed] m a
+ GHCup.Utils: runBuildAction :: (MonadReader env m, HasDirs env, HasSettings env, MonadIO m, MonadMask m, HasLog env, MonadUnliftIO m, MonadFail m, MonadCatch m) => FilePath -> Maybe FilePath -> Excepts e m a -> Excepts e m a

Files

+ CHANGELOG.md view
@@ -0,0 +1,217 @@+# Revision history for ghcup++## 0.1.17.3 -- 2021-10-27++* clean up during unpack failures as well+* migrate te aeson-2.0.1.0+* switch to yaml-streamly to fix performance regression wrt [#270](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/270)+* use [github.com/haskell/ghcup-metadata](https://github.com/haskell/ghcup-metadata) for metadata file download (better caching)++## 0.1.17.2 -- 2021-09-30++* Honour GHC bootstrap compiler during git clone stages wrt [#250](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/250)+* Speed up `unset` command+* Fix `--overwrite-version` for `ghcup compile ghc` wrt [#253](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/253)+* Apply patches before bootstrap++## 0.1.17.1 -- 2021-09-26++* Fix `NO_COLOR`+* Fix `ghcup list -t` for hls/stack, wrt [#244](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/244)+* Get rid of concurrent-output+* Improve cli interface with partial versions (e.g. `ghcup install ghc 8`)+* Fix HLS compilation builds+* Implement `ghcup gc` (garbage collection) command++## 0.1.17 -- 2021-09-20++* Add `--force` option to install/compile wrt [#210](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/210) by Arjun Kathuria+* Implement compiling HLS from source wrt [#201](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/201)+* Implement experimental GPG verification of the metadata file (see README) wrt [#263](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/236)+* Add `ghcup unset` command wrt [#145](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/145)+* Add `ghcup whereis bindir` etc wrt [#221](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/221)+* Greatly reduce dependency footprint wrt [#212](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/212)+* Add `ghcup --plan-json`+* Improve `--patchdir` option for GHC compilation wrt [#226](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/226)+* Try to improve logging and failure modes, especially during downloads+* Add descriptive warnings when HLS and GHC versions are incompatible+* Improve curl header parsing wrt [#213](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/213)++## 0.1.16.2 -- 2021-08-12++* Add isolated installations wrt [#141](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/141) by Arjun Kathuria+* Implement config cli MVP wrt [#134](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/134) by Oleksii Dorozhkin+* Fix `ghcup compile ghc --flavor`+* Fix minor installation bug causing increased disk space wrt [#139](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/139)+* Improved error handling wrt [#136](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/136)+* Various improvements to metadata download when using `file://` and `--offline` wrt [#137](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/137)++## 0.1.16.1 -- 2021-07-29++* Add 'nuke' subcommand wrt [#135](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/135), implemented by Arjun Kathuria+* Add uninstallation powershell script on windows wrt [#150](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/150)+* Improve logging+* Fix building GHC cross compiler wrt [#180](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/180)+* Allow to use hadrian as build system (for git based versions only) wrt [#35](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/35)+* Allow passing `--flavor` to `ghcup compile ghc`+* Support new GHC `bin/` directory format wrt [ghc/ghc#20074](https://gitlab.haskell.org/ghc/ghc/-/issues/20074#note_363720)+* Implement `whereis` subcommand wrt [#173](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/173)+* Add `--offline` switch and `prefetch` subcommand wrt [#186](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/186)+* Implement ETAGs hashing for metadata downloads to speed up `ghcup list` wrt [#193](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/193)+* Avoid unnecessary fetching of ghcup metadata in some commands+* Avoid unnecessary update checks for some commands+* Preserve mtimes on unpacked GHC tarballs on windows wrt [#187](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/187), fixing issues with `ghc-pkg`+* Fix lesser bug in `ghcup list` for stray stack versions wrt [#183](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/183)+* Major redo on how file removal on windows works, avoiding partial removals etc, wrt [#165](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/165)+* Improve ghcup tui for screen readers wrt [github/#4](https://github.com/haskell/ghcup-hs/pull/4), thanks to Mario Lang++## 0.1.15.2 -- 2021-06-13++* Remove legacy handling of cabal binary and be more graceful about binaries not installed by ghcup (e.g. stack)+* Fix GHC compilation from git+* Fix 'ghcup upgrade' on windows+* Allow to skip update checks via `GHCUP_SKIP_UPDATE_CHECK`+* Use libarchive on windows as well, fixing unpack errors wrt [#147](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/147)++## 0.1.15.1 -- 2021-06-11++* Add Apple Silicon support+* Add windows support wrt [#130](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/130)+* Add stack support+* Warn when /tmp doesn't have 5GB or more of disk space+* Allow to compile GHC from git repo wrt [#126](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/126)+* Allow to set custom ghc version when running 'ghcup compile ghc' wrt [#136](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/136)+* Add date to GHC bindist names created by ghcup++## 0.1.14.2 -- 2021-05-12++* Remove dead dependency on ascii-string++## 0.1.14.1 -- 2021-04-11++* Make internal symlink target parser more lax, fixes [#119](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/119)+* Prepare for hackage release++## 0.1.14 -- 2021-03-07++* Major bugfix: fix handling of stray versions wrt [#116](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/116)+* Fix error messages and overhaul pretty printing wrt [#115](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/115)++## 0.1.13 -- 2021-02-26++* Support ARMv7/AARCH64+* Add command line completions for installed and available versions wrt [MR #70](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/70)+* Allow to cycle through set tools wrt [#114](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/114)+* Fix item selection with unavailable versions wrt [#107](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/107)+* Allow for dynamic post-install, post-remove and pre-compile msgs wrt [MR #68](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/68)+* Alert user if upgraded ghcup is shadowed by old ghcup wrt [#111](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/111)+* Fix to `ghcup` directory creation and placement for the XDG install mode ([MR #49](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/49))+* Do 755 permissions on executables, wrt #97+* Add [NO_COLOR](https://no-color.org/) support wrt [MR #47](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/47)++## 0.1.12 -- 2020-11-21++* Fix disappearing HLS symlinks wrt #91+* improve TUI:+  - separators between tools sections+  - reverse list order so latest is on top+  - expand the blues selected bar+  - show new latest versions in bright white+* allow configuration file and setting TUI hotkeys wrt #41+  - see https://gitlab.haskell.org/haskell/ghcup-hs#configuration for a more in-depth explanation+* add a `--set` switch to `ghcup install ghc` to automatically set as default after install+* emit warnings when CC/LD is set wrt #82+* add support for version ranges in distro specifiers wrt #84+  - e.g. `"(>= 19 && <= 20) || ==0.2.2"` is a valid version key for distro++## 0.1.11 -- 2020-09-23++* Add support for installing haskell-language-server, wrt #65+* When compiling GHC from source create a bindist first, store that bindist in `~/.ghcup/cache` and install it, wrt #51+* Allow to compile over existing version (`ghcup compile ghc -v 8.6.5 -b 8.6.5`) and replace it wrt #59+* simplify installing from custom bindist wrt #60+  - `ghcup install ghc -u <url> <version>`+* fix bug when cabal isn't marked executable in bindist+* fix bug when `~/.ghcup` is a valid symlink wrt #49+* Drop support for compiling cabal from source (the old bootstrap script is discontinued)++## 0.1.10 -- 2020-08-14++* Show stray Cabals (useful for pre-releases or compiled ones)++## 0.1.9 -- 2020-08-14++* Fix bug when uninstalling all cabal versions+* Fix bug when setting a non-installed ghc version as current default+* Use yaml instead of generated json for download info for ease of adding new GHC versions #44+* Allow pre-release versions of GHC/cabal+* Add XDG dirs support (set `GHCUP_USE_XDG_DIRS`) wrt #39+* Allow to specify regex for tarball subdir (e.g. `ghc-.*`)+* Allow installing arbitrary bindists more seamlessly:+  - e.g. installing GHC HEAD: `ghcup -n install ghc -u '{"dlHash": "", "dlSubdir": { "RegexDir": "ghc-.*"}, "dlUri": "https://gitlab.haskell.org/api/v4/projects/1/jobs/artifacts/master/raw/ghc-x86_64-fedora27-linux.tar.xz?job=validate-x86_64-linux-fedora27" }' head`+* Avoid duplicate edits to .bashrc/.zshrc wrt #43++## 0.1.8 -- 2020-07-21++* Fix bug in logging thread dying on newlines+* Allow to install from arbitrary bindists: `ghcup -n install ghc -u '{"dlHash": "", "dlSubdir": "ghc-8.10.1", "dlUri": "https://github.com/commercialhaskell/ghc/releases/download/ghc-8.10.1-release/ghc-8.10.1-x86_64-deb9-linux.tar.xz"}' 8.10.1`++## 0.1.7 -- 2020-07-20++* Fix a bug in libarchive not unpacking some uncleanly packed bindists+* Improved fish support in bootstrap-haskell+* Only check for upgrades when not upgrading+* Fix platform detection for i386 docker images+* Improve alpine support+  - more/proper bindists+  - don't fall back to glibc based bindists+  - install bindists with `--disable-ld-override` to avoid ld.gold bugs++## 0.1.6 -- 2020-07-13++* Create a new curses (brick) based TUI, accessible via `ghcup tui` #24+* Support multiple installed versions of cabal #23+* Improvements to `ghcup list` (show unavailable bindists for platform)+* Fix redhat downloads #29+* Support for hadrian bindists (fixes alpine-8.10.1) #31+* Add FreeBSD bindists 8.6.5 and 8.8.3+* Fix memory leak during unpack++## 0.1.5 -- 2020-04-30++* Fix errors when PATH variable contains path components that are actually files+* Add `--version` and `--numeric-version` options+* Add `changelog` command+* Also check for available GHC and Cabal updates on start+* Add base versions as tags for every GHC version (these are "installable" tags and the latest GHC version matching the tag will be picked)+* Added `--format-raw` to list subcommand+* Allow to install X.Y versions (e.g.: ghcup install 8.8)+* Implement `--keep=<always|errors|never>` to control temporary build directories cleanup+* Add proper shell completions to the repo+* Fix building of documentation+* Allow to work in offline mode and use cached files if possible+* Allow to set the downloader via `--downloader=<curl|wget>`+* Support for compiling and installing a cross GHC (see README). This is experimental.++## 0.1.4 -- 2020-04-16++* build on all platforms with curl (as a binary), wrt https://gitlab.haskell.org/haskell/ghcup-hs/issues/6+* Fix unlinking of ghc symlinks after new installation, wrt https://gitlab.haskell.org/haskell/ghcup-hs/issues/7++## 0.1.3 -- 2020-04-15++* Fix lesser bug when skipping ghcup update++## 0.1.2 -- 2020-04-15++* Fix bug when removing the set GHC version+* Fix use of undocumented `GHCUP_INSTALL_BASE_PREFIX` variable+* skip upgrade if ghcup is already latest version++## 0.1.1 -- 2020-04-15++* fix awful fdopendir bug on mac bug by updating hpath-posix++## 0.1.0++* First version. Released on an unsuspecting world.
README.md view
@@ -1,10 +1,4 @@-`ghcup` makes it easy to install specific versions of `ghc` on GNU/Linux,-macOS (aka Darwin), FreeBSD and Windows and can also bootstrap a fresh Haskell developer environment from scratch.-It follows the unix UNIX philosophy of [do one thing and do it well](https://en.wikipedia.org/wiki/Unix_philosophy#Do_One_Thing_and_Do_It_Well).--Similar in scope to [rustup](https://github.com/rust-lang-nursery/rustup.rs), [pyenv](https://github.com/pyenv/pyenv) and [jenv](http://www.jenv.be).--## Table of Contents+## The GHCup Haskell installer  [![Join the chat at Libera.chat](https://img.shields.io/badge/chat-on%20libera%20IRC-brightgreen.svg)](https://kiwiirc.com/nextclient/irc.libera.chat/?nick=Guest%7C?#haskell,#haskell-ghcup) [![Join the chat at Matrix.org](https://img.shields.io/matrix/haskell-tooling:matrix.org?label=chat%20on%20matrix.org)](https://app.element.io/#/room/#haskell-tooling:matrix.org)@@ -12,588 +6,6 @@ [![Join the chat at https://gitter.im/haskell/ghcup](https://badges.gitter.im/haskell/ghcup.svg)](https://gitter.im/haskell/ghcup?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) <a href="https://opencollective.com/ghcup#category-CONTRIBUTE"><img src="https://opencollective.com/webpack/donate/button@2x.png?color=blue" alt="Donate" width="150"></a> -   * [Installation](#installation)-     * [Supported platforms](#supported-platforms)-     * [Manual install](#manual-install)-     * [Vim integration](#vim-integration)-   * [Usage](#usage)-     * [Configuration](#configuration)-     * [GPG verification](#gpg-verification)-     * [Manpages](#manpages)-     * [Shell-completion](#shell-completion)-     * [Compiling GHC from source](#compiling-ghc-from-source)-     * [XDG support](#xdg-support)-     * [Env variables](#env-variables)-     * [Installing custom bindists](#installing-custom-bindists)-     * [Isolated Installs](#isolated-installs)-     * [CI](#ci)-     * [Tips and tricks](#tips-and-tricks)-   * [Design goals](#design-goals)-   * [How](#how)-   * [Known users](#known-users)-   * [Known problems](#known-problems)-   * [FAQ](#faq)--## Installation--Most users should follow the instructions at [https://www.haskell.org/ghcup/](https://www.haskell.org/ghcup/).-Advanced users may want to perform a [manual installation](#manual-install).--### Supported platforms--This list may not be exhaustive and specifies support for bindists only.--| Platform | Architecture | ghcup | GHC | cabal | HLS | stack | -| ------ | ------ | ------ | ------ | ------ | ------ | ------ |-| Windows 7 | amd64 | ❔ | ✅ | ✅ | ✅ | ✅ |-| Windows 10 | amd64 | ✅ | ✅ | ✅ | ✅ | ✅ |-| Windows Server 2016 | amd64 | ✅ | ✅ | ✅ | ✅ | ✅ |-| Windows Server 2019 | amd64 | ✅ | ✅ | ✅ | ✅ | ✅ |-| Windows Server 2022 | amd64 | ✅ | ✅ | ✅ | ✅ | ✅ |-| Windows WSL1 | amd64 | ❌ | ❔ | ❔ | ❔ | ❔ |-| Windows WSL2 | amd64 | ✅ | ✅ | ✅ | ✅ | ✅ |-| MacOS >=13 | amd64 | ✅ | ✅ | ✅ | ✅ | ✅ |-| MacOS <13 | amd64 | ❌ | ❔ | ❔ | ❔ | ❔ |-| MacOS | aarch64 | ✅ | ✅ | ✅ | ⚠️ | ❌ |-| FreeBSD | amd64 | ✅ | ⚠️ | ✅ | ⚠️ | ❌ |-| Linux generic | x86 | ✅ | ✅ | ✅ | ✅ | ✅ |-| Linux generic | amd64 | ✅ | ✅ | ✅ | ✅ | ✅ |-| Linux generic | aarch64 | ✅ | ⚠️ | ✅ | ⚠️ | ❌ |-| Linux generic | armv7 | ✅ | ⚠️ | ✅ | ⚠️ | ❌ |--#### Windows 7--May or may not work, several issues:--* https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/140-* https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/197--#### WSL1--Unsupported. GHC may or may not work. Upgrade to WSL2.--#### MacOS <13--Not supported. Would require separate binaries, since >=13 binaries are incompatible.-Please upgrade.--#### MacOS aarch64--HLS bindists are still experimental. Stack is theoretically supported, but has no binaries yet.--#### FreeBSD--Lacks some upstream bindists and may need compat libs, since most bindists are built on FreeBSD-12.-HLS bindists are experimental.--#### Linux ARMv7/AARCH64--Lower availability of bindists. HLS only has experimental ones. Stack not supported currently.--### Manual install--Download the binary for your platform at [https://downloads.haskell.org/~ghcup/](https://downloads.haskell.org/~ghcup/)-and place it into your `PATH` anywhere.--Then adjust your `PATH` in `~/.bashrc` (or similar, depending on your shell) like so:--```sh-export PATH="$HOME/.cabal/bin:$HOME/.ghcup/bin:$PATH"-```--### Vim integration--See [ghcup.vim](https://github.com/hasufell/ghcup.vim).--## Usage--See `ghcup --help`.--For the simple interactive TUI, run:--```sh-ghcup tui-```--For the full functionality via cli:--```sh-# list available ghc/cabal versions-ghcup list--# install the recommended GHC version-ghcup install ghc--# install a specific GHC version-ghcup install ghc 8.2.2--# set the currently "active" GHC version-ghcup set ghc 8.4.4--# install cabal-install-ghcup install cabal--# update ghcup itself-ghcup upgrade-```--GHCup works very well with [`cabal-install`](https://hackage.haskell.org/package/cabal-install), which-handles your haskell packages and can demand that [a specific version](https://cabal.readthedocs.io/en/latest/nix-local-build.html#cfg-flag---with-compiler)  of `ghc` is available, which `ghcup` can do.--### Configuration--A configuration file can be put in `~/.ghcup/config.yaml`. The default config file-explaining all possible configurations can be found in this repo: [config.yaml](./data/config.yaml).--Partial configuration is fine. Command line options always override the config file settings.--### GPG verification--GHCup supports verifying the GPG signature of the metadata file. The metadata file then contains SHA256 hashes of all downloads, so-this is cryptographically secure.--First, obtain the gpg key:--```sh-gpg --batch --keyserver keys.openpgp.org --recv-keys 7784930957807690A66EBDBE3786C5262ECB4A3F-```--Then verify the gpg key in one of these ways:--1. find out where I live and visit me to do offline key signing-2. figure out my mobile phone number and call me to verify the fingerprint-3. more boring: contact me on Libera IRC (`maerwald`) and verify the fingerprint--Once you've verified the key, you have to figure out if you trust me.--If you trust me, then you can configure gpg in `~/.ghcup/config.yaml`:--```yml-gpg-setting: GPGLax # GPGStrict | GPGLax | GPGNone-```--In `GPGStrict` mode, ghcup will fail if verification fails. In `GPGLax` mode it will just print a warning.-You can also pass the mode via `ghcup --gpg <strict|lax|none>`.--### Manpages--For man pages to work you need [man-db](http://man-db.nongnu.org/) as your `man` provider, then issue `man ghc`. Manpages only work for the currently set ghc.-`MANPATH` may be required to be unset.--### Shell-completion--Shell completions are in [scripts/shell-completions](./scripts/shell-completions) directory of this repository.--For bash: install `shell-completions/bash`-as e.g. `/etc/bash_completion.d/ghcup` (depending on distro)-and make sure your bashrc sources the startup script-(`/usr/share/bash-completion/bash_completion` on some distros).--### Compiling GHC from source--Compiling from source is supported for both source tarballs and arbitrary git refs. See `ghcup compile ghc --help`-for a list of all available options.--If you need to overwrite the existing `build.mk`, check the default files-in [data/build_mk](./data/build_mk), copy them somewhere, adjust them and-pass `--config path/to/build.mk` to `ghcup compile ghc`.-Common `build.mk` options are explained [here](https://gitlab.haskell.org/ghc/ghc/-/wikis/building/using#build-configuration).--Make sure your system meets all the [prerequisites](https://gitlab.haskell.org/ghc/ghc/-/wikis/building/preparation).--#### Cross support--ghcup can compile and install a cross GHC for any target. However, this-requires that the build host has a complete cross toolchain and various-libraries installed for the target platform.--Consult the GHC documentation on the [prerequisites](https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling#tools-to-install).-For distributions with non-standard locations of cross toolchain and-libraries, this may need some tweaking of `build.mk` or configure args.-See `ghcup compile ghc --help` for further information.--### XDG support--To enable XDG style directories, set the environment variable `GHCUP_USE_XDG_DIRS` to anything.--Then you can control the locations via XDG environment variables as such:--* `XDG_DATA_HOME`: GHCs will be unpacked in `ghcup/ghc` subdir (default: `~/.local/share`)-* `XDG_CACHE_HOME`: logs and download files will be stored in `ghcup` subdir (default: `~/.cache`)-* `XDG_BIN_HOME`: binaries end up here (default: `~/.local/bin`)-* `XDG_CONFIG_HOME`: the config file is stored in `ghcup` subdir as `config.yaml` (default: `~/.config`)--**Note that `ghcup` makes some assumptions about structure of files in `XDG_BIN_HOME`. So if you have other tools-installing e.g. stack/cabal/ghc into it, this will likely clash. In that case consider disabling XDG support.**--### Env variables--This is the complete list of env variables that change GHCup behavior:--* `GHCUP_USE_XDG_DIRS`: see [XDG support](#xdg-support) above-* `TMPDIR`: where ghcup does the work (unpacking, building, ...)-* `GHCUP_INSTALL_BASE_PREFIX`: the base of ghcup (default: `$HOME`)-* `GHCUP_CURL_OPTS`: additional options that can be passed to curl-* `GHCUP_WGET_OPTS`: additional options that can be passed to wget-* `GHCUP_GPG_OPTS`: additional options that can be passed to gpg-* `GHCUP_SKIP_UPDATE_CHECK`: Skip the (possibly annoying) update check when you run a command-* `CC`/`LD` etc.: full environment is passed to the build system when compiling GHC via GHCup--### Installing custom bindists--There are a couple of good use cases to install custom bindists:--1. manually built bindists (e.g. with patches)-  - example: `ghcup install ghc -u 'file:///home/mearwald/tmp/ghc-eff-patches/ghc-8.10.2-x86_64-deb10-linux.tar.xz' 8.10.2-eff`-2. GHC head CI bindists-  - example: `ghcup install ghc -u 'https://gitlab.haskell.org/api/v4/projects/1/jobs/artifacts/master/raw/ghc-x86_64-fedora27-linux.tar.xz?job=validate-x86_64-linux-fedora27' head`-3. DWARF bindists-  - example: `ghcup install ghc -u 'https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb10-linux-dwarf.tar.xz' 8.10.2-dwarf`--Since the version parser is pretty lax, `8.10.2-eff` and `head` are both valid versions-and produce the binaries `ghc-8.10.2-eff` and `ghc-head` respectively.-GHCup always needs to know which version the bindist corresponds to (this is not automatically-detected).--### Isolated installs--Ghcup also enables you to install a tool (GHC, Cabal, HLS, Stack) at an isolated location of your choosing.-These installs, as the name suggests, are separate from your main installs and DO NOT conflict with them.---- No symlinks are made to these isolated installed tools, you'd have to manually point to them wherever you intend to use them.--- These installs, can also NOT be deleted from ghcup, you'd have to go and manually delete these.--You need to use the `--isolate` or `-i` flag followed by the directory path.--Examples:---1. install an isolated GHC version at location /home/user/isolated_dir/ghc/  -   - `ghcup install ghc 8.10.5 --isolate /home/user/isolated_dir/ghc`--2. isolated install Cabal at a location you desire  -   - `ghcup install cabal --isolate /home/username/my_isolated_dir/`--3. do an isolated install with a custom bindist  -   - `ghcup install ghc --isolate /home/username/my_isolated_dir/ -u 'https://gitlab.haskell.org/api/v4/projects/1/jobs/artifacts/master/raw/ghc-x86_64-fedora27-linux.tar.xz?job=validate-x86_64-linux-fedora27' head`--4. isolated install HLS  -   - `ghcup install hls --isolate /home/username/dir/hls/`--5. you can even compile ghc to an isolated location.  -   - `ghcup compile ghc -j 4 -v 9.0.1 -b 8.10.5 -i /home/username/my/dir/ghc` -   ---  --### CI--On windows, ghcup can be installed automatically on a CI runner like so:--```ps-Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $false,$true,$true,$false,$false,$false,$false,"C:\"-```--On linux/darwin/freebsd, run the following on your runner:--```sh-curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_MINIMAL=1 sh-```--This will just install `ghcup` and on windows additionally `msys2`.--#### Example github workflow--On github workflows you can use https://github.com/haskell/actions/--If you want to install ghcup manually though, here's an example config:--```yml-name: Haskell CI--on:-  push:-    branches: [ master ]-  pull_request:-    branches: [ master ]--jobs:-  build-cabal:--    runs-on: ${{ matrix.os }}-    strategy:-      fail-fast: false-      matrix:-        os: [ubuntu-latest, macOS-latest, windows-latest]-        ghc: ['8.10.7', '9.0.1']-        cabal: ['3.4.0.0']--    steps:-    - uses: actions/checkout@v2--    - if: matrix.os == 'windows-latest'-      name: Install ghcup on windows-      run: Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $false,$true,$true,$false,$false,$false,$false,"C:\"--    - if: matrix.os == 'windows-latest'-      name: Add ghcup to PATH-      run: echo "/c/ghcup/bin" >> $GITHUB_PATH-      shell: bash--    - if: matrix.os != 'windows-latest'-      name: Install ghcup on non-windows-      run: curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_NONINTERACTIVE=1 BOOTSTRAP_HASKELL_MINIMAL=1 sh--    - name: Install ghc/cabal-      run: |-        ghcup install ghc ${{ matrix.ghc }}-        ghcup install cabal ${{ matrix.cabal }}-      shell: bash--    - name: Update cabal index-      run: cabal update-      shell: bash--    - name: Build-      run: cabal build --enable-tests --enable-benchmarks-      shell: bash--    - name: Run tests-      run: cabal test-      shell: bash-```-   -### Tips and tricks--#### with_ghc wrapper (e.g. for HLS)--Due to some HLS [bugs](https://github.com/mpickering/hie-bios/issues/194) it's necessary that the `ghc` in PATH-is the one defined in `cabal.project`. With some simple shell functions, we can start our editor with the appropriate-path prepended.--For bash, in e.g. `~/.bashrc` define:--```sh-with_ghc() {-  local np=$(ghcup --offline whereis -d ghc $1 || { ghcup --cache install ghc $1 && ghcup whereis -d ghc $1 ;})-  if [ -e "${np}" ] ; then-    shift-    PATH="$np:$PATH" "$@"-  else-    >&2 echo "Cannot find or install GHC version $1"-    return 1-  fi-}-```--For fish shell, in e.g. `~/.config/fish/config.fish` define:--```fish-function with_ghc-  set --local np (ghcup --offline whereis -d ghc $argv[1] ; or begin ghcup --cache install ghc $argv[1] ; and ghcup whereis -d ghc $argv[1] ; end)-  if test -e "$np"-    PATH="$np:$PATH" $argv[2..-1]-  else-    echo "Cannot find or install GHC version $argv[1]" 1>&2-    return 1-  end-end-```--Then start a new shell and issue:--```sh-# replace 'code' with your editor-with_ghc 8.10.5 code path/to/haskell/source-```--Cabal and HLS will now see `8.10.5` as the primary GHC, without the need to-run `ghcup set` all the time when switching between projects.--## Design goals--1. simplicity-2. non-interactive-3. portable (eh)-4. do one thing and do it well (UNIX philosophy)--### Non-goals--1. invoking `sudo`, `apt-get` or *any* package manager-2. handling system packages-3. handling cabal projects-4. being a stack alternative--## How--Installs a specified GHC version into `~/.ghcup/ghc/<ver>`, and places `ghc-<ver>` symlinks in `~/.ghcup/bin/`.--Optionally, an unversioned `ghc` link can point to a default version of your choice.--This uses precompiled GHC binaries that have been compiled on fedora/debian by [upstream GHC](https://www.haskell.org/ghc/download_ghc_8_6_1.html#binaries).--Alternatively, you can also tell it to compile from source (note that this might fail due to missing requirements).--In addition this script can also install `cabal-install`.--## Known users--* Github actions:-	- [actions/virtual-environments](https://github.com/actions/virtual-environments)-	- [haskell/actions/setup](https://github.com/haskell/actions/tree/main/setup)-* mirrors:-	- [sjtug](https://mirror.sjtu.edu.cn/docs/ghcup)-* tools:-	- [vabal](https://github.com/Franciman/vabal)--## Known problems--### Custom ghc version names--When installing ghc bindists with custom version names as outlined in-[installing custom bindists](#installing-custom-bindists), then cabal might-be unable to find the correct `ghc-pkg` (also see [#73](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/73))-if you use `cabal build --with-compiler=ghc-foo`. Instead, point it to the full path, such as:-`cabal build --with-compiler=$HOME/.ghcup/ghc/<version-name>/bin/ghc` or set that GHC version-as the current one via: `ghcup set ghc <version-name>`.--This problem doesn't exist for regularly installed GHC versions.--### Limited distributions supported--Currently only GNU/Linux distributions compatible with the [upstream GHC](https://www.haskell.org/ghc/download_ghc_8_6_1.html#binaries) binaries are supported.--### Precompiled binaries--Since this uses precompiled binaries you may run into-several problems.--#### Missing libtinfo (ncurses)--You may run into problems with *ncurses* and **missing libtinfo**, in case-your distribution doesn't use the legacy way of building-ncurses and has no compatibility symlinks in place.--Ask your distributor on how to solve this or-try to compile from source via `ghcup compile <version>`.--#### Libnuma required--This was a [bug](https://ghc.haskell.org/trac/ghc/ticket/15688) in the build system of some GHC versions that lead to-unconditionally enabled libnuma support. To mitigate this you might have to install the libnuma-package of your distribution. See [here](https://gitlab.haskell.org/haskell/ghcup/issues/58) for a discussion.--### Compilation--Although this script can compile GHC for you, it's just a very thin-wrapper around the build system. It makes no effort in trying-to figure out whether you have the correct toolchain and-the correct dependencies. Refer to [the official docs](https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Linux)-on how to prepare your environment for building GHC.--### Stack support--There may be a number of bugs when trying to make ghcup installed GHC versions work with stack,-such as:--- https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/188--Further, stack's upgrade procedure may break/confuse ghcup. There are a number of integration-issues discussed here:--- https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/153--### Windows support--Windows support is in early stages. Since windows doesn't support symbolic links properly,-ghcup uses a [shimgen wrapper](https://github.com/71/scoop-better-shimexe). It seems to work-well, but there may be unknown issues with that approach.--Windows 7 and Powershell 2.0 aren't well supported at the moment, also see:--- https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/140-- https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/197--## FAQ--### Why reimplement stack?--GHCup is not a reimplementation of stack. The only common part is automatic installation of GHC,-but even that differs in scope and design.--### Why should I use ghcup over stack?--GHCup is not a replacement for stack. Instead, it supports installing and managing stack versions.-It does the same for cabal, GHC and HLS. As such, It doesn't make a workflow choice for you.--### Why should I let ghcup manage stack?--You don't need to. However, some users seem to prefer to have a central tool that manages cabal and stack-at the same time. Additionally, it can allow better sharing of GHC installation across these tools.-Also see:--* https://docs.haskellstack.org/en/stable/yaml_configuration/#system-ghc-* https://github.com/commercialhaskell/stack/pull/5585--### Why does ghcup not use stack code?--Oddly, this question has been asked a couple of times. For the curious, here are a few reasons:--1. GHCup started as a shell script. At the time of rewriting it in Haskell, the authors didn't even know that stack exposes *some* of its [installation API](https://hackage.haskell.org/package/stack-2.5.1.1/docs/Stack-Setup.html)-2. Even if they did, it doesn't seem it would have satisfied their needs-	  - it didn't support cabal installation, which was the main motivation behind GHCup back then-	  - depending on a codebase as big as stack for a central part of one's application without having a short contribution pipeline would likely have caused stagnation or resulted in simply copy-pasting the relevant code in order to adjust it-	  - it's not clear how GHCup would have been implemented with the provided API. It seems the codebases are fairly different. GHCup does a lot of symlink handling to expose a central `bin/` directory that users can easily put in PATH, without having to worry about anything more. It also provides explicit removal functionality, GHC cross-compilation, a TUI, etc etc.-3. GHCup is built around unix principles and supposed to be simple.--### Why not unify...--#### ...stack and Cabal and do away with standalone installers--GHCup is not involved in such decisions. cabal-install and stack might have a-sufficiently different user experience to warrant having a choice.--#### ...installer implementations and have a common library--This sounds like an interesting goal. However, GHC installation isn't a hard engineering problem-and the shared code wouldn't be too exciting. For such an effort to make sense, all involved-parties would need to collaborate and have a short pipeline to get patches in.--It's true this would solve the integration problem, but following unix principles, we can-do similar via **hooks**. Both cabal and stack can support installation hooks. These hooks-can then call into ghcup or anything else, also see:--* https://github.com/haskell/cabal/issues/7394-* https://github.com/commercialhaskell/stack/pull/5585--#### ...installers (like, all of it)--So far, there hasn't been an **open** discussion about this. Is this even a good idea?-Sometimes projects converge eventually if their overlap is big enough, sometimes they don't.--While unification sounds like a simplification of the ecosystem, it also takes away choice.-Take `curl` and `wget` as an example.--How bad do we need this?--### Why not support windows?--Windows is supported since GHCup version 0.1.15.1.--### Why the haskell reimplementation?--GHCup started as a portable posix shell script of maybe 50 LOC. GHC installation itself can be carried out in-about ~3 lines of shell code (download, unpack , configure+make install). However, much convenient functionality-has been added since, as well as ensuring that all operations are safe and correct. The shell script ended up with-over 2k LOC, which was very hard to maintain.--The main concern when switching from a portable shell script to haskell was platform/architecture support.-However, ghcup now re-uses GHCs CI infrastructure and as such is perfectly in sync with all platforms that-GHC supports.--### Is GHCup affiliated with the Haskell Foundation?--There has been some collaboration: Windows and Stack support were mainly requested by the Haskell Foundation-and those seemed interesting features to add.+GHCup is an installer for the general purpose language [Haskell](https://www.haskell.org/). -Other than that, GHCup is dedicated only to its users and is supported by haskell.org through hosting and CI-infrastructure.+Visit the [documentation](https://www.haskell.org/ghcup/) for installation instructions.
app/ghcup-gen/Main.hs view
@@ -1,10 +1,7 @@ {-# LANGUAGE CPP               #-} {-# LANGUAGE DataKinds         #-} {-# LANGUAGE DuplicateRecordFields #-}-{-# LANGUAGE NamedFieldPuns    #-} {-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE QuasiQuotes       #-}-{-# LANGUAGE TemplateHaskell   #-} {-# LANGUAGE TypeApplications  #-}  @@ -17,6 +14,7 @@ import           GHCup.Utils.Logger import           GHCup.Types.JSON               ( ) +import           Control.Exception              ( displayException ) import           Control.Monad.Trans.Reader     ( runReaderT ) import           Control.Monad.IO.Class import           Data.Char                      ( toLower )@@ -37,7 +35,7 @@ import qualified Data.Text.IO                  as T import qualified Data.Text                     as T import qualified Data.ByteString               as B-import qualified Data.YAML.Aeson               as Y+import qualified Data.Yaml.Aeson               as Y   data Options = Options@@ -150,8 +148,8 @@     ValidateYAMLOpts { vInput = Just (FileInput file) } ->       B.readFile file >>= valAndExit f   valAndExit f contents = do-    (GHCupInfo _ av gt) <- case Y.decode1Strict contents of+    (GHCupInfo _ av gt) <- case Y.decodeEither' contents of       Right r -> pure r-      Left  (_, e) -> die (color Red $ show e)+      Left  e -> die (color Red $ displayException e)     f av gt       >>= exitWith
app/ghcup-gen/Validate.hs view
@@ -91,23 +91,23 @@   checkHasRequiredPlatforms t v tags arch pspecs = do     let v' = prettyVer v         arch' = prettyShow arch-    when (notElem (Linux UnknownLinux) pspecs) $ do+    when (Linux UnknownLinux `notElem` pspecs) $ do       lift $ logError $         "Linux UnknownLinux missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'       addError-    when ((notElem Darwin pspecs) && arch == A_64) $ do+    when ((Darwin `notElem` pspecs) && arch == A_64) $ do       lift $ logError $ "Darwin missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'       addError-    when ((notElem FreeBSD pspecs) && arch == A_64) $ lift $ logWarn $+    when ((FreeBSD `notElem` pspecs) && arch == A_64) $ lift $ logWarn $       "FreeBSD missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'-    when (notElem Windows pspecs && arch == A_64) $ do+    when (Windows `notElem` pspecs && arch == A_64) $ do       lift $ logError $ "Windows missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'       addError      -- alpine needs to be set explicitly, because     -- we cannot assume that "Linux UnknownLinux" runs on Alpine     -- (although it could be static)-    when (notElem (Linux Alpine) pspecs) $+    when (Linux Alpine `notElem` pspecs) $       case t of         GHCup | arch `elem` [A_64, A_32] -> lift (logError $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)) >> addError         Cabal | v > [vver|2.4.1.0|]@@ -117,7 +117,7 @@         _ -> lift $ logWarn $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)    checkUniqueTags tool = do-    let allTags = join $ fmap _viTags $ M.elems $ availableToolVersions dls tool+    let allTags = _viTags =<< M.elems (availableToolVersions dls tool)     let nonUnique =           fmap fst             .   filter (\(_, b) -> not b)@@ -155,8 +155,8 @@    -- a tool must have at least one of each mandatory tags   checkMandatoryTags tool = do-    let allTags = join $ fmap _viTags $ M.elems $ availableToolVersions dls tool-    forM_ [Latest, Recommended] $ \t -> case elem t allTags of+    let allTags = _viTags =<< M.elems (availableToolVersions dls tool)+    forM_ [Latest, Recommended] $ \t -> case t `elem` allTags of       False -> do         lift $ logError $ "Tag " <> T.pack (prettyShow t) <> " missing from " <> T.pack (prettyShow tool)         addError@@ -202,7 +202,7 @@   let dlis = either (const []) (\tool -> nubOrd $ dls ^.. each %& indices (maybe (const True) (==) tool) %> each %& indices (matchTest versionRegex . T.unpack . prettyVer) % (viSourceDL % _Just `summing` viArch % each % each % each)) etool   let gdlis = nubOrd $ gt ^.. each   let allDls = either (const gdlis) (const dlis) etool-  when (null allDls) $ logError "no tarballs selected by filter" *> (flip runReaderT ref addError)+  when (null allDls) $ logError "no tarballs selected by filter" *> runReaderT addError ref   forM_ allDls (downloadAll ref)    -- exit@@ -260,7 +260,7 @@             when (basePath /= prel) $ do               logError $                 "Subdir doesn't match: expected " <> T.pack prel <> ", got " <> T.pack basePath-              (flip runReaderT ref addError)+              runReaderT addError ref           Just (RegexDir regexString) -> do             logInfo $               "verifying subdir (regex): " <> T.pack regexString@@ -268,13 +268,13 @@                   compIgnoreCase                   execBlank                   regexString-            when (not (match regex basePath)) $ do+            unless (match regex basePath) $ do               logError $                 "Subdir doesn't match: expected regex " <> T.pack regexString <> ", got " <> T.pack basePath-              (flip runReaderT ref addError)+              runReaderT addError ref           Nothing -> pure ()       VRight Nothing -> pure ()       VLeft  e -> do         logError $           "Could not download (or verify hash) of " <> T.pack (show dli) <> ", Error was: " <> T.pack (prettyShow e)-        (flip runReaderT ref addError)+        runReaderT addError ref
app/ghcup/BrickMain.hs view
@@ -2,10 +2,7 @@ {-# LANGUAGE DataKinds         #-} {-# LANGUAGE FlexibleContexts  #-} {-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE QuasiQuotes       #-}-{-# LANGUAGE TemplateHaskell   #-} {-# LANGUAGE TypeApplications  #-}-{-# LANGUAGE ViewPatterns      #-} {-# LANGUAGE RankNTypes        #-}  module BrickMain where@@ -368,10 +365,7 @@   selectLatest :: Vector ListResult -> Int-selectLatest v =-  case V.findIndex (\ListResult {..} -> lTool == GHC && Latest `elem` lTag) v of-    Just ix -> ix-    Nothing -> 0+selectLatest = fromMaybe 0 . V.findIndex (\ListResult {..} -> lTool == GHC && Latest `elem` lTag)   -- | Replace the @appState@ or construct it based on a filter function@@ -398,14 +392,14 @@ filterVisible v t e | lInstalled e = True                     | v                     , not t-                    , not (elem (lTool e) hiddenTools) = True+                    , lTool e `notElem` hiddenTools = True                     | not v                     , t-                    , not (elem Old (lTag e)) = True+                    , Old `notElem` lTag e = True                     | v                     , t = True-                    | otherwise = not (elem Old (lTag e)) &&-                                  not (elem (lTool e) hiddenTools)+                    | otherwise = (Old `notElem` lTag e) &&+                                  (lTool e `notElem` hiddenTools)   install' :: (MonadReader AppState m, MonadIO m, MonadThrow m, MonadFail m, MonadMask m, MonadUnliftIO m)@@ -434,6 +428,7 @@               , NoUpdate               , TarDirDoesNotExist               , FileAlreadyExistsError+              , ProcessError               ]    run (do@@ -506,7 +501,7 @@     )     >>= \case           VRight vi -> do-            forM_ (join $ fmap _viPostRemove vi) $ \msg ->+            forM_ (_viPostRemove =<< vi) $ \msg ->               logInfo msg             pure $ Right ()           VLeft  e -> pure $ Left (prettyShow e)@@ -593,8 +588,7 @@   r <-     flip runReaderT settings     . runE @'[DigestError, GPGError, JSONError , DownloadFailed , FileDoesNotExistError]-    $ liftE-    $ getDownloadsF+    $ liftE getDownloadsF    case r of     VRight a -> pure $ Right a
+ app/ghcup/GHCup/OptParse.hs view
@@ -0,0 +1,303 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}+++module GHCup.OptParse (+    module GHCup.OptParse.Common+  , module GHCup.OptParse.Install+  , module GHCup.OptParse.Set+  , module GHCup.OptParse.UnSet+  , module GHCup.OptParse.Rm+  , module GHCup.OptParse.Compile+  , module GHCup.OptParse.Config+  , module GHCup.OptParse.Whereis+  , module GHCup.OptParse.List+  , module GHCup.OptParse.Upgrade+  , module GHCup.OptParse.ChangeLog+  , module GHCup.OptParse.Prefetch+  , module GHCup.OptParse.GC+  , module GHCup.OptParse.DInfo+  , module GHCup.OptParse.Nuke+  , module GHCup.OptParse.ToolRequirements+  , module GHCup.OptParse+) where+++import           GHCup.OptParse.Common+import           GHCup.OptParse.Install+import           GHCup.OptParse.Set+import           GHCup.OptParse.UnSet+import           GHCup.OptParse.Rm+import           GHCup.OptParse.Compile+import           GHCup.OptParse.Config+import           GHCup.OptParse.Whereis+import           GHCup.OptParse.List+import           GHCup.OptParse.Upgrade+import           GHCup.OptParse.ChangeLog+import           GHCup.OptParse.Prefetch+import           GHCup.OptParse.GC+import           GHCup.OptParse.DInfo+import           GHCup.OptParse.ToolRequirements+import           GHCup.OptParse.Nuke++import           GHCup.Types++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Data.Bifunctor+import           Data.Either+import           Data.Functor+import           Data.Maybe+import           Options.Applicative     hiding ( style )+import           Options.Applicative.Help.Pretty ( text )+import           Prelude                 hiding ( appendFile )+import           URI.ByteString++import qualified Data.ByteString.UTF8          as UTF8++++data Options = Options+  {+  -- global options+    optVerbose     :: Maybe Bool+  , optCache       :: Maybe Bool+  , optUrlSource   :: Maybe URI+  , optNoVerify    :: Maybe Bool+  , optKeepDirs    :: Maybe KeepDirs+  , optsDownloader :: Maybe Downloader+  , optNoNetwork   :: Maybe Bool+  , optGpg         :: Maybe GPGSetting+  -- commands+  , optCommand     :: Command+  }++data Command+  = Install (Either InstallCommand InstallOptions)+  | InstallCabalLegacy InstallOptions+  | Set (Either SetCommand SetOptions)+  | UnSet UnsetCommand+  | List ListOptions+  | Rm (Either RmCommand RmOptions)+  | DInfo+  | Compile CompileCommand+  | Config ConfigCommand+  | Whereis WhereisOptions WhereisCommand+  | Upgrade UpgradeOpts Bool+  | ToolRequirements+  | ChangeLog ChangeLogOptions+  | Nuke+#if defined(BRICK)+  | Interactive+#endif+  | Prefetch PrefetchCommand+  | GC GCOptions++++opts :: Parser Options+opts =+  Options+    <$> invertableSwitch "verbose" 'v' False (help "Enable verbosity (default: disabled)")+    <*> invertableSwitch "cache" 'c' False (help "Cache downloads in ~/.ghcup/cache (default: disabled)")+    <*> optional+          (option+            (eitherReader parseUri)+            (  short 's'+            <> long "url-source"+            <> metavar "URL"+            <> help "Alternative ghcup download info url"+            <> internal+            )+          )+    <*> (fmap . fmap) not (invertableSwitch "verify" 'n' True (help "Disable tarball checksum verification (default: enabled)"))+    <*> optional (option+          (eitherReader keepOnParser)+          (  long "keep"+          <> metavar "<always|errors|never>"+          <> help+               "Keep build directories? (default: errors)"+          <> hidden+          ))+    <*> optional (option+          (eitherReader downloaderParser)+          (  long "downloader"+#if defined(INTERNAL_DOWNLOADER)+          <> metavar "<internal|curl|wget>"+          <> help+          "Downloader to use (default: internal)"+#else+          <> metavar "<curl|wget>"+          <> help+          "Downloader to use (default: curl)"+#endif+          <> hidden+          ))+    <*> invertableSwitch "offline" 'o' False (help "Don't do any network calls, trying cached assets and failing if missing.")+    <*> optional (option+          (eitherReader gpgParser)+          (  long "gpg"+          <> metavar "<strict|lax|none>"+          <> help+          "GPG verification (default: none)"+          ))+    <*> com+ where+  parseUri s' =+    first show $ parseURI strictURIParserOptions (UTF8.fromString s')+++com :: Parser Command+com =+  subparser+#if defined(BRICK)+      (  command+          "tui"+          (   (\_ -> Interactive)+          <$> info+                helper+                (  progDesc "Start the interactive GHCup UI"+                )+          )+      <>  command+#else+      (  command+#endif+          "install"+          (   Install+          <$> info+                (installParser <**> helper)+                (  progDesc "Install or update GHC/cabal/HLS/stack"+                <> footerDoc (Just $ text installToolFooter)+                )+          )+      <> command+           "set"+           (info+             (Set <$> setParser <**> helper)+             (  progDesc "Set currently active GHC/cabal version"+             <> footerDoc (Just $ text setFooter)+             )+           )+      <> command+           "unset"+           (info+             (UnSet <$> unsetParser <**> helper)+             (  progDesc "Unset currently active GHC/cabal version"+             <> footerDoc (Just $ text unsetFooter)+             )+           )+      <> command+           "rm"+           (info+             (Rm <$> rmParser <**> helper)+             (  progDesc "Remove a GHC/cabal/HLS/stack version"+             <> footerDoc (Just $ text rmFooter)+             )+           )++      <> command+           "list"+           (info (List <$> listOpts <**> helper)+                 (progDesc "Show available GHCs and other tools")+           )+      <> command+           "upgrade"+           (info+             (    (Upgrade <$> upgradeOptsP <*> switch+                    (short 'f' <> long "force" <> help "Force update")+                  )+             <**> helper+             )+             (progDesc "Upgrade ghcup")+           )+      <> command+           "compile"+           (   Compile+           <$> info (compileP <**> helper)+                    (progDesc "Compile a tool from source")+           )+      <> command+           "whereis"+            (info+             (   (Whereis+                     <$> (WhereisOptions <$> switch (short 'd' <> long "directory" <> help "return directory of the binary instead of the binary location"))+                     <*> whereisP+                 ) <**> helper+             )+             (progDesc "Find a tools location"+             <> footerDoc ( Just $ text whereisFooter ))+           )+      <> command+           "prefetch"+            (info+             (   (Prefetch+                     <$> prefetchP+                 ) <**> helper+             )+             (progDesc "Prefetch assets"+             <> footerDoc ( Just $ text prefetchFooter ))+           )+      <> command+           "gc"+            (info+             (   (GC+                     <$> gcP+                 ) <**> helper+             )+             (progDesc "Garbage collection"+             <> footerDoc ( Just $ text gcFooter ))+           )+      <> commandGroup "Main commands:"+      )+    <|> subparser+          (  command+              "debug-info"+              ((\_ -> DInfo) <$> info helper (progDesc "Show debug info"))+          <> command+               "tool-requirements"+               (   (\_ -> ToolRequirements)+               <$> info helper+                        (progDesc "Show the requirements for ghc/cabal")+               )+          <> command+               "changelog"+               (info+                  (fmap ChangeLog changelogP <**> helper)+                  (  progDesc "Find/show changelog"+                  <> footerDoc (Just $ text changeLogFooter)+                  )+               )+          <> command+               "config"+               (   Config+               <$> info (configP <**> helper)+                        (progDesc "Show or set config" <> footerDoc (Just $ text configFooter))+               )+          <> commandGroup "Other commands:"+          <> hidden+          )+    <|> subparser+          (  command+              "install-cabal"+              (info+                 ((InstallCabalLegacy <$> installOpts (Just Cabal)) <**> helper)+                 (  progDesc "Install or update cabal"+                 <> footerDoc (Just $ text installCabalFooter)+                 )+              )+          <> internal+          )+     <|> subparser+          (command+              "nuke"+               (info (pure Nuke <**> helper)+                     (progDesc "Completely remove ghcup from your system"))+           <> commandGroup "Nuclear Commands:"+           <> hidden+          )
+ app/ghcup/GHCup/OptParse/ChangeLog.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.ChangeLog where+++import           GHCup.Types+import           GHCup.Utils.Logger+import           GHCup.OptParse.Common+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Data.Maybe+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+import GHCup.Types.Optics+import GHCup.Utils+import Data.Versions+import URI.ByteString (serializeURIRef')+import GHCup.Utils.Prelude+import GHCup.Utils.File (exec)+import Data.Char (toLower)++++    ---------------+    --[ Options ]--+    ---------------+++data ChangeLogOptions = ChangeLogOptions+  { clOpen    :: Bool+  , clTool    :: Maybe Tool+  , clToolVer :: Maybe ToolVersion+  }+++++    ---------------+    --[ Parsers ]--+    ---------------++          +changelogP :: Parser ChangeLogOptions+changelogP =+  (\x y -> ChangeLogOptions x y)+    <$> switch (short 'o' <> long "open" <> help "xdg-open the changelog url")+    <*> optional+          (option+            (eitherReader+              (\s' -> case fmap toLower s' of+                "ghc"   -> Right GHC+                "cabal" -> Right Cabal+                "ghcup" -> Right GHCup+                "stack" -> Right Stack+                e       -> Left e+              )+            )+            (short 't' <> long "tool" <> metavar "<ghc|cabal|ghcup>" <> help+              "Open changelog for given tool (default: ghc)"+            )+          )+    <*> optional (toolVersionArgument Nothing Nothing)++++    --------------+    --[ Footer ]--+    --------------+++changeLogFooter :: String+changeLogFooter = [s|Discussion:+  By default returns the URI of the ChangeLog of the latest GHC release.+  Pass '-o' to automatically open via xdg-open.|]++++    ------------------+    --[ Entrypoint ]--+    ------------------++++changelog :: ( Monad m+             , MonadMask m+             , MonadUnliftIO m+             , MonadFail m+             )+          => ChangeLogOptions+          -> (forall a . ReaderT AppState m a -> m a)+          -> (ReaderT LeanAppState m () -> m ())+          -> m ExitCode+changelog ChangeLogOptions{..} runAppState runLogger = do+  GHCupInfo { _ghcupDownloads = dls } <- runAppState getGHCupInfo+  let tool = fromMaybe GHC clTool+      ver' = maybe+        (Right Latest)+        (\case+          ToolVersion tv -> Left (_tvVersion tv) -- FIXME: ugly sharing of ToolVersion+          ToolTag     t  -> Right t+        )+        clToolVer+      muri = getChangeLog dls tool ver'+  case muri of+    Nothing -> do+      runLogger+        (logWarn $+          "Could not find ChangeLog for " <> T.pack (prettyShow tool) <> ", version " <> either prettyVer (T.pack . show) ver'+        )+      pure ExitSuccess+    Just uri -> do+      pfreq <- runAppState getPlatformReq+      let uri' = T.unpack . decUTF8Safe . serializeURIRef' $ uri+          cmd = case _rPlatform pfreq of+                  Darwin  -> "open"+                  Linux _ -> "xdg-open"+                  FreeBSD -> "xdg-open"+                  Windows -> "start"++      if clOpen+        then do+          runAppState $+            exec cmd+                 [T.unpack $ decUTF8Safe $ serializeURIRef' uri]+                 Nothing+                 Nothing+              >>= \case+                    Right _ -> pure ExitSuccess+                    Left  e -> logError (T.pack $ prettyShow e)+                      >> pure (ExitFailure 13)+        else liftIO $ putStrLn uri' >> pure ExitSuccess
+ app/ghcup/GHCup/OptParse/Common.hs view
@@ -0,0 +1,513 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}++module GHCup.OptParse.Common where+++import           GHCup+import           GHCup.Download+import           GHCup.Errors+import           GHCup.Platform+import           GHCup.Types+import           GHCup.Types.Optics+import           GHCup.Utils+import           GHCup.Utils.Logger+import           GHCup.Utils.MegaParsec+import           GHCup.Utils.Prelude++import           Control.Exception.Safe+#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Data.Bifunctor+import           Data.Char+import           Data.Either+import           Data.Functor+import           Data.List                      ( nub, sort, sortBy )+import           Data.Maybe+import           Data.Text                      ( Text )+import           Data.Versions           hiding ( str )+import           Data.Void+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           Safe+import           System.FilePath+import           URI.ByteString++import qualified Data.ByteString.UTF8          as UTF8+import qualified Data.Map.Strict               as M+import qualified Data.Text                     as T+import qualified Text.Megaparsec               as MP+import GHCup.Version+++    -------------+    --[ Types ]--+    -------------++data ToolVersion = ToolVersion GHCTargetVersion -- target is ignored for cabal+                 | ToolTag Tag++-- a superset of ToolVersion+data SetToolVersion = SetToolVersion GHCTargetVersion+                    | SetToolTag Tag+                    | SetRecommended+                    | SetNext++prettyToolVer :: ToolVersion -> String+prettyToolVer (ToolVersion v') = T.unpack $ tVerToText v'+prettyToolVer (ToolTag t) = show t++toSetToolVer :: Maybe ToolVersion -> SetToolVersion+toSetToolVer (Just (ToolVersion v')) = SetToolVersion v'+toSetToolVer (Just (ToolTag t')) = SetToolTag t'+toSetToolVer Nothing = SetRecommended+++++    --------------+    --[ Parser ]--+    --------------+++-- | same as toolVersionParser, except as an argument.+toolVersionArgument :: Maybe ListCriteria -> Maybe Tool -> Parser ToolVersion+toolVersionArgument criteria tool =+  argument (eitherReader toolVersionEither)+    (metavar (mv tool)+    <> completer (tagCompleter (fromMaybe GHC tool) [])+    <> foldMap (completer . versionCompleter criteria) tool)+ where+  mv (Just GHC) = "GHC_VERSION|TAG"+  mv (Just HLS) = "HLS_VERSION|TAG"+  mv _          = "VERSION|TAG"+++versionParser :: Parser GHCTargetVersion+versionParser = option+  (eitherReader tVersionEither)+  (short 'v' <> long "version" <> metavar "VERSION" <> help "The target version"+  )++versionParser' :: Maybe ListCriteria -> Maybe Tool -> Parser Version+versionParser' criteria tool = argument+  (eitherReader (first show . version . T.pack))+  (metavar "VERSION"  <> foldMap (completer . versionCompleter criteria) tool)++versionArgument :: Maybe ListCriteria -> Maybe Tool -> Parser GHCTargetVersion+versionArgument criteria tool = argument (eitherReader tVersionEither) (metavar "VERSION" <> foldMap (completer . versionCompleter criteria) tool)+++-- https://github.com/pcapriotti/optparse-applicative/issues/148++-- | A switch that can be enabled using --foo and disabled using --no-foo.+--+-- The option modifier is applied to only the option that is *not* enabled+-- by default. For example:+--+-- > invertableSwitch "recursive" True (help "do not recurse into directories")+--+-- This example makes --recursive enabled by default, so+-- the help is shown only for --no-recursive.+invertableSwitch+    :: String              -- ^ long option+    -> Char                -- ^ short option for the non-default option+    -> Bool                -- ^ is switch enabled by default?+    -> Mod FlagFields Bool -- ^ option modifier+    -> Parser (Maybe Bool)+invertableSwitch longopt shortopt defv optmod = invertableSwitch' longopt shortopt defv+    (if defv then mempty else optmod)+    (if defv then optmod else mempty)++-- | Allows providing option modifiers for both --foo and --no-foo.+invertableSwitch'+    :: String              -- ^ long option (eg "foo")+    -> Char                -- ^ short option for the non-default option+    -> Bool                -- ^ is switch enabled by default?+    -> Mod FlagFields Bool -- ^ option modifier for --foo+    -> Mod FlagFields Bool -- ^ option modifier for --no-foo+    -> Parser (Maybe Bool)+invertableSwitch' longopt shortopt defv enmod dismod = optional+    ( flag' True ( enmod <> long longopt <> if defv then mempty else short shortopt)+    <|> flag' False (dismod <> long nolongopt <> if defv then short shortopt else mempty)+    )+  where+    nolongopt = "no-" ++ longopt++++    ---------------------+    --[ Either Parser ]--+    ---------------------+++platformParser :: String -> Either String PlatformRequest+platformParser s' = case MP.parse (platformP <* MP.eof) "" (T.pack s') of+  Right r -> pure r+  Left  e -> Left $ errorBundlePretty e+ where+  archP :: MP.Parsec Void Text Architecture+  archP = MP.try (MP.chunk "x86_64" $> A_64) <|> (MP.chunk "i386" $> A_32)+  platformP :: MP.Parsec Void Text PlatformRequest+  platformP = choice'+    [ (`PlatformRequest` FreeBSD)+    <$> (archP <* MP.chunk "-")+    <*> (  MP.chunk "portbld"+        *> (   MP.try (Just <$> verP (MP.chunk "-freebsd" <* MP.eof))+           <|> pure Nothing+           )+        <* MP.chunk "-freebsd"+        )+    , (`PlatformRequest` Darwin)+    <$> (archP <* MP.chunk "-")+    <*> (  MP.chunk "apple"+        *> (   MP.try (Just <$> verP (MP.chunk "-darwin" <* MP.eof))+           <|> pure Nothing+           )+        <* MP.chunk "-darwin"+        )+    , (\a d mv -> PlatformRequest a (Linux d) mv)+    <$> (archP <* MP.chunk "-")+    <*> distroP+    <*> ((MP.try (Just <$> verP (MP.chunk "-linux" <* MP.eof)) <|> pure Nothing+         )+        <* MP.chunk "-linux"+        )+    ]+  distroP :: MP.Parsec Void Text LinuxDistro+  distroP = choice'+    [ MP.chunk "debian" $> Debian+    , MP.chunk "deb" $> Debian+    , MP.chunk "ubuntu" $> Ubuntu+    , MP.chunk "mint" $> Mint+    , MP.chunk "fedora" $> Fedora+    , MP.chunk "centos" $> CentOS+    , MP.chunk "redhat" $> RedHat+    , MP.chunk "alpine" $> Alpine+    , MP.chunk "gentoo" $> Gentoo+    , MP.chunk "exherbo" $> Exherbo+    , MP.chunk "unknown" $> UnknownLinux+    ]+++bindistParser :: String -> Either String URI+bindistParser = first show . parseURI strictURIParserOptions . UTF8.fromString+++absolutePathParser :: FilePath -> Either String FilePath+absolutePathParser f = case isValid f && isAbsolute f of+              True -> Right $ normalise f+              False -> Left "Please enter a valid absolute filepath."++isolateParser :: FilePath -> Either String FilePath+isolateParser f = case isValid f of+              True -> Right $ normalise f+              False -> Left "Please enter a valid filepath for isolate dir."++toolVersionEither :: String -> Either String ToolVersion+toolVersionEither s' =+  second ToolTag (tagEither s') <|> second ToolVersion (tVersionEither s')++tagEither :: String -> Either String Tag+tagEither s' = case fmap toLower s' of+  "recommended" -> Right Recommended+  "latest"      -> Right Latest+  ('b':'a':'s':'e':'-':ver') -> case pvp (T.pack ver') of+                                  Right x -> Right (Base x)+                                  Left  _ -> Left $ "Invalid PVP version for base " <> ver'+  other         -> Left $ "Unknown tag " <> other+++tVersionEither :: String -> Either String GHCTargetVersion+tVersionEither =+  first (const "Not a valid version") . MP.parse ghcTargetVerP "" . T.pack+++toolParser :: String -> Either String Tool+toolParser s' | t == T.pack "ghc"   = Right GHC+              | t == T.pack "cabal" = Right Cabal+              | t == T.pack "hls"   = Right HLS+              | t == T.pack "stack" = Right Stack+              | otherwise           = Left ("Unknown tool: " <> s')+  where t = T.toLower (T.pack s')+++criteriaParser :: String -> Either String ListCriteria+criteriaParser s' | t == T.pack "installed" = Right ListInstalled+                  | t == T.pack "set"       = Right ListSet+                  | t == T.pack "available" = Right ListAvailable+                  | otherwise               = Left ("Unknown criteria: " <> s')+  where t = T.toLower (T.pack s')+++toolVersionParser :: Parser ToolVersion+toolVersionParser = verP' <|> toolP+ where+  verP' = ToolVersion <$> versionParser+  toolP =+    ToolTag+      <$> option+            (eitherReader tagEither)+            (short 't' <> long "tag" <> metavar "TAG" <> help "The target tag")+++++keepOnParser :: String -> Either String KeepDirs+keepOnParser s' | t == T.pack "always" = Right Always+                | t == T.pack "errors" = Right Errors+                | t == T.pack "never"  = Right Never+                | otherwise            = Left ("Unknown keep value: " <> s')+  where t = T.toLower (T.pack s')+++downloaderParser :: String -> Either String Downloader+downloaderParser s' | t == T.pack "curl"     = Right Curl+                    | t == T.pack "wget"     = Right Wget+#if defined(INTERNAL_DOWNLOADER)+                    | t == T.pack "internal" = Right Internal+#endif+                    | otherwise = Left ("Unknown downloader value: " <> s')+  where t = T.toLower (T.pack s')++gpgParser :: String -> Either String GPGSetting+gpgParser s' | t == T.pack "strict" = Right GPGStrict+             | t == T.pack "lax"    = Right GPGLax+             | t == T.pack "none"   = Right GPGNone+             | otherwise = Left ("Unknown gpg setting value: " <> s')+  where t = T.toLower (T.pack s')++++    ------------------+    --[ Completers ]--+    ------------------++tagCompleter :: Tool -> [String] -> Completer+tagCompleter tool add = listIOCompleter $ do+  dirs' <- liftIO getAllDirs+  let loggerConfig = LoggerConfig+        { lcPrintDebug   = False+        , consoleOutter  = mempty+        , fileOutter     = mempty+        , fancyColors    = False+        }+  let appState = LeanAppState+        (Settings True False Never Curl False GHCupURL True GPGNone False)+        dirs'+        defaultKeyBindings+        loggerConfig++  mGhcUpInfo <- flip runReaderT appState . runE $ getDownloadsF+  case mGhcUpInfo of+    VRight ghcupInfo -> do+      let allTags = filter (/= Old)+            $ _viTags =<< M.elems (availableToolVersions (_ghcupDownloads ghcupInfo) tool)+      pure $ nub $ (add ++) $ fmap tagToString allTags+    VLeft _ -> pure  (nub $ ["recommended", "latest"] ++ add)+++versionCompleter :: Maybe ListCriteria -> Tool -> Completer+versionCompleter criteria tool = listIOCompleter $ do+  dirs' <- liftIO getAllDirs+  let loggerConfig = LoggerConfig+        { lcPrintDebug   = False+        , consoleOutter  = mempty+        , fileOutter     = mempty+        , fancyColors    = False+        }+  let settings = Settings True False Never Curl False GHCupURL True GPGNone False+  let leanAppState = LeanAppState+                   settings+                   dirs'+                   defaultKeyBindings+                   loggerConfig+  mpFreq <- flip runReaderT leanAppState . runE $ platformRequest+  mGhcUpInfo <- flip runReaderT leanAppState . runE $ getDownloadsF+  forFold mpFreq $ \pfreq -> do+    forFold mGhcUpInfo $ \ghcupInfo -> do+      let appState = AppState+            settings+            dirs'+            defaultKeyBindings+            ghcupInfo+            pfreq+            loggerConfig++          runEnv = flip runReaderT appState++      installedVersions <- runEnv $ listVersions (Just tool) criteria+      return $ T.unpack . prettyVer . lVer <$> installedVersions+++++    -----------------+    --[ Utilities ]--+    -----------------+++fromVersion :: ( HasLog env+               , MonadFail m+               , MonadReader env m+               , HasGHCupInfo env+               , HasDirs env+               , MonadThrow m+               , MonadIO m+               , MonadCatch m+               )+            => Maybe ToolVersion+            -> Tool+            -> Excepts+                 '[ TagNotFound+                  , NextVerNotFound+                  , NoToolVersionSet+                  ] m (GHCTargetVersion, Maybe VersionInfo)+fromVersion tv = fromVersion' (toSetToolVer tv)++fromVersion' :: ( HasLog env+                , MonadFail m+                , MonadReader env m+                , HasGHCupInfo env+                , HasDirs env+                , MonadThrow m+                , MonadIO m+                , MonadCatch m+                )+             => SetToolVersion+             -> Tool+             -> Excepts+                  '[ TagNotFound+                   , NextVerNotFound+                   , NoToolVersionSet+                   ] m (GHCTargetVersion, Maybe VersionInfo)+fromVersion' SetRecommended tool = do+  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+  bimap mkTVer Just <$> getRecommended dls tool+    ?? TagNotFound Recommended tool+fromVersion' (SetToolVersion v) tool = do+  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+  let vi = getVersionInfo (_tvVersion v) tool dls+  case pvp $ prettyVer (_tvVersion v) of -- need to be strict here+    Left _ -> pure (v, vi)+    Right pvpIn ->+      lift (getLatestToolFor tool pvpIn dls) >>= \case+        Just (pvp_, vi') -> do+          v' <- lift $ pvpToVersion pvp_+          when (v' /= _tvVersion v) $ lift $ logWarn ("Assuming you meant version " <> prettyVer v')+          pure (GHCTargetVersion (_tvTarget v) v', Just vi')+        Nothing -> pure (v, vi)+fromVersion' (SetToolTag Latest) tool = do+  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+  bimap mkTVer Just <$> getLatest dls tool ?? TagNotFound Latest tool+fromVersion' (SetToolTag Recommended) tool = do+  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+  bimap mkTVer Just <$> getRecommended dls tool ?? TagNotFound Recommended tool+fromVersion' (SetToolTag (Base pvp'')) GHC = do+  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+  bimap mkTVer Just <$> getLatestBaseVersion dls pvp'' ?? TagNotFound (Base pvp'') GHC+fromVersion' SetNext tool = do+  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+  next <- case tool of+    GHC -> do+      set <- fmap _tvVersion $ ghcSet Nothing !? NoToolVersionSet tool+      ghcs <- rights <$> lift getInstalledGHCs+      (headMay+        . tail+        . dropWhile (\GHCTargetVersion {..} -> _tvVersion /= set)+        . cycle+        . sortBy (\x y -> compare (_tvVersion x) (_tvVersion y))+        . filter (\GHCTargetVersion {..} -> isNothing _tvTarget)+        $ ghcs) ?? NoToolVersionSet tool+    Cabal -> do+      set <- cabalSet !? NoToolVersionSet tool+      cabals <- rights <$> lift getInstalledCabals+      (fmap (GHCTargetVersion Nothing)+        . headMay+        . tail+        . dropWhile (/= set)+        . cycle+        . sort+        $ cabals) ?? NoToolVersionSet tool+    HLS -> do+      set <- hlsSet !? NoToolVersionSet tool+      hlses <- rights <$> lift getInstalledHLSs+      (fmap (GHCTargetVersion Nothing)+        . headMay+        . tail+        . dropWhile (/= set)+        . cycle+        . sort+        $ hlses) ?? NoToolVersionSet tool+    Stack -> do+      set <- stackSet !? NoToolVersionSet tool+      stacks <- rights <$> lift getInstalledStacks+      (fmap (GHCTargetVersion Nothing)+        . headMay+        . tail+        . dropWhile (/= set)+        . cycle+        . sort+        $ stacks) ?? NoToolVersionSet tool+    GHCup -> fail "GHCup cannot be set"+  let vi = getVersionInfo (_tvVersion next) tool dls+  pure (next, vi)+fromVersion' (SetToolTag t') tool =+  throwE $ TagNotFound t' tool+++checkForUpdates :: ( MonadReader env m+                   , HasGHCupInfo env+                   , HasDirs env+                   , HasPlatformReq env+                   , MonadCatch m+                   , HasLog env+                   , MonadThrow m+                   , MonadIO m+                   , MonadFail m+                   )+                => m ()+checkForUpdates = do+  GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo+  lInstalled <- listVersions Nothing (Just ListInstalled)+  let latestInstalled tool = (fmap lVer . lastMay . filter (\lr -> lTool lr == tool)) lInstalled++  forM_ (getLatest dls GHCup) $ \(l, _) -> do+    (Right ghc_ver) <- pure $ version $ prettyPVP ghcUpVer+    when (l > ghc_ver)+      $ logWarn $+          "New GHCup version available: " <> prettyVer l <> ". To upgrade, run 'ghcup upgrade'"++  forM_ (getLatest dls GHC) $ \(l, _) -> do+    let mghc_ver = latestInstalled GHC+    forM mghc_ver $ \ghc_ver ->+      when (l > ghc_ver)+        $ logWarn $+          "New GHC version available: " <> prettyVer l <> ". To upgrade, run 'ghcup install ghc " <> prettyVer l <> "'"++  forM_ (getLatest dls Cabal) $ \(l, _) -> do+    let mcabal_ver = latestInstalled Cabal+    forM mcabal_ver $ \cabal_ver ->+      when (l > cabal_ver)+        $ logWarn $+          "New Cabal version available: " <> prettyVer l <> ". To upgrade, run 'ghcup install cabal " <> prettyVer l <> "'"++  forM_ (getLatest dls HLS) $ \(l, _) -> do+    let mhls_ver = latestInstalled HLS+    forM mhls_ver $ \hls_ver ->+      when (l > hls_ver)+        $ logWarn $+          "New HLS version available: " <> prettyVer l <> ". To upgrade, run 'ghcup install hls " <> prettyVer l <> "'"++  forM_ (getLatest dls Stack) $ \(l, _) -> do+    let mstack_ver = latestInstalled Stack+    forM mstack_ver $ \stack_ver ->+      when (l > stack_ver)+        $ logWarn $+          "New Stack version available: " <> prettyVer l <> ". To upgrade, run 'ghcup install stack " <> prettyVer l <> "'"
+ app/ghcup/GHCup/OptParse/Compile.hs view
@@ -0,0 +1,517 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.Compile where+++import           GHCup+import           GHCup.Errors+import           GHCup.Utils.File+import           GHCup.Types+import           GHCup.Types.Optics+import           GHCup.Utils+import           GHCup.Utils.Logger+import           GHCup.OptParse.Common+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Codec.Archive                  ( ArchiveResult )+import           Control.Concurrent (threadDelay)+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Bifunctor+import           Data.Functor+import           Data.Maybe+import           Data.Versions                  ( Version, prettyVer, version )+import           Data.Text                      ( Text )+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Options.Applicative.Help.Pretty ( text )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+import System.FilePath (isPathSeparator)+import Text.Read (readEither)+++++    ----------------+    --[ Commands ]--+    ----------------+++data CompileCommand = CompileGHC GHCCompileOptions+                    | CompileHLS HLSCompileOptions++++    ---------------+    --[ Options ]--+    ---------------+++data GHCCompileOptions = GHCCompileOptions+  { targetGhc    :: Either Version GitBranch+  , bootstrapGhc :: Either Version FilePath+  , jobs         :: Maybe Int+  , buildConfig  :: Maybe FilePath+  , patchDir     :: Maybe FilePath+  , crossTarget  :: Maybe Text+  , addConfArgs  :: [Text]+  , setCompile   :: Bool+  , ovewrwiteVer :: Maybe Version+  , buildFlavour :: Maybe String+  , hadrian      :: Bool+  , isolateDir   :: Maybe FilePath+  }++data HLSCompileOptions = HLSCompileOptions+  { targetHLS    :: Either Version GitBranch+  , jobs         :: Maybe Int+  , setCompile   :: Bool+  , ovewrwiteVer :: Maybe Version+  , isolateDir   :: Maybe FilePath+  , cabalProject :: Maybe FilePath+  , cabalProjectLocal :: Maybe FilePath+  , patchDir     :: Maybe FilePath+  , targetGHCs   :: [ToolVersion]+  }+++++    ---------------+    --[ Parsers ]--+    ---------------++          +compileP :: Parser CompileCommand+compileP = subparser+  (  command+      "ghc"+      (   CompileGHC+      <$> info+            (ghcCompileOpts <**> helper)+            (  progDesc "Compile GHC from source"+            <> footerDoc (Just $ text compileFooter)+            )+      )+  <>  command+      "hls"+      (   CompileHLS+      <$> info+            (hlsCompileOpts <**> helper)+            (  progDesc "Compile HLS from source"+            <> footerDoc (Just $ text compileHLSFooter)+            )+      )+  )+ where+  compileFooter = [s|Discussion:+  Compiles and installs the specified GHC version into+  a self-contained "~/.ghcup/ghc/<ghcver>" directory+  and symlinks the ghc binaries to "~/.ghcup/bin/<binary>-<ghcver>".++  This also allows building a cross-compiler. Consult the documentation+  first: <https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling#configuring-the-build>++ENV variables:+  Various toolchain variables will be passed onto the ghc build system,+  such as: CC, LD, OBJDUMP, NM, AR, RANLIB.++Examples:+  # compile from known version+  ghcup compile ghc -j 4 -v 8.4.2 -b 8.2.2+  # compile from git commit/reference+  ghcup compile ghc -j 4 -g master -b 8.2.2+  # specify path to bootstrap ghc+  ghcup compile ghc -j 4 -v 8.4.2 -b /usr/bin/ghc-8.2.2+  # build cross compiler+  ghcup compile ghc -j 4 -v 8.4.2 -b 8.2.2 -x armv7-unknown-linux-gnueabihf --config $(pwd)/build.mk -- --enable-unregisterised|]++  compileHLSFooter = [s|Discussion:+  Compiles and installs the specified HLS version.+  The last argument is a list of GHC versions to compile for.+  These need to be available in PATH prior to compilation.++Examples:+  ghcup compile hls -v 1.4.0 -j 12 8.10.5 8.10.7 9.0.1|]+++ghcCompileOpts :: Parser GHCCompileOptions+ghcCompileOpts =+  GHCCompileOptions+    <$> ((Left <$> option+          (eitherReader+            (first (const "Not a valid version") . version . T.pack)+          )+          (short 'v' <> long "version" <> metavar "VERSION" <> help+            "The tool version to compile"+          )+          ) <|>+          (Right <$> (GitBranch <$> option+          str+          (short 'g' <> long "git-ref" <> metavar "GIT_REFERENCE" <> help+            "The git commit/branch/ref to build from"+          ) <*>+          optional (option str (short 'r' <> long "repository" <> metavar "GIT_REPOSITORY" <> help "The git repository to build from (defaults to GHC upstream)"))+          )))+    <*> option+          (eitherReader+            (\x ->+              (bimap (const "Not a valid version") Left . version . T.pack $ x) <|> (if isPathSeparator (head x) then pure $ Right x else Left "Not an absolute Path")+            )+          )+          (  short 'b'+          <> long "bootstrap-ghc"+          <> metavar "BOOTSTRAP_GHC"+          <> help+               "The GHC version (or full path) to bootstrap with (must be installed)"+          )+    <*> optional+          (option+            (eitherReader (readEither @Int))+            (short 'j' <> long "jobs" <> metavar "JOBS" <> help+              "How many jobs to use for make"+            )+          )+    <*> optional+          (option+            str+            (short 'c' <> long "config" <> metavar "CONFIG" <> help+              "Absolute path to build config file"+            )+          )+    <*> optional+          (option+            str+            (short 'p' <> long "patchdir" <> metavar "PATCH_DIR" <> help+              "Absolute path to patch directory (applies all .patch and .diff files in order using -p1)"+            )+          )+    <*> optional+          (option+            str+            (short 'x' <> long "cross-target" <> metavar "CROSS_TARGET" <> help+              "Build cross-compiler for this platform"+            )+          )+    <*> many (argument str (metavar "CONFIGURE_ARGS" <> help "Additional arguments to configure, prefix with '-- ' (longopts)"))+    <*> flag+          False+          True+          (long "set" <> help+            "Set as active version after install"+          )+    <*> optional+          (option+            (eitherReader+              (first (const "Not a valid version") . version . T.pack)+            )+            (short 'o' <> long "overwrite-version" <> metavar "OVERWRITE_VERSION" <> help+              "Allows to overwrite the finally installed VERSION with a different one, e.g. when you build 8.10.4 with your own patches, you might want to set this to '8.10.4-p1'"+            )+          )+    <*> optional+          (option+            str+            (short 'f' <> long "flavour" <> metavar "BUILD_FLAVOUR" <> help+              "Set the compile build flavour (this value depends on the build system type: 'make' vs 'hadrian')"+            )+          )+    <*> switch+          (long "hadrian" <> help "Use the hadrian build system instead of make (only git versions seem to be properly supported atm)"+          )+    <*> optional+          (option+            (eitherReader isolateParser)+            (  short 'i'+            <> long "isolate"+            <> metavar "DIR"+            <> help "install in an isolated directory instead of the default one, no symlinks to this installation will be made"+            )+           )++hlsCompileOpts :: Parser HLSCompileOptions+hlsCompileOpts =+  HLSCompileOptions+    <$> ((Left <$> option+          (eitherReader+            (first (const "Not a valid version") . version . T.pack)+          )+          (short 'v' <> long "version" <> metavar "VERSION" <> help+            "The tool version to compile"+          )+          ) <|>+          (Right <$> (GitBranch <$> option+          str+          (short 'g' <> long "git-ref" <> metavar "GIT_REFERENCE" <> help+            "The git commit/branch/ref to build from"+          ) <*>+          optional (option str (short 'r' <> long "repository" <> metavar "GIT_REPOSITORY" <> help "The git repository to build from (defaults to GHC upstream)"))+          )))+    <*> optional+          (option+            (eitherReader (readEither @Int))+            (short 'j' <> long "jobs" <> metavar "JOBS" <> help+              "How many jobs to use for make"+            )+          )+    <*> flag+          False+          True+          (long "set" <> help+            "Set as active version after install"+          )+    <*> optional+          (option+            (eitherReader+              (first (const "Not a valid version") . version . T.pack)+            )+            (short 'o' <> long "overwrite-version" <> metavar "OVERWRITE_VERSION" <> help+              "Allows to overwrite the finally installed VERSION with a different one, e.g. when you build 8.10.4 with your own patches, you might want to set this to '8.10.4-p1'"+            )+          )+    <*> optional+          (option+            (eitherReader isolateParser)+            (  short 'i'+            <> long "isolate"+            <> metavar "DIR"+            <> help "install in an isolated directory instead of the default one, no symlinks to this installation will be made"+            )+           )+    <*> optional+          (option+            str+            (long "cabal-project" <> metavar "CABAL_PROJECT" <> help+              "If relative, specifies the path to cabal.project inside the unpacked HLS tarball/checkout. If absolute, will copy the file over."+            )+          )+    <*> optional+          (option+            (eitherReader absolutePathParser)+            (long "cabal-project-local" <> metavar "CABAL_PROJECT_LOCAL" <> help+              "Absolute path to a cabal.project.local to be used for the build. Will be copied over."+            )+          )+    <*> optional+          (option+            (eitherReader absolutePathParser)+            (short 'p' <> long "patchdir" <> metavar "PATCH_DIR" <> help+              "Absolute path to patch directory (applies all .patch and .diff files in order using -p1)"+            )+          )+    <*> some (toolVersionArgument Nothing (Just GHC))++++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type GHCEffects = '[ AlreadyInstalled+                  , BuildFailed+                  , DigestError+                  , GPGError+                  , DownloadFailed+                  , GHCupSetError+                  , NoDownload+                  , NotFoundInPATH+                  , PatchFailed+                  , UnknownArchive+                  , TarDirDoesNotExist+                  , NotInstalled+                  , DirNotEmpty+                  , ArchiveResult+                  , FileDoesNotExistError+                  , HadrianNotFound+                  , InvalidBuildConfig+                  , ProcessError+                  , CopyError+                  , BuildFailed+                  ]+type HLSEffects = '[ AlreadyInstalled+                  , BuildFailed+                  , DigestError+                  , GPGError+                  , DownloadFailed+                  , GHCupSetError+                  , NoDownload+                  , NotFoundInPATH+                  , PatchFailed+                  , UnknownArchive+                  , TarDirDoesNotExist+                  , TagNotFound+                  , NextVerNotFound+                  , NoToolVersionSet+                  , NotInstalled+                  , DirNotEmpty+                  , ArchiveResult+                  ]++++runCompileGHC :: (MonadUnliftIO m, MonadIO m)+              => (ReaderT AppState m (VEither GHCEffects a) -> m (VEither GHCEffects a))+              -> Excepts GHCEffects (ResourceT (ReaderT AppState m)) a+              -> m (VEither GHCEffects a)+runCompileGHC runAppState =+        runAppState+        . runResourceT+        . runE+          @GHCEffects++runCompileHLS :: (MonadUnliftIO m, MonadIO m)+              => (ReaderT AppState m (VEither HLSEffects a) -> m (VEither HLSEffects a))+              -> Excepts HLSEffects (ResourceT (ReaderT AppState m)) a+              -> m (VEither HLSEffects a)+runCompileHLS runAppState =+        runAppState+        . runResourceT+        . runE+          @HLSEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++compile :: ( Monad m+           , MonadMask m+           , MonadUnliftIO m+           , MonadFail m+           )+      => CompileCommand+      -> Settings+      -> (forall eff a . ReaderT AppState m (VEither eff a) -> m (VEither eff a))+      -> (ReaderT LeanAppState m () -> m ())+      -> m ExitCode+compile compileCommand settings runAppState runLogger = do+  VRight Dirs{ .. }  <- runAppState (VRight <$> getDirs)+  case compileCommand of+    (CompileHLS HLSCompileOptions { .. }) -> do+      runCompileHLS runAppState (do+        case targetHLS of+          Left targetVer -> do+            GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+            let vi = getVersionInfo targetVer HLS dls+            forM_ (_viPreCompile =<< vi) $ \msg -> do+              lift $ logInfo msg+              lift $ logInfo+                "...waiting for 5 seconds, you can still abort..."+              liftIO $ threadDelay 5000000 -- for compilation, give the user a sec to intervene+          Right _ -> pure ()+        ghcs <- liftE $ forM targetGHCs (\ghc -> fmap (_tvVersion . fst) . fromVersion (Just ghc) $ GHC)+        targetVer <- liftE $ compileHLS+                    targetHLS+                    ghcs+                    jobs+                    ovewrwiteVer+                    isolateDir+                    cabalProject+                    cabalProjectLocal+                    patchDir+        GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+        let vi = getVersionInfo targetVer HLS dls+        when setCompile $ void $ liftE $+          setHLS targetVer+        pure (vi, targetVer)+        )+        >>= \case+              VRight (vi, tv) -> do+                runLogger $ logInfo+                  "HLS successfully compiled and installed"+                forM_ (_viPostInstall =<< vi) $ \msg ->+                  runLogger $ logInfo msg+                liftIO $ putStr (T.unpack $ prettyVer tv)+                pure ExitSuccess+              VLeft err@(V (BuildFailed tmpdir _)) -> do+                case keepDirs settings of+                  Never -> runLogger $ logError $ T.pack $ prettyShow err+                  _ -> runLogger (logError $ T.pack (prettyShow err) <> "\n" <>+                        "Check the logs at " <> T.pack logsDir <> " and the build directory "+                        <> T.pack tmpdir <> " for more clues." <> "\n" <>+                        "Make sure to clean up " <> T.pack tmpdir <> " afterwards.")+                pure $ ExitFailure 9+              VLeft e -> do+                runLogger $ logError $ T.pack $ prettyShow e+                pure $ ExitFailure 9+    (CompileGHC GHCCompileOptions { hadrian = True, crossTarget = Just _ }) -> do+      runLogger $ logError "Hadrian cross compile support is not yet implemented!"+      pure $ ExitFailure 9+    (CompileGHC GHCCompileOptions {..}) ->+      runCompileGHC runAppState (do+        case targetGhc of+          Left targetVer -> do+            GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+            let vi = getVersionInfo targetVer GHC dls+            forM_ (_viPreCompile =<< vi) $ \msg -> do+              lift $ logInfo msg+              lift $ logInfo+                "...waiting for 5 seconds, you can still abort..."+              liftIO $ threadDelay 5000000 -- for compilation, give the user a sec to intervene+          Right _ -> pure ()+        targetVer <- liftE $ compileGHC+                    (first (GHCTargetVersion crossTarget) targetGhc)+                    ovewrwiteVer+                    bootstrapGhc+                    jobs+                    buildConfig+                    patchDir+                    addConfArgs+                    buildFlavour+                    hadrian+                    isolateDir+        GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+        let vi = getVersionInfo (_tvVersion targetVer) GHC dls+        when setCompile $ void $ liftE $+          setGHC targetVer SetGHCOnly+        pure (vi, targetVer)+        )+        >>= \case+              VRight (vi, tv) -> do+                runLogger $ logInfo+                  "GHC successfully compiled and installed"+                forM_ (_viPostInstall =<< vi) $ \msg ->+                  runLogger $ logInfo msg+                liftIO $ putStr (T.unpack $ tVerToText tv)+                pure ExitSuccess+              VLeft (V (AlreadyInstalled _ v)) -> do+                runLogger $ logWarn $+                  "GHC ver " <> prettyVer v <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install ghc --force " <> prettyVer v <> "'"+                pure ExitSuccess+              VLeft (V (DirNotEmpty fp)) -> do+                runLogger $ logWarn $+                  "Install directory " <> T.pack fp <> " is not empty. Use 'ghcup install ghc --isolate " <> T.pack fp <> " --force ..." <> "' to install regardless."+                pure $ ExitFailure 3+              VLeft err@(V (BuildFailed tmpdir _)) -> do+                case keepDirs settings of+                  Never -> runLogger $ logError $ T.pack $ prettyShow err+                  _ -> runLogger (logError $ T.pack (prettyShow err) <> "\n" <>+                        "Check the logs at " <> T.pack logsDir <> " and the build directory "+                        <> T.pack tmpdir <> " for more clues." <> "\n" <>+                        "Make sure to clean up " <> T.pack tmpdir <> " afterwards.")+                pure $ ExitFailure 9+              VLeft e -> do+                runLogger $ logError $ T.pack $ prettyShow e+                pure $ ExitFailure 9
+ app/ghcup/GHCup/OptParse/Config.hs view
@@ -0,0 +1,186 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.Config where+++import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils+import           GHCup.Utils.Prelude+import           GHCup.Utils.Logger+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Exception              ( displayException )+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Data.Maybe+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Options.Applicative.Help.Pretty ( text )+import           Prelude                 hiding ( appendFile )+import           System.Exit++import qualified Data.Text                     as T+import qualified Data.ByteString.UTF8          as UTF8+import qualified Data.Yaml.Aeson               as Y+import Control.Exception.Safe (MonadMask)+++++    ----------------+    --[ Commands ]--+    ----------------+++data ConfigCommand+  = ShowConfig+  | SetConfig String (Maybe String)+  | InitConfig++++    ---------------+    --[ Parsers ]--+    ---------------++          +configP :: Parser ConfigCommand+configP = subparser+      (  command "init" initP+      <> command "set"  setP -- [set] KEY VALUE at help lhs+      <> command "show" showP+      )+    <|> argsP -- add show for a single option+    <|> pure ShowConfig+ where+  initP = info (pure InitConfig) (progDesc "Write default config to ~/.ghcup/config.yaml")+  showP = info (pure ShowConfig) (progDesc "Show current config (default)")+  setP  = info argsP (progDesc "Set config KEY to VALUE (or specify as single json value)" <> footerDoc (Just $ text configSetFooter))+  argsP = SetConfig <$> argument str (metavar "<JSON_VALUE | YAML_KEY>") <*> optional (argument str (metavar "YAML_VALUE"))+++++    --------------+    --[ Footer ]--+    --------------+++configFooter :: String+configFooter = [s|Examples:++  # show current config+  ghcup config++  # initialize config+  ghcup config init++  # set <key> <value> configuration pair+  ghcup config set <key> <value>|]+++configSetFooter :: String+configSetFooter = [s|Examples:+  # disable caching+  ghcup config set cache false++  # switch downloader to wget+  ghcup config set downloader Wget++  # set mirror for ghcup metadata+  ghcup config set '{url-source: { OwnSource: "<url>"}}'|]++++    -----------------+    --[ Utilities ]--+    -----------------+++formatConfig :: UserSettings -> String+formatConfig = UTF8.toString . Y.encode+++updateSettings :: Monad m => UTF8.ByteString -> Settings -> Excepts '[JSONError] m Settings+updateSettings config' settings = do+  settings' <- lE' (JSONDecodeError . displayException) . Y.decodeEither' $ config'+  pure $ mergeConf settings' settings+  where+   mergeConf :: UserSettings -> Settings -> Settings+   mergeConf UserSettings{..} Settings{..} =+     let cache'      = fromMaybe cache uCache+         noVerify'   = fromMaybe noVerify uNoVerify+         keepDirs'   = fromMaybe keepDirs uKeepDirs+         downloader' = fromMaybe downloader uDownloader+         verbose'    = fromMaybe verbose uVerbose+         urlSource'  = fromMaybe urlSource uUrlSource+         noNetwork'  = fromMaybe noNetwork uNoNetwork+         gpgSetting' = fromMaybe gpgSetting uGPGSetting+     in Settings cache' noVerify' keepDirs' downloader' verbose' urlSource' noNetwork' gpgSetting' noColor++++    ------------------+    --[ Entrypoint ]--+    ------------------++++config :: ( Monad m+          , MonadMask m+          , MonadUnliftIO m+          , MonadFail m+          )+     => ConfigCommand+     -> Settings+     -> KeyBindings+     -> (ReaderT LeanAppState m () -> m ())+     -> m ExitCode+config configCommand settings keybindings runLogger = case configCommand of+  InitConfig -> do+    path <- getConfigFilePath+    liftIO $ writeFile path $ formatConfig $ fromSettings settings (Just keybindings)+    runLogger $ logDebug $ "config.yaml initialized at " <> T.pack path+    pure ExitSuccess++  ShowConfig -> do+    liftIO $ putStrLn $ formatConfig $ fromSettings settings (Just keybindings)+    pure ExitSuccess++  (SetConfig k (Just v)) ->+    case v of+      "" -> do+        runLogger $ logError "Empty values are not allowed"+        pure $ ExitFailure 55+      _  -> doConfig (k <> ": " <> v <> "\n")++  (SetConfig json Nothing) -> doConfig json++ where+  doConfig val = do+    r <- runE @'[JSONError] $ do+      settings' <- updateSettings (UTF8.fromString val) settings+      path <- liftIO getConfigFilePath+      liftIO $ writeFile path $ formatConfig $ fromSettings settings' (Just keybindings)+      lift $ runLogger $ logDebug $ T.pack $ show settings'+      pure ()++    case r of+        VRight _ -> pure ExitSuccess+        VLeft (V (JSONDecodeError e)) -> do+          runLogger $ logError $ "Error decoding config: " <> T.pack e+          pure $ ExitFailure 65+        VLeft _ -> pure $ ExitFailure 65
+ app/ghcup/GHCup/OptParse/DInfo.hs view
@@ -0,0 +1,119 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.DInfo where+++++import           GHCup+import           GHCup.Errors+import           GHCup.Version+import           GHCup.Types+import           GHCup.Utils.Prelude+import           GHCup.Utils.Dirs+import           GHCup.Utils.Logger++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Data.Maybe+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+import GHCup.Utils.File+import Language.Haskell.TH++++    -----------------+    --[ Utilities ]--+    -----------------+++describe_result :: String+describe_result = $( LitE . StringL <$>+                     runIO (do+                             CapturedProcess{..} <-  do+                              dirs <- liftIO getAllDirs+                              let settings = AppState (Settings True False Never Curl False GHCupURL False GPGNone False)+                                               dirs+                                               defaultKeyBindings+                              flip runReaderT settings $ executeOut "git" ["describe"] Nothing+                             case _exitCode of+                               ExitSuccess   -> pure . T.unpack . decUTF8Safe' $ _stdOut+                               ExitFailure _ -> pure numericVer+                     )+                   )+++prettyDebugInfo :: DebugInfo -> String+prettyDebugInfo DebugInfo {..} = "Debug Info" <> "\n" <>+  "==========" <> "\n" <>+  "GHCup base dir: " <> diBaseDir <> "\n" <>+  "GHCup bin dir: " <> diBinDir <> "\n" <>+  "GHCup GHC directory: " <> diGHCDir <> "\n" <>+  "GHCup cache directory: " <> diCacheDir <> "\n" <>+  "Architecture: " <> prettyShow diArch <> "\n" <>+  "Platform: " <> prettyShow diPlatform <> "\n" <>+  "Version: " <> describe_result++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type DInfoEffects = '[ NoCompatiblePlatform , NoCompatibleArch , DistroNotFound ]++runDebugInfo :: (ReaderT env m (VEither DInfoEffects a) -> m (VEither DInfoEffects a))+             -> Excepts DInfoEffects (ReaderT env m) a+             -> m (VEither DInfoEffects a)+runDebugInfo runAppState =+        runAppState+        . runE+          @DInfoEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++dinfo :: ( Monad m+         , MonadMask m+         , MonadUnliftIO m+         , MonadFail m+         , Alternative m+         )+      => (ReaderT AppState m (VEither DInfoEffects DebugInfo)+          -> m (VEither DInfoEffects DebugInfo))+      -> (ReaderT LeanAppState m () -> m ())+      -> m ExitCode+dinfo runAppState runLogger = do+  runDebugInfo runAppState (liftE getDebugInfo)+    >>= \case+          VRight di -> do+            liftIO $ putStrLn $ prettyDebugInfo di+            pure ExitSuccess+          VLeft e -> do+            runLogger $ logError $ T.pack $ prettyShow e+            pure $ ExitFailure 8
+ app/ghcup/GHCup/OptParse/GC.hs view
@@ -0,0 +1,143 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.GC where+++import           GHCup+import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils.Logger+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)++++++    ---------------+    --[ Options ]--+    ---------------+++data GCOptions = GCOptions+  { gcOldGHC :: Bool+  , gcProfilingLibs :: Bool+  , gcShareDir :: Bool+  , gcHLSNoGHC :: Bool+  , gcCache :: Bool+  , gcTmp :: Bool+  }++++    ---------------+    --[ Parsers ]--+    ---------------++          +gcP :: Parser GCOptions+gcP =+  GCOptions+  <$> +    switch+      (short 'o' <> long "ghc-old" <> help "Remove GHC versions marked as 'old'")+  <*> +    switch+      (short 'p' <> long "profiling-libs" <> help "Remove profiling libs of GHC versions")+  <*> +    switch+      (short 's' <> long "share-dir" <> help "Remove GHC share directories (documentation)")+  <*> +    switch+      (short 'h' <> long "hls-no-ghc" <> help "Remove HLS versions that don't have a corresponding installed GHC version")+  <*> +    switch+      (short 'c' <> long "cache" <> help "GC the GHCup cache")+  <*> +    switch+      (short 't' <> long "tmpdirs" <> help "Remove tmpdir leftovers")++++    --------------+    --[ Footer ]--+    --------------+++gcFooter :: String+gcFooter = [s|Discussion:+  Performs garbage collection. If no switches are specified, does nothing.|]+++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type GCEffects = '[ NotInstalled ]+++runGC :: MonadUnliftIO m+      => (ReaderT AppState m (VEither GCEffects a) -> m (VEither GCEffects a))+      -> Excepts GCEffects (ResourceT (ReaderT AppState m)) a+      -> m (VEither GCEffects a)+runGC runAppState =+  runAppState+    . runResourceT+    . runE+      @GCEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++gc :: ( Monad m+      , MonadMask m+      , MonadUnliftIO m+      , MonadFail m+      )+   => GCOptions+   -> (forall a. ReaderT AppState m (VEither GCEffects a) -> m (VEither GCEffects a))+   -> (ReaderT LeanAppState m () -> m ())+   -> m ExitCode+gc GCOptions{..} runAppState runLogger = runGC runAppState (do+  when gcOldGHC rmOldGHC+  lift $ when gcProfilingLibs rmProfilingLibs+  lift $ when gcShareDir rmShareDir+  lift $ when gcHLSNoGHC rmHLSNoGHC+  lift $ when gcCache rmCache+  lift $ when gcTmp rmTmp+   ) >>= \case+            VRight _ -> do+                  pure ExitSuccess+            VLeft e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 27
+ app/ghcup/GHCup/OptParse/Install.hs view
@@ -0,0 +1,464 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}++module GHCup.OptParse.Install where+++++import           GHCup.OptParse.Common++import           GHCup+import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils.File+import           GHCup.Utils.Logger+import           GHCup.Utils.String.QQ++import           Codec.Archive+#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Either+import           Data.Functor+import           Data.Maybe+import           Data.Versions           hiding ( str )+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Options.Applicative.Help.Pretty ( text )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )+import           URI.ByteString++import qualified Data.Text                     as T+++++    ----------------+    --[ Commands ]--+    ----------------+++data InstallCommand = InstallGHC InstallOptions+                    | InstallCabal InstallOptions+                    | InstallHLS InstallOptions+                    | InstallStack InstallOptions+++++    ---------------+    --[ Options ]--+    ---------------+++data InstallOptions = InstallOptions+  { instVer      :: Maybe ToolVersion+  , instPlatform :: Maybe PlatformRequest+  , instBindist  :: Maybe URI+  , instSet      :: Bool+  , isolateDir   :: Maybe FilePath+  , forceInstall :: Bool+  }++++    ---------------+    --[ Footers ]--+    ---------------++installCabalFooter :: String+installCabalFooter = [s|Discussion:+  Installs the specified cabal-install version (or a recommended default one)+  into "~/.ghcup/bin", so it can be overwritten by later+  "cabal install cabal-install", which installs into "~/.cabal/bin" by+  default. Make sure to set up your PATH appropriately, so the cabal+  installation takes precedence.|]++++    ---------------+    --[ Parsers ]--+    ---------------++installParser :: Parser (Either InstallCommand InstallOptions)+installParser =+  (Left <$> subparser+      (  command+          "ghc"+          (   InstallGHC+          <$> info+                (installOpts (Just GHC) <**> helper)+                (  progDesc "Install GHC"+                <> footerDoc (Just $ text installGHCFooter)+                )+          )+      <> command+           "cabal"+           (   InstallCabal+           <$> info+                 (installOpts (Just Cabal) <**> helper)+                 (  progDesc "Install Cabal"+                 <> footerDoc (Just $ text installCabalFooter)+                 )+           )+      <> command+           "hls"+           (   InstallHLS+           <$> info+                 (installOpts (Just HLS) <**> helper)+                 (  progDesc "Install haskell-language-server"+                 <> footerDoc (Just $ text installHLSFooter)+                 )+           )+      <> command+           "stack"+           (   InstallStack+           <$> info+                 (installOpts (Just Stack) <**> helper)+                 (  progDesc "Install stack"+                 <> footerDoc (Just $ text installStackFooter)+                 )+           )+      )+    )+    <|> (Right <$> installOpts Nothing)+ where+  installHLSFooter :: String+  installHLSFooter = [s|Discussion:+  Installs haskell-language-server binaries and wrapper+  into "~/.ghcup/bin"++Examples:+  # install recommended HLS+  ghcup install hls|]++  installStackFooter :: String+  installStackFooter = [s|Discussion:+  Installs stack binaries into "~/.ghcup/bin"++Examples:+  # install recommended Stack+  ghcup install stack|]++  installGHCFooter :: String+  installGHCFooter = [s|Discussion:+  Installs the specified GHC version (or a recommended default one) into+  a self-contained "~/.ghcup/ghc/<ghcver>" directory+  and symlinks the ghc binaries to "~/.ghcup/bin/<binary>-<ghcver>".++Examples:+  # install recommended GHC+  ghcup install ghc++  # install latest GHC+  ghcup install ghc latest++  # install GHC 8.10.2+  ghcup install ghc 8.10.2++  # install GHC head fedora bindist+  ghcup install ghc -u https://gitlab.haskell.org/api/v4/projects/1/jobs/artifacts/master/raw/ghc-x86_64-fedora27-linux.tar.xz?job=validate-x86_64-linux-fedora27 head|]+++installOpts :: Maybe Tool -> Parser InstallOptions+installOpts tool =+  (\p (u, v) b is f -> InstallOptions v p u b is f)+    <$> optional+          (option+            (eitherReader platformParser)+            (  short 'p'+            <> long "platform"+            <> metavar "PLATFORM"+            <> help+                 "Override for platform (triple matching ghc tarball names), e.g. x86_64-fedora27-linux"+            )+          )+    <*> (   (   (,)+            <$> optional+                  (option+                    (eitherReader bindistParser)+                    (short 'u' <> long "url" <> metavar "BINDIST_URL" <> help+                      "Install the specified version from this bindist"+                    )+                  )+            <*> (Just <$> toolVersionArgument Nothing tool)+            )+        <|> pure (Nothing, Nothing)+        )+    <*> flag+          False+          True+          (long "set" <> help+            "Set as active version after install"+          )+    <*> optional+          (option+           (eitherReader isolateParser)+           (  short 'i'+           <> long "isolate"+           <> metavar "DIR"+           <> help "install in an isolated dir instead of the default one"+           )+          )+    <*> switch+          (short 'f' <> long "force" <> help "Force install")+          ++++    --------------+    --[ Footer ]--+    --------------+++installToolFooter :: String+installToolFooter = [s|Discussion:+  Installs GHC or cabal. When no command is given, installs GHC+  with the specified version/tag.+  It is recommended to always specify a subcommand (ghc/cabal/hls/stack).|]+++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------++type InstallEffects = '[ AlreadyInstalled+                       , UnknownArchive+                       , ArchiveResult+                       , FileDoesNotExistError+                       , CopyError+                       , NotInstalled+                       , DirNotEmpty+                       , NoDownload+                       , NotInstalled+                       , BuildFailed+                       , TagNotFound+                       , DigestError+                       , GPGError+                       , DownloadFailed+                       , TarDirDoesNotExist+                       , NextVerNotFound+                       , NoToolVersionSet+                       , FileAlreadyExistsError+                       , ProcessError+                       ]+++runInstTool :: AppState+            -> Maybe PlatformRequest+            -> Excepts InstallEffects (ResourceT (ReaderT AppState IO)) a+            -> IO (VEither InstallEffects a)+runInstTool appstate' mInstPlatform =+  flip runReaderT (maybe appstate' (\x -> appstate'{ pfreq = x } :: AppState) mInstPlatform)+  . runResourceT+  . runE+    @InstallEffects++++    -------------------+    --[ Entrypoints ]--+    -------------------+++install :: Either InstallCommand InstallOptions -> Settings -> IO AppState -> (ReaderT LeanAppState IO () -> IO ()) -> IO ExitCode+install installCommand settings getAppState' runLogger = case installCommand of+  (Right iopts) -> do+    runLogger (logWarn "This is an old-style command for installing GHC. Use 'ghcup install ghc' instead.")+    installGHC iopts+  (Left (InstallGHC iopts)) -> installGHC iopts+  (Left (InstallCabal iopts)) -> installCabal iopts+  (Left (InstallHLS iopts)) -> installHLS iopts+  (Left (InstallStack iopts)) -> installStack iopts+ where+  installGHC :: InstallOptions -> IO ExitCode+  installGHC InstallOptions{..} = do+    s'@AppState{ dirs = Dirs{ .. } } <- liftIO getAppState'+    (case instBindist of+       Nothing -> runInstTool s' instPlatform $ do+         (v, vi) <- liftE $ fromVersion instVer GHC+         liftE $ installGHCBin+                   (_tvVersion v)+                   isolateDir+                   forceInstall+         when instSet $ void $ liftE $ setGHC v SetGHCOnly+         pure vi+       Just uri -> do+         runInstTool s'{ settings = settings {noVerify = True}} instPlatform $ do+           (v, vi) <- liftE $ fromVersion instVer GHC+           liftE $ installGHCBindist+                     (DownloadInfo uri (Just $ RegexDir "ghc-.*") "")+                     (_tvVersion v)+                     isolateDir+                     forceInstall+           when instSet $ void $ liftE $ setGHC v SetGHCOnly+           pure vi+      )+        >>= \case+              VRight vi -> do+                runLogger $ logInfo "GHC installation successful"+                forM_ (_viPostInstall =<< vi) $ \msg ->+                  runLogger $ logInfo msg+                pure ExitSuccess+              VLeft (V (AlreadyInstalled _ v)) -> do+                runLogger $ logWarn $+                  "GHC ver " <> prettyVer v <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install ghc --force " <> prettyVer v <> "'"+                pure ExitSuccess+              VLeft (V (DirNotEmpty fp)) -> do+                runLogger $ logWarn $+                  "Install directory " <> T.pack fp <> " is not empty. Use 'ghcup install ghc --isolate " <> T.pack fp <> " --force ..." <> "' to install regardless."+                pure $ ExitFailure 3+              VLeft err@(V (BuildFailed tmpdir _)) -> do+                case keepDirs settings of+                  Never -> runLogger (logError $ T.pack $ prettyShow err)+                  _ -> runLogger (logError $ T.pack (prettyShow err) <> "\n" <>+                    "Check the logs at " <> T.pack logsDir <> " and the build directory " <> T.pack tmpdir <> " for more clues." <> "\n" <>+                    "Make sure to clean up " <> T.pack tmpdir <> " afterwards.")+                pure $ ExitFailure 3+              VLeft e -> do+                runLogger $ do+                  logError $ T.pack $ prettyShow e+                  logError $ "Also check the logs in " <> T.pack logsDir+                pure $ ExitFailure 3+++  installCabal :: InstallOptions -> IO ExitCode+  installCabal InstallOptions{..} = do+    s'@AppState{ dirs = Dirs{ .. } } <- liftIO getAppState'+    (case instBindist of+       Nothing -> runInstTool s' instPlatform $ do+         (v, vi) <- liftE $ fromVersion instVer Cabal+         liftE $ installCabalBin+                   (_tvVersion v)+                   isolateDir+                   forceInstall+         pure vi+       Just uri -> do+         runInstTool s'{ settings = settings { noVerify = True}} instPlatform $ do+           (v, vi) <- liftE $ fromVersion instVer Cabal+           liftE $ installCabalBindist +                     (DownloadInfo uri Nothing "")+                     (_tvVersion v)+                     isolateDir+                     forceInstall+           pure vi+      )+      >>= \case+            VRight vi -> do+              runLogger $ logInfo "Cabal installation successful"+              forM_ (_viPostInstall =<< vi) $ \msg ->+                runLogger $ logInfo msg+              pure ExitSuccess+            VLeft (V (AlreadyInstalled _ v)) -> do+              runLogger $ logWarn $+                "Cabal ver " <> prettyVer v <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install cabal --force " <> prettyVer v <> "'"+              pure ExitSuccess+            VLeft (V (FileAlreadyExistsError fp)) -> do+              runLogger $ logWarn $+                "File " <> T.pack fp <> " already exists. Use 'ghcup install cabal --isolate " <> T.pack fp <> " --force ..." <> "' if you want to overwrite."+              pure $ ExitFailure 3+            VLeft e -> do+              runLogger $ do+                logError $ T.pack $ prettyShow e+                logError $ "Also check the logs in " <> T.pack logsDir+              pure $ ExitFailure 4++  installHLS :: InstallOptions -> IO ExitCode+  installHLS InstallOptions{..} = do+     s'@AppState{ dirs = Dirs{ .. } } <- liftIO getAppState'+     (case instBindist of+       Nothing -> runInstTool s' instPlatform $ do+         (v, vi) <- liftE $ fromVersion instVer HLS+         liftE $ installHLSBin+                   (_tvVersion v)+                   isolateDir+                   forceInstall+         pure vi+       Just uri -> do+         runInstTool s'{ settings = settings { noVerify = True}} instPlatform $ do+           (v, vi) <- liftE $ fromVersion instVer HLS+           liftE $ installHLSBindist+                     (DownloadInfo uri Nothing "")+                     (_tvVersion v)+                     isolateDir+                     forceInstall+           pure vi+      )+      >>= \case+            VRight vi -> do+              runLogger $ logInfo "HLS installation successful"+              forM_ (_viPostInstall =<< vi) $ \msg ->+                runLogger $ logInfo msg+              pure ExitSuccess+            VLeft (V (AlreadyInstalled _ v)) -> do+              runLogger $ logWarn $+                  "HLS ver "+                <> prettyVer v+                <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install hls --force "+                <> prettyVer v+                <> "'"+              pure ExitSuccess+            VLeft (V (FileAlreadyExistsError fp)) -> do+              runLogger $ logWarn $+                "File " <> T.pack fp <> " already exists. Use 'ghcup install hls --isolate " <> T.pack fp <> " --force ..." <> "' if you want to overwrite."+              pure $ ExitFailure 3+            VLeft e -> do+              runLogger $ do+                logError $ T.pack $ prettyShow e+                logError $ "Also check the logs in " <> T.pack logsDir+              pure $ ExitFailure 4++  installStack :: InstallOptions -> IO ExitCode+  installStack InstallOptions{..} = do+     s'@AppState{ dirs = Dirs{ .. } } <- liftIO getAppState'+     (case instBindist of+        Nothing -> runInstTool s' instPlatform $ do+          (v, vi) <- liftE $ fromVersion instVer Stack+          liftE $ installStackBin+                    (_tvVersion v)+                    isolateDir+                    forceInstall+          pure vi+        Just uri -> do+          runInstTool s'{ settings = settings { noVerify = True}} instPlatform $ do+            (v, vi) <- liftE $ fromVersion instVer Stack+            liftE $ installStackBindist+                      (DownloadInfo uri Nothing "")+                      (_tvVersion v)+                      isolateDir+                      forceInstall+            pure vi+      )+      >>= \case+            VRight vi -> do+              runLogger $ logInfo "Stack installation successful"+              forM_ (_viPostInstall =<< vi) $ \msg ->+                runLogger $ logInfo msg+              pure ExitSuccess+            VLeft (V (AlreadyInstalled _ v)) -> do+              runLogger $ logWarn $+                "Stack ver " <> prettyVer v <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install stack --force " <> prettyVer v <> "'"+              pure ExitSuccess+            VLeft (V (FileAlreadyExistsError fp)) -> do+              runLogger $ logWarn $+                "File " <> T.pack fp <> " already exists. Use 'ghcup install stack --isolate " <> T.pack fp <> " --force ..." <> "' if you want to overwrite."+              pure $ ExitFailure 3+            VLeft e -> do+              runLogger $ do+                logError $ T.pack $ prettyShow e+                logError $ "Also check the logs in " <> T.pack logsDir+              pure $ ExitFailure 4+
+ app/ghcup/GHCup/OptParse/List.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.List where+++++import           GHCup+import           GHCup.Utils.Prelude+import           GHCup.Types+import           GHCup.OptParse.Common++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Char+import           Data.List                      ( intercalate, sort )+import           Data.Functor+import           Data.Maybe+import           Data.Versions           hiding ( str )+import           Data.Void+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           System.Console.Pretty   hiding ( color )++import qualified Data.Text                     as T+import qualified System.Console.Pretty         as Pretty+import Control.Exception.Safe (MonadMask)+import qualified Text.Megaparsec               as MP+import qualified Text.Megaparsec.Char          as MPC+++++++    ---------------+    --[ Options ]--+    ---------------+++data ListOptions = ListOptions+  { loTool     :: Maybe Tool+  , lCriteria  :: Maybe ListCriteria+  , lRawFormat :: Bool+  }+++++    ---------------+    --[ Parsers ]--+    ---------------++          +listOpts :: Parser ListOptions+listOpts =+  ListOptions+    <$> optional+          (option+            (eitherReader toolParser)+            (short 't' <> long "tool" <> metavar "<ghc|cabal|hls|stack>" <> help+              "Tool to list versions for. Default is all"+            )+          )+    <*> optional+          (option+            (eitherReader criteriaParser)+            (  short 'c'+            <> long "show-criteria"+            <> metavar "<installed|set|available>"+            <> help "Show only installed/set/available tool versions"+            )+          )+    <*> switch+          (short 'r' <> long "raw-format" <> help "More machine-parsable format"+          )+++++    -----------------+    --[ Utilities ]--+    -----------------+++printListResult :: Bool -> Bool -> [ListResult] -> IO ()+printListResult no_color raw lr = do++  let+    color | raw || no_color = (\_ x -> x)+          | otherwise       = Pretty.color++  let+    printTag Recommended        = color Green "recommended"+    printTag Latest             = color Yellow "latest"+    printTag Prerelease         = color Red "prerelease"+    printTag (Base       pvp'') = "base-" ++ T.unpack (prettyPVP pvp'')+    printTag (UnknownTag t    ) = t+    printTag Old                = ""++  let+    rows =+      (\x -> if raw+          then x+          else [color Green "", "Tool", "Version", "Tags", "Notes"] : x+        )+        . fmap+            (\ListResult {..} ->+              let marks = if+                    | lSet       -> (color Green (if isWindows then "IS" else "✔✔"))+                    | lInstalled -> (color Green (if isWindows then "I " else "✓ "))+                    | otherwise  -> (color Red   (if isWindows then "X " else "✗ "))+              in+                (if raw then [] else [marks])+                  ++ [ fmap toLower . show $ lTool+                     , case lCross of+                       Nothing -> T.unpack . prettyVer $ lVer+                       Just c  -> T.unpack (c <> "-" <> prettyVer lVer)+                     , intercalate "," (filter (/= "") . fmap printTag $ sort lTag)+                     , intercalate ","+                     $  (if hlsPowered+                          then [color Green "hls-powered"]+                          else mempty+                        )+                     ++ (if fromSrc then [color Blue "compiled"] else mempty)+                     ++ (if lStray then [color Yellow "stray"] else mempty)+                     ++ (if lNoBindist+                          then [color Red "no-bindist"]+                          else mempty+                        )+                     ]+            )+        $ lr+  let cols =+        foldr (\xs ys -> zipWith (:) xs ys) (replicate (length rows) []) rows+      lengths = fmap (maximum . fmap strWidth) cols+      padded  = fmap (\xs -> zipWith padTo xs lengths) rows++  forM_ padded $ \row -> putStrLn $ unwords row+ where++  padTo str' x =+    let lstr = strWidth str'+        add' = x - lstr+    in  if add' < 0 then str' else str' ++ replicate add' ' '++  -- | Calculate the render width of a string, considering+  -- wide characters (counted as double width), ANSI escape codes+  -- (not counted), and line breaks (in a multi-line string, the longest+  -- line determines the width).+  strWidth :: String -> Int+  strWidth =+    maximum+      . (0 :)+      . map (foldr (\a b -> charWidth a + b) 0)+      . lines+      . stripAnsi++  -- | Strip ANSI escape sequences from a string.+  --+  -- >>> stripAnsi "\ESC[31m-1\ESC[m"+  -- "-1"+  stripAnsi :: String -> String+  stripAnsi s' =+    case+        MP.parseMaybe (many $ "" <$ MP.try ansi <|> pure <$> MP.anySingle) s'+      of+        Nothing -> error "Bad ansi escape"  -- PARTIAL: should not happen+        Just xs -> concat xs+   where+      -- This parses lots of invalid ANSI escape codes, but that should be fine+    ansi =+      MPC.string "\ESC[" *> digitSemicolons *> suffix MP.<?> "ansi" :: MP.Parsec+          Void+          String+          Char+    digitSemicolons = MP.takeWhileP Nothing (\c -> isDigit c || c == ';')+    suffix = MP.oneOf ['A', 'B', 'C', 'D', 'H', 'J', 'K', 'f', 'm', 's', 'u']++  -- | Get the designated render width of a character: 0 for a combining+  -- character, 1 for a regular character, 2 for a wide character.+  -- (Wide characters are rendered as exactly double width in apps and+  -- fonts that support it.) (From Pandoc.)+  charWidth :: Char -> Int+  charWidth c = case c of+    _ | c < '\x0300'                     -> 1+      | c >= '\x0300' && c <= '\x036F'   -> 0+      |  -- combining+        c >= '\x0370' && c <= '\x10FC'   -> 1+      | c >= '\x1100' && c <= '\x115F'   -> 2+      | c >= '\x1160' && c <= '\x11A2'   -> 1+      | c >= '\x11A3' && c <= '\x11A7'   -> 2+      | c >= '\x11A8' && c <= '\x11F9'   -> 1+      | c >= '\x11FA' && c <= '\x11FF'   -> 2+      | c >= '\x1200' && c <= '\x2328'   -> 1+      | c >= '\x2329' && c <= '\x232A'   -> 2+      | c >= '\x232B' && c <= '\x2E31'   -> 1+      | c >= '\x2E80' && c <= '\x303E'   -> 2+      | c == '\x303F'                    -> 1+      | c >= '\x3041' && c <= '\x3247'   -> 2+      | c >= '\x3248' && c <= '\x324F'   -> 1+      | -- ambiguous+        c >= '\x3250' && c <= '\x4DBF'   -> 2+      | c >= '\x4DC0' && c <= '\x4DFF'   -> 1+      | c >= '\x4E00' && c <= '\xA4C6'   -> 2+      | c >= '\xA4D0' && c <= '\xA95F'   -> 1+      | c >= '\xA960' && c <= '\xA97C'   -> 2+      | c >= '\xA980' && c <= '\xABF9'   -> 1+      | c >= '\xAC00' && c <= '\xD7FB'   -> 2+      | c >= '\xD800' && c <= '\xDFFF'   -> 1+      | c >= '\xE000' && c <= '\xF8FF'   -> 1+      | -- ambiguous+        c >= '\xF900' && c <= '\xFAFF'   -> 2+      | c >= '\xFB00' && c <= '\xFDFD'   -> 1+      | c >= '\xFE00' && c <= '\xFE0F'   -> 1+      | -- ambiguous+        c >= '\xFE10' && c <= '\xFE19'   -> 2+      | c >= '\xFE20' && c <= '\xFE26'   -> 1+      | c >= '\xFE30' && c <= '\xFE6B'   -> 2+      | c >= '\xFE70' && c <= '\xFEFF'   -> 1+      | c >= '\xFF01' && c <= '\xFF60'   -> 2+      | c >= '\xFF61' && c <= '\x16A38'  -> 1+      | c >= '\x1B000' && c <= '\x1B001' -> 2+      | c >= '\x1D000' && c <= '\x1F1FF' -> 1+      | c >= '\x1F200' && c <= '\x1F251' -> 2+      | c >= '\x1F300' && c <= '\x1F773' -> 1+      | c >= '\x20000' && c <= '\x3FFFD' -> 2+      | otherwise                        -> 1++++++    ------------------+    --[ Entrypoint ]--+    ------------------++++list :: ( Monad m+         , MonadMask m+         , MonadUnliftIO m+         , MonadFail m+         )+      => ListOptions+      -> Bool+      -> (ReaderT AppState m ExitCode -> m ExitCode)+      -> m ExitCode+list ListOptions{..} no_color runAppState =+  runAppState (do+      l <- listVersions loTool lCriteria+      liftIO $ printListResult no_color lRawFormat l+      pure ExitSuccess+    )
+ app/ghcup/GHCup/OptParse/Nuke.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.Nuke where+++++import           GHCup+import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils.Logger++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Maybe+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+import Control.DeepSeq+import Control.Exception+import Control.Concurrent (threadDelay)+++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type NukeEffects = '[ NotInstalled ]+++runNuke :: AppState+        -> Excepts NukeEffects (ReaderT AppState m) a+        -> m (VEither NukeEffects a)+runNuke s' =+  flip runReaderT s' . runE @NukeEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++nuke :: ( Monad m+        , MonadMask m+        , MonadUnliftIO m+        , MonadFail m+        )+     => IO AppState+     -> (ReaderT LeanAppState m () -> m ())+     -> m ExitCode+nuke appState runLogger = do+  s' <- liftIO appState+  void $ liftIO $ evaluate $ force s'+  runNuke s' (do+       lift $ logWarn "WARNING: This will remove GHCup and all installed components from your system."+       lift $ logWarn "Waiting 10 seconds before commencing, if you want to cancel it, now would be the time."+       liftIO $ threadDelay 10000000  -- wait 10s++       lift $ logInfo "Initiating Nuclear Sequence 🚀🚀🚀"+       lift $ logInfo "Nuking in 3...2...1"+  +       lInstalled <- lift $ listVersions Nothing (Just ListInstalled)++       forM_ lInstalled (liftE . rmTool)++       lift rmGhcupDirs++       ) >>= \case+                VRight leftOverFiles+                  | null leftOverFiles -> do+                      runLogger $ logInfo "Nuclear Annihilation complete!"+                      pure ExitSuccess+                  | otherwise -> do+                      runLogger $ logError "These Files have survived Nuclear Annihilation, you may remove them manually."+                      liftIO $ forM_ leftOverFiles putStrLn+                      pure ExitSuccess++                VLeft e -> do+                  runLogger $ logError $ T.pack $ prettyShow e+                  pure $ ExitFailure 15
+ app/ghcup/GHCup/OptParse/Prefetch.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.Prefetch where+++import           GHCup+import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils.Logger+import           GHCup.OptParse.Common+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Data.Maybe+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+import GHCup.Utils.Prelude+import GHCup.Download (getDownloadsF)+++++    ----------------+    --[ Commands ]--+    ----------------+++data PrefetchCommand = PrefetchGHC PrefetchGHCOptions (Maybe ToolVersion)+                     | PrefetchCabal PrefetchOptions (Maybe ToolVersion)+                     | PrefetchHLS PrefetchOptions (Maybe ToolVersion)+                     | PrefetchStack PrefetchOptions (Maybe ToolVersion)+                     | PrefetchMetadata++++++    ---------------+    --[ Options ]--+    ---------------+++data PrefetchOptions = PrefetchOptions {+  pfCacheDir :: Maybe FilePath+}++data PrefetchGHCOptions = PrefetchGHCOptions {+    pfGHCSrc :: Bool+  , pfGHCCacheDir :: Maybe FilePath+}++++    ---------------+    --[ Parsers ]--+    ---------------++          +prefetchP :: Parser PrefetchCommand+prefetchP = subparser+  (  command+      "ghc"+      (info +        (PrefetchGHC+          <$> (PrefetchGHCOptions+                <$> ( switch (short 's' <> long "source" <> help "Download source tarball instead of bindist") <**> helper )+                <*> optional (option str (short 'd' <> long "directory" <> help "directory to download into (default: ~/.ghcup/cache/)")))+          <*>  optional (toolVersionArgument Nothing (Just GHC)) )+        ( progDesc "Download GHC assets for installation")+      )+      <>+     command+      "cabal"+      (info +        (PrefetchCabal+          <$> fmap PrefetchOptions (optional (option str (short 'd' <> long "directory" <> help "directory to download into (default: ~/.ghcup/cache/)")))+          <*> ( optional (toolVersionArgument Nothing (Just Cabal)) <**> helper ))+        ( progDesc "Download cabal assets for installation")+      )+      <>+     command+      "hls"+      (info +        (PrefetchHLS+          <$> fmap PrefetchOptions (optional (option str (short 'd' <> long "directory" <> help "directory to download into (default: ~/.ghcup/cache/)")))+          <*> ( optional (toolVersionArgument Nothing (Just HLS)) <**> helper ))+        ( progDesc "Download HLS assets for installation")+      )+      <>+     command+      "stack"+      (info +        (PrefetchStack+          <$> fmap PrefetchOptions (optional (option str (short 'd' <> long "directory" <> help "directory to download into (default: ~/.ghcup/cache/)")))+          <*> ( optional (toolVersionArgument Nothing (Just Stack)) <**> helper ))+        ( progDesc "Download stack assets for installation")+      )+      <>+     command+      "metadata"+      (PrefetchMetadata <$ info+        helper+        ( progDesc "Download ghcup's metadata, needed for various operations")+      )+  )++++    --------------+    --[ Footer ]--+    --------------+++prefetchFooter :: String+prefetchFooter = [s|Discussion:+  Prefetches tools or assets into "~/.ghcup/cache" directory. This can+  be then combined later with '--offline' flag, ensuring all assets that+  are required for offline use have been prefetched.++Examples:+  ghcup prefetch metadata+  ghcup prefetch ghc 8.10.5+  ghcup --offline install ghc 8.10.5|]++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type PrefetchEffects = '[ TagNotFound+                        , NextVerNotFound+                        , NoToolVersionSet+                        , NoDownload+                        , DigestError+                        , GPGError+                        , DownloadFailed+                        , JSONError+                        , FileDoesNotExistError ]+++runPrefetch :: MonadUnliftIO m+            => (ReaderT AppState m (VEither PrefetchEffects a) -> m (VEither PrefetchEffects a))+            -> Excepts PrefetchEffects (ResourceT (ReaderT AppState m)) a+            -> m (VEither PrefetchEffects a)+runPrefetch runAppState =+  runAppState+  . runResourceT+  . runE+    @PrefetchEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++prefetch :: ( Monad m+            , MonadMask m+            , MonadUnliftIO m+            , MonadFail m+            )+         => PrefetchCommand+         -> (forall a. ReaderT AppState m (VEither PrefetchEffects a) -> m (VEither PrefetchEffects a))+         -> (ReaderT LeanAppState m () -> m ())+         -> m ExitCode+prefetch prefetchCommand runAppState runLogger =+  runPrefetch runAppState (do+    case prefetchCommand of+      PrefetchGHC+        (PrefetchGHCOptions pfGHCSrc pfCacheDir) mt -> do+          forM_ pfCacheDir (liftIO . createDirRecursive')+          (v, _) <- liftE $ fromVersion mt GHC+          if pfGHCSrc+          then liftE $ fetchGHCSrc (_tvVersion v) pfCacheDir+          else liftE $ fetchToolBindist (_tvVersion v) GHC pfCacheDir+      PrefetchCabal PrefetchOptions {pfCacheDir} mt   -> do+        forM_ pfCacheDir (liftIO . createDirRecursive')+        (v, _) <- liftE $ fromVersion mt Cabal+        liftE $ fetchToolBindist (_tvVersion v) Cabal pfCacheDir+      PrefetchHLS PrefetchOptions {pfCacheDir} mt   -> do+        forM_ pfCacheDir (liftIO . createDirRecursive')+        (v, _) <- liftE $ fromVersion mt HLS+        liftE $ fetchToolBindist (_tvVersion v) HLS pfCacheDir+      PrefetchStack PrefetchOptions {pfCacheDir} mt   -> do+        forM_ pfCacheDir (liftIO . createDirRecursive')+        (v, _) <- liftE $ fromVersion mt Stack+        liftE $ fetchToolBindist (_tvVersion v) Stack pfCacheDir+      PrefetchMetadata -> do+        _ <- liftE getDownloadsF+        pure ""+       ) >>= \case+                VRight _ -> do+                      pure ExitSuccess+                VLeft e -> do+                  runLogger $ logError $ T.pack $ prettyShow e+                  pure $ ExitFailure 15
+ app/ghcup/GHCup/OptParse/Rm.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.Rm where+++++import           GHCup+import           GHCup.Errors+import           GHCup.Types+import           GHCup.Types.Optics+import           GHCup.Utils+import           GHCup.Utils.Logger+import           GHCup.OptParse.Common+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Data.Maybe+import           Data.Versions           hiding ( str )+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+++++    ----------------+    --[ Commands ]--+    ----------------+++data RmCommand = RmGHC RmOptions+               | RmCabal Version+               | RmHLS Version+               | RmStack Version+++++    ---------------+    --[ Options ]--+    ---------------+++data RmOptions = RmOptions+  { ghcVer :: GHCTargetVersion+  }+++++    ---------------+    --[ Parsers ]--+    ---------------++          +rmParser :: Parser (Either RmCommand RmOptions)+rmParser =+  (Left <$> subparser+      (  command+          "ghc"+          (RmGHC <$> info (rmOpts (Just GHC) <**> helper) (progDesc "Remove GHC version"))+      <> command+           "cabal"+           (   RmCabal+           <$> info (versionParser' (Just ListInstalled) (Just Cabal) <**> helper)+                    (progDesc "Remove Cabal version")+           )+      <> command+           "hls"+           (   RmHLS+           <$> info (versionParser' (Just ListInstalled) (Just HLS) <**> helper)+                    (progDesc "Remove haskell-language-server version")+           )+      <> command+           "stack"+           (   RmStack+           <$> info (versionParser' (Just ListInstalled) (Just Stack) <**> helper)+                    (progDesc "Remove stack version")+           )+      )+    )+    <|> (Right <$> rmOpts Nothing)++++rmOpts :: Maybe Tool -> Parser RmOptions+rmOpts tool = RmOptions <$> versionArgument (Just ListInstalled) tool+++++    --------------+    --[ Footer ]--+    --------------+++rmFooter :: String+rmFooter = [s|Discussion:+  Remove the given GHC or cabal version. When no command is given,+  defaults to removing GHC with the specified version.+  It is recommended to always specify a subcommand (ghc/cabal/hls/stack).|]+++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type RmEffects = '[ NotInstalled ]+++runRm :: (ReaderT env m (VEither RmEffects a) -> m (VEither RmEffects a))+            -> Excepts RmEffects (ReaderT env m) a+            -> m (VEither RmEffects a)+runRm runAppState =+    runAppState+    . runE+      @RmEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++rm :: ( Monad m+      , MonadMask m+      , MonadUnliftIO m+      , MonadFail m+      )+   => Either RmCommand RmOptions+   -> (ReaderT AppState m (VEither RmEffects (Maybe VersionInfo))+       -> m (VEither RmEffects (Maybe VersionInfo)))+   -> (ReaderT LeanAppState m () -> m ())+   -> m ExitCode+rm rmCommand runAppState runLogger = case rmCommand of+  (Right rmopts) -> do+    runLogger (logWarn "This is an old-style command for removing GHC. Use 'ghcup rm ghc' instead.")+    rmGHC' rmopts+  (Left (RmGHC rmopts)) -> rmGHC' rmopts+  (Left (RmCabal rmopts)) -> rmCabal' rmopts+  (Left (RmHLS rmopts)) -> rmHLS' rmopts+  (Left (RmStack rmopts)) -> rmStack' rmopts++ where+  rmGHC' RmOptions{..} =+    runRm runAppState (do+        liftE $+          rmGHCVer ghcVer+        GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+        pure (getVersionInfo (_tvVersion ghcVer) GHC dls)+      )+      >>= \case+            VRight vi -> do+              forM_ (_viPostRemove =<< vi) $ \msg ->+                runLogger $ logInfo msg+              pure ExitSuccess+            VLeft  e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 7++  rmCabal' tv =+    runRm runAppState (do+        liftE $+          rmCabalVer tv+        GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+        pure (getVersionInfo tv Cabal dls)+      )+      >>= \case+            VRight vi -> do+              forM_ (_viPostRemove =<< vi) $ \msg ->+                runLogger $ logInfo msg+              pure ExitSuccess+            VLeft  e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 15++  rmHLS' tv =+    runRm runAppState (do+        liftE $+          rmHLSVer tv+        GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+        pure (getVersionInfo tv HLS dls)+      )+      >>= \case+            VRight vi -> do+              forM_ (_viPostRemove =<< vi) $ \msg ->+                runLogger $ logInfo msg+              pure ExitSuccess+            VLeft  e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 15++  rmStack' tv =+    runRm runAppState (do+        liftE $+          rmStackVer tv+        GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+        pure (getVersionInfo tv Stack dls)+      )+      >>= \case+            VRight vi -> do+              forM_ (_viPostRemove =<< vi) $ \msg ->+                runLogger $ logInfo msg+              pure ExitSuccess+            VLeft  e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 15+
+ app/ghcup/GHCup/OptParse/Set.hs view
@@ -0,0 +1,349 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.Set where+++++import           GHCup.OptParse.Common++import           GHCup+import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils.Logger+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Either+import           Data.Functor+import           Data.Maybe+import           Data.Versions           hiding ( str )+import           GHC.Unicode+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Options.Applicative.Help.Pretty ( text )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Data.Bifunctor (second)+import Control.Exception.Safe (MonadMask)+import GHCup.Types.Optics+++++    ----------------+    --[ Commands ]--+    ----------------+++data SetCommand = SetGHC SetOptions+                | SetCabal SetOptions+                | SetHLS SetOptions+                | SetStack SetOptions+++++    ---------------+    --[ Options ]--+    ---------------+++data SetOptions = SetOptions+  { sToolVer :: SetToolVersion+  }+++++    ---------------+    --[ Parsers ]--+    ---------------++          +setParser :: Parser (Either SetCommand SetOptions)+setParser =+  (Left <$> subparser+      (  command+          "ghc"+          (   SetGHC+          <$> info+                (setOpts (Just GHC) <**> helper)+                (  progDesc "Set GHC version"+                <> footerDoc (Just $ text setGHCFooter)+                )+          )+      <> command+           "cabal"+           (   SetCabal+           <$> info+                 (setOpts (Just Cabal) <**> helper)+                 (  progDesc "Set Cabal version"+                 <> footerDoc (Just $ text setCabalFooter)+                 )+           )+      <> command+           "hls"+           (   SetHLS+           <$> info+                 (setOpts (Just HLS) <**> helper)+                 (  progDesc "Set haskell-language-server version"+                 <> footerDoc (Just $ text setHLSFooter)+                 )+           )+      <> command+           "stack"+           (   SetStack+           <$> info+                 (setOpts (Just Stack) <**> helper)+                 (  progDesc "Set stack version"+                 <> footerDoc (Just $ text setStackFooter)+                 )+           )+      )+    )+    <|> (Right <$> setOpts Nothing)+ where+  setGHCFooter :: String+  setGHCFooter = [s|Discussion:+    Sets the the current GHC version by creating non-versioned+    symlinks for all ghc binaries of the specified version in+    "~/.ghcup/bin/<binary>".|]++  setCabalFooter :: String+  setCabalFooter = [s|Discussion:+    Sets the the current Cabal version.|]++  setStackFooter :: String+  setStackFooter = [s|Discussion:+    Sets the the current Stack version.|]++  setHLSFooter :: String+  setHLSFooter = [s|Discussion:+    Sets the the current haskell-language-server version.|]+++setOpts :: Maybe Tool -> Parser SetOptions+setOpts tool = SetOptions <$>+    (fromMaybe SetRecommended <$>+      optional (setVersionArgument (Just ListInstalled) tool))++setVersionArgument :: Maybe ListCriteria -> Maybe Tool -> Parser SetToolVersion+setVersionArgument criteria tool =+  argument (eitherReader setEither)+    (metavar "VERSION|TAG|next"+    <> completer (tagCompleter (fromMaybe GHC tool) ["next"])+    <> foldMap (completer . versionCompleter criteria) tool)+ where+  setEither s' =+        parseSet s'+    <|> second SetToolTag (tagEither s')+    <|> second SetToolVersion (tVersionEither s')+  parseSet s' = case fmap toLower s' of+                  "next" -> Right SetNext+                  other  -> Left $ "Unknown tag/version " <> other+++++    --------------+    --[ Footer ]--+    --------------+++setFooter :: String+setFooter = [s|Discussion:+  Sets the currently active GHC or cabal version. When no command is given,+  defaults to setting GHC with the specified version/tag (if no tag+  is given, sets GHC to 'recommended' version).+  It is recommended to always specify a subcommand (ghc/cabal/hls/stack).|]++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type SetGHCEffects = '[ FileDoesNotExistError+                   , NotInstalled+                   , TagNotFound+                   , NextVerNotFound+                   , NoToolVersionSet]++runSetGHC :: (ReaderT env m (VEither SetGHCEffects a) -> m (VEither SetGHCEffects a))+          -> Excepts SetGHCEffects (ReaderT env m) a+          -> m (VEither SetGHCEffects a)+runSetGHC runAppState =+    runAppState+    . runE+      @SetGHCEffects+++type SetCabalEffects = '[ NotInstalled+                        , TagNotFound+                        , NextVerNotFound+                        , NoToolVersionSet]++runSetCabal :: (ReaderT env m (VEither SetCabalEffects a) -> m (VEither SetCabalEffects a))+            -> Excepts SetCabalEffects (ReaderT env m) a+            -> m (VEither SetCabalEffects a)+runSetCabal runAppState =+    runAppState+    . runE+      @SetCabalEffects+++type SetHLSEffects = '[ NotInstalled+                      , TagNotFound+                      , NextVerNotFound+                      , NoToolVersionSet]++runSetHLS :: (ReaderT env m (VEither SetHLSEffects a) -> m (VEither SetHLSEffects a))+          -> Excepts SetHLSEffects (ReaderT env m) a+          -> m (VEither SetHLSEffects a)+runSetHLS runAppState =+    runAppState+    . runE+      @SetHLSEffects+++type SetStackEffects = '[ NotInstalled+                        , TagNotFound+                        , NextVerNotFound+                        , NoToolVersionSet]++runSetStack :: (ReaderT env m (VEither SetStackEffects a) -> m (VEither SetStackEffects a))+            -> Excepts SetStackEffects (ReaderT env m) a+            -> m (VEither SetStackEffects a)+runSetStack runAppState =+    runAppState+    . runE+      @SetStackEffects++++    -------------------+    --[ Entrypoints ]--+    -------------------+++set :: forall m env.+       ( Monad m+       , MonadMask m+       , MonadUnliftIO m+       , MonadFail m+       , HasDirs env+       , HasLog env+       )+    => Either SetCommand SetOptions+    -> (forall eff . ReaderT AppState m (VEither eff GHCTargetVersion)+        -> m (VEither eff GHCTargetVersion))+    -> (forall eff. ReaderT env m (VEither eff GHCTargetVersion)+        -> m (VEither eff GHCTargetVersion))+    -> (ReaderT LeanAppState m () -> m ())+    -> m ExitCode+set setCommand runAppState runLeanAppState runLogger = case setCommand of+  (Right sopts) -> do+    runLogger (logWarn "This is an old-style command for setting GHC. Use 'ghcup set ghc' instead.")+    setGHC' sopts+  (Left (SetGHC sopts)) -> setGHC' sopts+  (Left (SetCabal sopts)) -> setCabal' sopts+  (Left (SetHLS sopts)) -> setHLS' sopts+  (Left (SetStack sopts)) -> setStack' sopts++ where+  setGHC' :: SetOptions+          -> m ExitCode+  setGHC' SetOptions{ sToolVer } =+    case sToolVer of+      (SetToolVersion v) -> runSetGHC runLeanAppState (liftE $ setGHC v SetGHCOnly >> pure v)+      _ -> runSetGHC runAppState (do+          v <- liftE $ fst <$> fromVersion' sToolVer GHC+          liftE $ setGHC v SetGHCOnly+        )+      >>= \case+            VRight GHCTargetVersion{..} -> do+              runLogger+                $ logInfo $+                    "GHC " <> prettyVer _tvVersion <> " successfully set as default version" <> maybe "" (" for cross target " <>) _tvTarget+              pure ExitSuccess+            VLeft e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 5+++  setCabal' :: SetOptions+            -> m ExitCode+  setCabal' SetOptions{ sToolVer } =+    case sToolVer of+      (SetToolVersion v) -> runSetCabal runLeanAppState (liftE $ setCabal (_tvVersion v) >> pure v)+      _ -> runSetCabal runAppState (do+          v <- liftE $ fst <$> fromVersion' sToolVer Cabal+          liftE $ setCabal (_tvVersion v)+          pure v+        )+      >>= \case+            VRight GHCTargetVersion{..} -> do+              runLogger+                $ logInfo $+                    "Cabal " <> prettyVer _tvVersion <> " successfully set as default version"+              pure ExitSuccess+            VLeft  e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 14++  setHLS' :: SetOptions+          -> m ExitCode+  setHLS' SetOptions{ sToolVer } =+    case sToolVer of+      (SetToolVersion v) -> runSetHLS runLeanAppState (liftE $ setHLS (_tvVersion v) >> pure v)+      _ -> runSetHLS runAppState (do+          v <- liftE $ fst <$> fromVersion' sToolVer HLS+          liftE $ setHLS (_tvVersion v)+          pure v+        )+      >>= \case+            VRight GHCTargetVersion{..} -> do+              runLogger+                $ logInfo $+                    "HLS " <> prettyVer _tvVersion <> " successfully set as default version"+              pure ExitSuccess+            VLeft  e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 14+++  setStack' :: SetOptions+            -> m ExitCode+  setStack' SetOptions{ sToolVer } =+    case sToolVer of+      (SetToolVersion v) -> runSetStack runLeanAppState (liftE $ setStack (_tvVersion v) >> pure v)+      _ -> runSetStack runAppState (do+            v <- liftE $ fst <$> fromVersion' sToolVer Stack+            liftE $ setStack (_tvVersion v)+            pure v+          )+      >>= \case+            VRight GHCTargetVersion{..} -> do+              runLogger+                $ logInfo $+                    "Stack " <> prettyVer _tvVersion <> " successfully set as default version"+              pure ExitSuccess+            VLeft  e -> do+              runLogger $ logError $ T.pack $ prettyShow e+              pure $ ExitFailure 14
+ app/ghcup/GHCup/OptParse/ToolRequirements.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.ToolRequirements where+++import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils.Logger++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import qualified Data.Text.IO                  as T+import Control.Exception.Safe (MonadMask)+import GHCup.Types.Optics+import GHCup.Platform+import GHCup.Utils.Prelude+import GHCup.Requirements+import System.IO++++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type ToolRequirementsEffects = '[ NoCompatiblePlatform , DistroNotFound , NoToolRequirements ]+++runToolRequirements :: (ReaderT env m (VEither ToolRequirementsEffects a) -> m (VEither ToolRequirementsEffects a))+                    -> Excepts ToolRequirementsEffects (ReaderT env m) a+                    -> m (VEither ToolRequirementsEffects a)+runToolRequirements runAppState =+    runAppState+    . runE+      @ToolRequirementsEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++toolRequirements :: ( Monad m+                    , MonadMask m+                    , MonadUnliftIO m+                    , MonadFail m+                    , Alternative m+                    )+                 => (ReaderT AppState m (VEither ToolRequirementsEffects ()) -> m (VEither ToolRequirementsEffects ()))+                 -> (ReaderT LeanAppState m () -> m ())+                 -> m ExitCode+toolRequirements runAppState runLogger = runToolRequirements runAppState (do+    GHCupInfo { .. } <- lift getGHCupInfo+    platform' <- liftE getPlatform+    req      <- getCommonRequirements platform' _toolRequirements ?? NoToolRequirements+    liftIO $ T.hPutStr stdout (prettyRequirements req)+  )+    >>= \case+          VRight _ -> pure ExitSuccess+          VLeft  e -> do+            runLogger $ logError $ T.pack $ prettyShow e+            pure $ ExitFailure 12
+ app/ghcup/GHCup/OptParse/UnSet.hs view
@@ -0,0 +1,205 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.UnSet where+++++import           GHCup+import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils.Logger+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Data.Maybe+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Options.Applicative.Help.Pretty ( text )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+import GHCup.Types.Optics+++++    ----------------+    --[ Commands ]--+    ----------------+++data UnsetCommand = UnsetGHC   UnsetOptions+                  | UnsetCabal UnsetOptions+                  | UnsetHLS   UnsetOptions+                  | UnsetStack UnsetOptions+++++    ---------------+    --[ Options ]--+    ---------------+++data UnsetOptions = UnsetOptions+  { sToolVer :: Maybe T.Text -- target platform triple+  }+++++    ---------------+    --[ Parsers ]--+    ---------------++          +unsetParser :: Parser UnsetCommand+unsetParser =+  subparser+      (  command+          "ghc"+          (   UnsetGHC+          <$> info+                (unsetOpts <**> helper)+                (  progDesc "Unset GHC version"+                <> footerDoc (Just $ text unsetGHCFooter)+                )+          )+      <> command+           "cabal"+           (   UnsetCabal+           <$> info+                (unsetOpts <**> helper)+                 (  progDesc "Unset Cabal version"+                 <> footerDoc (Just $ text unsetCabalFooter)+                 )+           )+      <> command+           "hls"+           (   UnsetHLS+           <$> info+                 (unsetOpts <**> helper)+                 (  progDesc "Unset haskell-language-server version"+                 <> footerDoc (Just $ text unsetHLSFooter)+                 )+           )+      <> command+           "stack"+           (   UnsetStack+           <$> info+                 (unsetOpts <**> helper)+                 (  progDesc "Unset stack version"+                 <> footerDoc (Just $ text unsetStackFooter)+                 )+           )+      )+ where+  unsetGHCFooter :: String+  unsetGHCFooter = [s|Discussion:+    Unsets the the current GHC version. That means there won't+    be a ~/.ghcup/bin/ghc anymore.|]++  unsetCabalFooter :: String+  unsetCabalFooter = [s|Discussion:+    Unsets the the current Cabal version.|]++  unsetStackFooter :: String+  unsetStackFooter = [s|Discussion:+    Unsets the the current Stack version.|]++  unsetHLSFooter :: String+  unsetHLSFooter = [s|Discussion:+    Unsets the the current haskell-language-server version.|]+++unsetOpts :: Parser UnsetOptions+unsetOpts = UnsetOptions . fmap T.pack <$> optional (argument str (metavar "TRIPLE"))++++    --------------+    --[ Footer ]--+    --------------+++unsetFooter :: String+unsetFooter = [s|Discussion:+  Unsets the currently active GHC or cabal version.|]+++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type UnsetEffects = '[ NotInstalled ]+++runUnsetGHC :: (ReaderT env m (VEither UnsetEffects a) -> m (VEither UnsetEffects a))+            -> Excepts UnsetEffects (ReaderT env m) a+            -> m (VEither UnsetEffects a)+runUnsetGHC runLeanAppState =+    runLeanAppState+    . runE+      @UnsetEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++unset :: ( Monad m+         , MonadMask m+         , MonadUnliftIO m+         , MonadFail m+         , HasDirs env+         , HasLog env+         )+      => UnsetCommand+      -> (ReaderT env m (VEither UnsetEffects ())+          -> m (VEither UnsetEffects ()))+      -> (ReaderT LeanAppState m () -> m ())+      -> m ExitCode+unset unsetCommand runLeanAppState runLogger = case unsetCommand of+  (UnsetGHC (UnsetOptions triple)) -> runUnsetGHC runLeanAppState (unsetGHC triple)+        >>= \case+              VRight _ -> do+                runLogger $ logInfo "GHC successfully unset"+                pure ExitSuccess+              VLeft  e -> do+                runLogger $ logError $ T.pack $ prettyShow e+                pure $ ExitFailure 14+  (UnsetCabal (UnsetOptions _)) -> do+    void $ runLeanAppState (VRight <$> unsetCabal)+    runLogger $ logInfo "Cabal successfully unset"+    pure ExitSuccess+  (UnsetHLS (UnsetOptions _)) -> do+    void $ runLeanAppState (VRight <$> unsetHLS)+    runLogger $ logInfo "HLS successfully unset"+    pure ExitSuccess+  (UnsetStack (UnsetOptions _)) -> do+    void $ runLeanAppState (VRight <$> unsetStack)+    runLogger $ logInfo "Stack successfully unset"+    pure ExitSuccess
+ app/ghcup/GHCup/OptParse/Upgrade.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.Upgrade where+++++import           GHCup+import           GHCup.Errors+import           GHCup.Types+import           GHCup.Utils.Logger++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Data.Maybe+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+import System.Environment+import GHCup.Utils+import System.FilePath+import GHCup.Types.Optics+import Data.Versions         hiding (str)+++++++    ---------------+    --[ Options ]--+    ---------------+++data UpgradeOpts = UpgradeInplace+                 | UpgradeAt FilePath+                 | UpgradeGHCupDir+                 deriving Show+++++    ---------------+    --[ Parsers ]--+    ---------------++          +upgradeOptsP :: Parser UpgradeOpts+upgradeOptsP =+  flag'+      UpgradeInplace+      (short 'i' <> long "inplace" <> help+        "Upgrade ghcup in-place (wherever it's at)"+      )+    <|> (   UpgradeAt+        <$> option+              str+              (short 't' <> long "target" <> metavar "TARGET_DIR" <> help+                "Absolute filepath to write ghcup into"+              )+        )+    <|> pure UpgradeGHCupDir+++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type UpgradeEffects = '[ DigestError+                       , GPGError+                       , NoDownload+                       , NoUpdate+                       , FileDoesNotExistError+                       , CopyError+                       , DownloadFailed+                       ]+++runUpgrade :: MonadUnliftIO m+           => (ReaderT AppState m (VEither UpgradeEffects a) -> m (VEither UpgradeEffects a))+           -> Excepts UpgradeEffects (ResourceT (ReaderT AppState m)) a+           -> m (VEither UpgradeEffects a)+runUpgrade runAppState =+  runAppState+  . runResourceT+  . runE+    @UpgradeEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++upgrade :: ( Monad m+         , MonadMask m+         , MonadUnliftIO m+         , MonadFail m+         )+        => UpgradeOpts+        -> Bool+        -> (forall a. ReaderT AppState m (VEither UpgradeEffects a) -> m (VEither UpgradeEffects a))+        -> (ReaderT LeanAppState m () -> m ())+        -> m ExitCode+upgrade uOpts force' runAppState runLogger = do+  VRight Dirs{ .. }  <- runAppState (VRight <$> getDirs)+  target <- case uOpts of+    UpgradeInplace  -> Just <$> liftIO getExecutablePath+    (UpgradeAt p)   -> pure $ Just p+    UpgradeGHCupDir -> pure (Just (binDir </> "ghcup" <> exeExt))++  runUpgrade runAppState (do+    v' <- liftE $ upgradeGHCup target force'+    GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo+    pure (v', dls)+    ) >>= \case+      VRight (v', dls) -> do+        let pretty_v = prettyVer v'+        let vi = fromJust $ snd <$> getLatest dls GHCup+        runLogger $ logInfo $+          "Successfully upgraded GHCup to version " <> pretty_v+        forM_ (_viPostInstall vi) $ \msg ->+          runLogger $ logInfo msg+        pure ExitSuccess+      VLeft (V NoUpdate) -> do+        runLogger $ logWarn "No GHCup update available"+        pure ExitSuccess+      VLeft e -> do+        runLogger $ logError $ T.pack $ prettyShow e+        pure $ ExitFailure 11
+ app/ghcup/GHCup/OptParse/Whereis.hs view
@@ -0,0 +1,319 @@+{-# LANGUAGE CPP               #-}+{-# LANGUAGE DataKinds         #-}+{-# LANGUAGE TypeApplications  #-}+{-# LANGUAGE FlexibleContexts  #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}+{-# LANGUAGE QuasiQuotes       #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE RankNTypes #-}++module GHCup.OptParse.Whereis where+++++import           GHCup+import           GHCup.Errors+import           GHCup.OptParse.Common+import           GHCup.Types+import           GHCup.Utils.Logger+import           GHCup.Utils.String.QQ++#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Control.Monad.Trans.Resource+import           Data.Functor+import           Data.Maybe+import           Haskus.Utils.Variant.Excepts+import           Options.Applicative     hiding ( style )+import           Options.Applicative.Help.Pretty ( text )+import           Prelude                 hiding ( appendFile )+import           System.Exit+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.Text                     as T+import Control.Exception.Safe (MonadMask)+import System.FilePath (takeDirectory)+import GHCup.Types.Optics+++++    ----------------+    --[ Commands ]--+    ----------------+++data WhereisCommand = WhereisTool Tool (Maybe ToolVersion)+                    | WhereisBaseDir+                    | WhereisBinDir+                    | WhereisCacheDir+                    | WhereisLogsDir+                    | WhereisConfDir++++++    ---------------+    --[ Options ]--+    ---------------+++data WhereisOptions = WhereisOptions {+   directory :: Bool+}+++++    ---------------+    --[ Parsers ]--+    ---------------++          +whereisP :: Parser WhereisCommand+whereisP = subparser+  (commandGroup "Tools locations:" <> +    command+      "ghc"+      (WhereisTool GHC <$> info+        ( optional (toolVersionArgument Nothing (Just GHC)) <**> helper )+        ( progDesc "Get GHC location"+        <> footerDoc (Just $ text whereisGHCFooter ))+      )+      <>+     command+      "cabal"+      (WhereisTool Cabal <$> info+        ( optional (toolVersionArgument Nothing (Just Cabal)) <**> helper )+        ( progDesc "Get cabal location"+        <> footerDoc (Just $ text whereisCabalFooter ))+      )+      <>+     command+      "hls"+      (WhereisTool HLS <$> info+        ( optional (toolVersionArgument Nothing (Just HLS)) <**> helper )+        ( progDesc "Get HLS location"+        <> footerDoc (Just $ text whereisHLSFooter ))+      )+      <>+     command+      "stack"+      (WhereisTool Stack <$> info+        ( optional (toolVersionArgument Nothing (Just Stack)) <**> helper )+        ( progDesc "Get stack location"+        <> footerDoc (Just $ text whereisStackFooter ))+      )+      <>+     command+      "ghcup"+      (WhereisTool GHCup <$> info ( pure Nothing <**> helper ) ( progDesc "Get ghcup location" ))+    ) <|> subparser ( commandGroup "Directory locations:"+      <>+     command+      "basedir"+      (info (pure WhereisBaseDir <**> helper)+            ( progDesc "Get ghcup base directory location" )+      )+      <>+     command+      "bindir"+      (info (pure WhereisBinDir <**> helper)+            ( progDesc "Get ghcup binary directory location" )+      )+      <>+     command+      "cachedir"+      (info (pure WhereisCacheDir <**> helper)+            ( progDesc "Get ghcup cache directory location" )+      )+      <>+     command+      "logsdir"+      (info (pure WhereisLogsDir <**> helper)+            ( progDesc "Get ghcup logs directory location" )+      )+      <>+     command+      "confdir"+      (info (pure WhereisConfDir <**> helper)+            ( progDesc "Get ghcup config directory location" )+      )+  )+ where+  whereisGHCFooter = [s|Discussion:+  Finds the location of a GHC executable, which usually resides in+  a self-contained "~/.ghcup/ghc/<ghcver>" directory.++Examples:+  # outputs ~/.ghcup/ghc/8.10.5/bin/ghc.exe+  ghcup whereis ghc 8.10.5+  # outputs ~/.ghcup/ghc/8.10.5/bin/+  ghcup whereis --directory ghc 8.10.5 |]++  whereisCabalFooter = [s|Discussion:+  Finds the location of a Cabal executable, which usually resides in+  "~/.ghcup/bin/".++Examples:+  # outputs ~/.ghcup/bin/cabal-3.4.0.0+  ghcup whereis cabal 3.4.0.0+  # outputs ~/.ghcup/bin+  ghcup whereis --directory cabal 3.4.0.0|]++  whereisHLSFooter = [s|Discussion:+  Finds the location of a HLS executable, which usually resides in+  "~/.ghcup/bin/".++Examples:+  # outputs ~/.ghcup/bin/haskell-language-server-wrapper-1.2.0+  ghcup whereis hls 1.2.0+  # outputs ~/.ghcup/bin/+  ghcup whereis --directory hls 1.2.0|]++  whereisStackFooter = [s|Discussion:+  Finds the location of a stack executable, which usually resides in+  "~/.ghcup/bin/".++Examples:+  # outputs ~/.ghcup/bin/stack-2.7.1+  ghcup whereis stack 2.7.1+  # outputs ~/.ghcup/bin/+  ghcup whereis --directory stack 2.7.1|]++++    --------------+    --[ Footer ]--+    --------------+++whereisFooter :: String+whereisFooter = [s|Discussion:+  Finds the location of a tool. For GHC, this is the ghc binary, that+  usually resides in a self-contained "~/.ghcup/ghc/<ghcver>" directory.+  For cabal/stack/hls this the binary usually at "~/.ghcup/bin/<tool>-<ver>".++Examples:+  # outputs ~/.ghcup/ghc/8.10.5/bin/ghc.exe+  ghcup whereis ghc 8.10.5+  # outputs ~/.ghcup/ghc/8.10.5/bin/+  ghcup whereis --directory ghc 8.10.5+  # outputs ~/.ghcup/bin/cabal-3.4.0.0+  ghcup whereis cabal 3.4.0.0+  # outputs ~/.ghcup/bin/+  ghcup whereis --directory cabal 3.4.0.0|]+++++    ---------------------------+    --[ Effect interpreters ]--+    ---------------------------+++type WhereisEffects = '[ NotInstalled+                , NoToolVersionSet+                , NextVerNotFound+                , TagNotFound+                ]+++runLeanWhereIs :: (MonadUnliftIO m, MonadIO m)+               => LeanAppState+               -> Excepts WhereisEffects (ReaderT LeanAppState m) a+               -> m (VEither WhereisEffects a)+runLeanWhereIs leanAppstate =+    -- Don't use runLeanAppState here, which is disabled on windows.+    -- This is the only command on all platforms that doesn't need full appstate.+    flip runReaderT leanAppstate+    . runE+      @WhereisEffects+++runWhereIs :: (MonadUnliftIO m, MonadIO m)+           => (ReaderT AppState m (VEither WhereisEffects a) -> m (VEither WhereisEffects a))+           -> Excepts WhereisEffects (ReaderT AppState m) a+           -> m (VEither WhereisEffects a)+runWhereIs runAppState =+    runAppState+    . runE+      @WhereisEffects++++    ------------------+    --[ Entrypoint ]--+    ------------------++++whereis :: ( Monad m+         , MonadMask m+         , MonadUnliftIO m+         , MonadFail m+         )+      => WhereisCommand+      -> WhereisOptions+      -> (forall a. ReaderT AppState m (VEither WhereisEffects a) -> m (VEither WhereisEffects a))+      -> LeanAppState+      -> (ReaderT LeanAppState m () -> m ())+      -> m ExitCode+whereis whereisCommand whereisOptions runAppState leanAppstate runLogger = do+  Dirs{ .. }  <- runReaderT getDirs leanAppstate+  case (whereisCommand, whereisOptions) of+    (WhereisTool tool (Just (ToolVersion v)), WhereisOptions{..}) ->+      runLeanWhereIs leanAppstate (do+        loc <- liftE $ whereIsTool tool v+        if directory+        then pure $ takeDirectory loc+        else pure loc+        )+        >>= \case+              VRight r -> do+                liftIO $ putStr r+                pure ExitSuccess+              VLeft e -> do+                runLogger $ logError $ T.pack $ prettyShow e+                pure $ ExitFailure 30++    (WhereisTool tool whereVer, WhereisOptions{..}) -> do+      runWhereIs runAppState (do+        (v, _) <- liftE $ fromVersion whereVer tool+        loc <- liftE $ whereIsTool tool v+        if directory+        then pure $ takeDirectory loc+        else pure loc+        )+        >>= \case+              VRight r -> do+                liftIO $ putStr r+                pure ExitSuccess+              VLeft e -> do+                runLogger $ logError $ T.pack $ prettyShow e+                pure $ ExitFailure 30++    (WhereisBaseDir, _) -> do+      liftIO $ putStr baseDir+      pure ExitSuccess++    (WhereisBinDir, _) -> do+      liftIO $ putStr binDir+      pure ExitSuccess++    (WhereisCacheDir, _) -> do+      liftIO $ putStr cacheDir+      pure ExitSuccess++    (WhereisLogsDir, _) -> do+      liftIO $ putStr logsDir+      pure ExitSuccess++    (WhereisConfDir, _) -> do+      liftIO $ putStr confDir+      pure ExitSuccess
app/ghcup/Main.hs view
@@ -5,3096 +5,284 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell   #-} {-# LANGUAGE QuasiQuotes       #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE DuplicateRecordFields #-}---module Main where--#if defined(BRICK)-import           BrickMain                    ( brickMain )-#endif--import           GHCup-import           GHCup.Download-import           GHCup.Errors-import           GHCup.Platform-import           GHCup.Requirements-import           GHCup.Types-import           GHCup.Types.Optics-import           GHCup.Utils-import           GHCup.Utils.File-import           GHCup.Utils.Logger-import           GHCup.Utils.MegaParsec-import           GHCup.Utils.Prelude-import           GHCup.Utils.String.QQ-import           GHCup.Version--import           Cabal.Plan ( findPlanJson, SearchPlanJson(..) )-import           Codec.Archive-import           Control.Concurrent-import           Control.Concurrent.Async-import           Control.DeepSeq                ( force )-import           Control.Exception              ( evaluate )-import           Control.Exception.Safe-#if !MIN_VERSION_base(4,13,0)-import           Control.Monad.Fail             ( MonadFail )-#endif-import           Control.Monad.Reader-import           Control.Monad.Trans.Resource-import           Data.Aeson                     ( decodeStrict', Value )-import           Data.Aeson.Encode.Pretty       ( encodePretty )-import           Data.Bifunctor-import           Data.Char-import           Data.Either-import           Data.Functor-import           Data.List                      ( intercalate, nub, sort, sortBy )-import           Data.Maybe-import           Data.Text                      ( Text )-import           Data.Versions           hiding ( str )-import           Data.Void-import           GHC.IO.Encoding-import           Haskus.Utils.Variant.Excepts-import           Language.Haskell.TH-import           Language.Haskell.TH.Syntax     ( Quasi(qAddDependentFile) )-import           Options.Applicative     hiding ( style )-import           Options.Applicative.Help.Pretty ( text )-import           Prelude                 hiding ( appendFile )-import           Safe-import           System.Console.Pretty   hiding ( color )-import qualified System.Console.Pretty         as Pretty-import           System.Environment-import           System.Exit-import           System.FilePath-import           System.IO               hiding ( appendFile )-import           Text.Read               hiding ( lift )-import           Text.PrettyPrint.HughesPJClass ( prettyShow )-import           URI.ByteString--import qualified Data.ByteString               as B-import qualified Data.ByteString.UTF8          as UTF8-import qualified Data.Map.Strict               as M-import qualified Data.Text                     as T-import qualified Data.Text.IO                  as T-import qualified Data.Text.Encoding            as E-import qualified Data.YAML.Aeson               as Y-import qualified Text.Megaparsec               as MP-import qualified Text.Megaparsec.Char          as MPC----data Options = Options-  {-  -- global options-    optVerbose     :: Maybe Bool-  , optCache       :: Maybe Bool-  , optUrlSource   :: Maybe URI-  , optNoVerify    :: Maybe Bool-  , optKeepDirs    :: Maybe KeepDirs-  , optsDownloader :: Maybe Downloader-  , optNoNetwork   :: Maybe Bool-  , optGpg         :: Maybe GPGSetting-  -- commands-  , optCommand     :: Command-  }--data Command-  = Install (Either InstallCommand InstallOptions)-  | InstallCabalLegacy InstallOptions-  | Set (Either SetCommand SetOptions)-  | UnSet UnsetCommand-  | List ListOptions-  | Rm (Either RmCommand RmOptions)-  | DInfo-  | Compile CompileCommand-  | Config ConfigCommand-  | Whereis WhereisOptions WhereisCommand-  | Upgrade UpgradeOpts Bool-  | ToolRequirements-  | ChangeLog ChangeLogOptions-  | Nuke-#if defined(BRICK)-  | Interactive-#endif-  | Prefetch PrefetchCommand-  | GC GCOptions--data ToolVersion = ToolVersion GHCTargetVersion -- target is ignored for cabal-                 | ToolTag Tag--prettyToolVer :: ToolVersion -> String-prettyToolVer (ToolVersion v') = T.unpack $ tVerToText v'-prettyToolVer (ToolTag t) = show t--toSetToolVer :: Maybe ToolVersion -> SetToolVersion-toSetToolVer (Just (ToolVersion v')) = SetToolVersion v'-toSetToolVer (Just (ToolTag t')) = SetToolTag t'-toSetToolVer Nothing = SetRecommended---data InstallCommand = InstallGHC InstallOptions-                    | InstallCabal InstallOptions-                    | InstallHLS InstallOptions-                    | InstallStack InstallOptions--data InstallOptions = InstallOptions-  { instVer      :: Maybe ToolVersion-  , instPlatform :: Maybe PlatformRequest-  , instBindist  :: Maybe URI-  , instSet      :: Bool-  , isolateDir   :: Maybe FilePath-  , forceInstall :: Bool-  }--data GCOptions = GCOptions-  { gcOldGHC :: Bool-  , gcProfilingLibs :: Bool-  , gcShareDir :: Bool-  , gcHLSNoGHC :: Bool-  , gcCache :: Bool-  , gcTmp :: Bool-  }--data SetCommand = SetGHC SetOptions-                | SetCabal SetOptions-                | SetHLS SetOptions-                | SetStack SetOptions--data UnsetCommand = UnsetGHC   UnsetOptions-                  | UnsetCabal UnsetOptions-                  | UnsetHLS   UnsetOptions-                  | UnsetStack UnsetOptions---- a superset of ToolVersion-data SetToolVersion = SetToolVersion GHCTargetVersion-                    | SetToolTag Tag-                    | SetRecommended-                    | SetNext--data SetOptions = SetOptions-  { sToolVer :: SetToolVersion-  }--data UnsetOptions = UnsetOptions-  { sToolVer :: Maybe Text -- target platform triple-  }--data ListOptions = ListOptions-  { loTool     :: Maybe Tool-  , lCriteria  :: Maybe ListCriteria-  , lRawFormat :: Bool-  }--data RmCommand = RmGHC RmOptions-               | RmCabal Version-               | RmHLS Version-               | RmStack Version--data RmOptions = RmOptions-  { ghcVer :: GHCTargetVersion-  }---data CompileCommand = CompileGHC GHCCompileOptions-                    | CompileHLS HLSCompileOptions--data ConfigCommand = ShowConfig | SetConfig String String | InitConfig--data GHCCompileOptions = GHCCompileOptions-  { targetGhc    :: Either Version GitBranch-  , bootstrapGhc :: Either Version FilePath-  , jobs         :: Maybe Int-  , buildConfig  :: Maybe FilePath-  , patchDir     :: Maybe FilePath-  , crossTarget  :: Maybe Text-  , addConfArgs  :: [Text]-  , setCompile   :: Bool-  , ovewrwiteVer :: Maybe Version-  , buildFlavour :: Maybe String-  , hadrian      :: Bool-  , isolateDir   :: Maybe FilePath-  }--data HLSCompileOptions = HLSCompileOptions-  { targetHLS    :: Either Version GitBranch-  , jobs         :: Maybe Int-  , setCompile   :: Bool-  , ovewrwiteVer :: Maybe Version-  , isolateDir   :: Maybe FilePath-  , cabalProject :: Maybe FilePath-  , cabalProjectLocal :: Maybe FilePath-  , patchDir     :: Maybe FilePath-  , targetGHCs   :: [ToolVersion]-  }--data UpgradeOpts = UpgradeInplace-                 | UpgradeAt FilePath-                 | UpgradeGHCupDir-                 deriving Show--data ChangeLogOptions = ChangeLogOptions-  { clOpen    :: Bool-  , clTool    :: Maybe Tool-  , clToolVer :: Maybe ToolVersion-  }---data WhereisCommand = WhereisTool Tool (Maybe ToolVersion)-                    | WhereisBaseDir-                    | WhereisBinDir-                    | WhereisCacheDir-                    | WhereisLogsDir-                    | WhereisConfDir--data WhereisOptions = WhereisOptions {-   directory :: Bool-}--data PrefetchOptions = PrefetchOptions {-  pfCacheDir :: Maybe FilePath-}--data PrefetchCommand = PrefetchGHC PrefetchGHCOptions (Maybe ToolVersion)-                     | PrefetchCabal PrefetchOptions (Maybe ToolVersion)-                     | PrefetchHLS PrefetchOptions (Maybe ToolVersion)-                     | PrefetchStack PrefetchOptions (Maybe ToolVersion)-                     | PrefetchMetadata--data PrefetchGHCOptions = PrefetchGHCOptions {-    pfGHCSrc :: Bool-  , pfGHCCacheDir :: Maybe FilePath-}----- https://github.com/pcapriotti/optparse-applicative/issues/148---- | A switch that can be enabled using --foo and disabled using --no-foo.------ The option modifier is applied to only the option that is *not* enabled--- by default. For example:------ > invertableSwitch "recursive" True (help "do not recurse into directories")------ This example makes --recursive enabled by default, so--- the help is shown only for --no-recursive.-invertableSwitch-    :: String              -- ^ long option-    -> Char                -- ^ short option for the non-default option-    -> Bool                -- ^ is switch enabled by default?-    -> Mod FlagFields Bool -- ^ option modifier-    -> Parser (Maybe Bool)-invertableSwitch longopt shortopt defv optmod = invertableSwitch' longopt shortopt defv-    (if defv then mempty else optmod)-    (if defv then optmod else mempty)---- | Allows providing option modifiers for both --foo and --no-foo.-invertableSwitch'-    :: String              -- ^ long option (eg "foo")-    -> Char                -- ^ short option for the non-default option-    -> Bool                -- ^ is switch enabled by default?-    -> Mod FlagFields Bool -- ^ option modifier for --foo-    -> Mod FlagFields Bool -- ^ option modifier for --no-foo-    -> Parser (Maybe Bool)-invertableSwitch' longopt shortopt defv enmod dismod = optional-    ( flag' True ( enmod <> long longopt <> if defv then mempty else short shortopt)-    <|> flag' False (dismod <> long nolongopt <> if defv then short shortopt else mempty)-    )-  where-    nolongopt = "no-" ++ longopt---opts :: Parser Options-opts =-  Options-    <$> invertableSwitch "verbose" 'v' False (help "Enable verbosity (default: disabled)")-    <*> invertableSwitch "cache" 'c' False (help "Cache downloads in ~/.ghcup/cache (default: disabled)")-    <*> (optional-          (option-            (eitherReader parseUri)-            (  short 's'-            <> long "url-source"-            <> metavar "URL"-            <> help "Alternative ghcup download info url"-            <> internal-            )-          )-        )-    <*> (fmap . fmap) not (invertableSwitch "verify" 'n' True (help "Disable tarball checksum verification (default: enabled)"))-    <*> optional (option-          (eitherReader keepOnParser)-          (  long "keep"-          <> metavar "<always|errors|never>"-          <> help-               "Keep build directories? (default: errors)"-          <> hidden-          ))-    <*> optional (option-          (eitherReader downloaderParser)-          (  long "downloader"-#if defined(INTERNAL_DOWNLOADER)-          <> metavar "<internal|curl|wget>"-          <> help-          "Downloader to use (default: internal)"-#else-          <> metavar "<curl|wget>"-          <> help-          "Downloader to use (default: curl)"-#endif-          <> hidden-          ))-    <*> invertableSwitch "offline" 'o' False (help "Don't do any network calls, trying cached assets and failing if missing.")-    <*> optional (option-          (eitherReader gpgParser)-          (  long "gpg"-          <> metavar "<strict|lax|none>"-          <> help-          "GPG verification (default: none)"-          ))-    <*> com- where-  parseUri s' =-    first show $ parseURI strictURIParserOptions (UTF8.fromString s')---com :: Parser Command-com =-  subparser-#if defined(BRICK)-      (  command-          "tui"-          (   (\_ -> Interactive)-          <$> (info-                helper-                (  progDesc "Start the interactive GHCup UI"-                )-              )-          )-      <>  command-#else-      (  command-#endif-          "install"-          (   Install-          <$> info-                (installParser <**> helper)-                (  progDesc "Install or update GHC/cabal/HLS/stack"-                <> footerDoc (Just $ text installToolFooter)-                )-          )-      <> command-           "set"-           (info-             (Set <$> setParser <**> helper)-             (  progDesc "Set currently active GHC/cabal version"-             <> footerDoc (Just $ text setFooter)-             )-           )-      <> command-           "unset"-           (info-             (UnSet <$> unsetParser <**> helper)-             (  progDesc "Unset currently active GHC/cabal version"-             <> footerDoc (Just $ text unsetFooter)-             )-           )-      <> command-           "rm"-           (info-             (Rm <$> rmParser <**> helper)-             (  progDesc "Remove a GHC/cabal/HLS/stack version"-             <> footerDoc (Just $ text rmFooter)-             )-           )--      <> command-           "list"-           (info (List <$> listOpts <**> helper)-                 (progDesc "Show available GHCs and other tools")-           )-      <> command-           "upgrade"-           (info-             (    (Upgrade <$> upgradeOptsP <*> switch-                    (short 'f' <> long "force" <> help "Force update")-                  )-             <**> helper-             )-             (progDesc "Upgrade ghcup")-           )-      <> command-           "compile"-           (   Compile-           <$> info (compileP <**> helper)-                    (progDesc "Compile a tool from source")-           )-      <> command-           "whereis"-            (info-             (   (Whereis-                     <$> (WhereisOptions <$> switch (short 'd' <> long "directory" <> help "return directory of the binary instead of the binary location"))-                     <*> whereisP-                 ) <**> helper-             )-             (progDesc "Find a tools location"-             <> footerDoc ( Just $ text whereisFooter ))-           )-      <> command-           "prefetch"-            (info-             (   (Prefetch-                     <$> prefetchP-                 ) <**> helper-             )-             (progDesc "Prefetch assets"-             <> footerDoc ( Just $ text prefetchFooter ))-           )-      <> command-           "gc"-            (info-             (   (GC-                     <$> gcP-                 ) <**> helper-             )-             (progDesc "Garbage collection"-             <> footerDoc ( Just $ text gcFooter ))-           )-      <> commandGroup "Main commands:"-      )-    <|> subparser-          (  command-              "debug-info"-              ((\_ -> DInfo) <$> info helper (progDesc "Show debug info"))-          <> command-               "tool-requirements"-               (   (\_ -> ToolRequirements)-               <$> info helper-                        (progDesc "Show the requirements for ghc/cabal")-               )-          <> command-               "changelog"-               (info-                  (fmap ChangeLog changelogP <**> helper)-                  (  progDesc "Find/show changelog"-                  <> footerDoc (Just $ text changeLogFooter)-                  )-               )-          <> command-               "config"-               (   Config-               <$> info (configP <**> helper)-                        (progDesc "Show or set config" <> footerDoc (Just $ text configFooter))-               )-          <> commandGroup "Other commands:"-          <> hidden-          )-    <|> subparser-          (  command-              "install-cabal"-              (info-                 ((InstallCabalLegacy <$> installOpts (Just Cabal)) <**> helper)-                 (  progDesc "Install or update cabal"-                 <> footerDoc (Just $ text installCabalFooter)-                 )-              )-          <> internal-          )-     <|> subparser-          (command-              "nuke"-               (info (pure Nuke <**> helper)-                     (progDesc "Completely remove ghcup from your system"))-           <> commandGroup "Nuclear Commands:"-           <> hidden-          )-- where-  installToolFooter :: String-  installToolFooter = [s|Discussion:-  Installs GHC or cabal. When no command is given, installs GHC-  with the specified version/tag.-  It is recommended to always specify a subcommand (ghc/cabal/hls/stack).|]--  setFooter :: String-  setFooter = [s|Discussion:-  Sets the currently active GHC or cabal version. When no command is given,-  defaults to setting GHC with the specified version/tag (if no tag-  is given, sets GHC to 'recommended' version).-  It is recommended to always specify a subcommand (ghc/cabal/hls/stack).|]--  unsetFooter :: String-  unsetFooter = [s|Discussion:-  Unsets the currently active GHC or cabal version.|]--  rmFooter :: String-  rmFooter = [s|Discussion:-  Remove the given GHC or cabal version. When no command is given,-  defaults to removing GHC with the specified version.-  It is recommended to always specify a subcommand (ghc/cabal/hls/stack).|]--  changeLogFooter :: String-  changeLogFooter = [s|Discussion:-  By default returns the URI of the ChangeLog of the latest GHC release.-  Pass '-o' to automatically open via xdg-open.|]--  whereisFooter :: String-  whereisFooter = [s|Discussion:-  Finds the location of a tool. For GHC, this is the ghc binary, that-  usually resides in a self-contained "~/.ghcup/ghc/<ghcver>" directory.-  For cabal/stack/hls this the binary usually at "~/.ghcup/bin/<tool>-<ver>".--Examples:-  # outputs ~/.ghcup/ghc/8.10.5/bin/ghc.exe-  ghcup whereis ghc 8.10.5-  # outputs ~/.ghcup/ghc/8.10.5/bin/-  ghcup whereis --directory ghc 8.10.5-  # outputs ~/.ghcup/bin/cabal-3.4.0.0-  ghcup whereis cabal 3.4.0.0-  # outputs ~/.ghcup/bin/-  ghcup whereis --directory cabal 3.4.0.0|]--  prefetchFooter :: String-  prefetchFooter = [s|Discussion:-  Prefetches tools or assets into "~/.ghcup/cache" directory. This can-  be then combined later with '--offline' flag, ensuring all assets that-  are required for offline use have been prefetched.--Examples:-  ghcup prefetch metadata-  ghcup prefetch ghc 8.10.5-  ghcup --offline install ghc 8.10.5|]--  gcFooter :: String-  gcFooter = [s|Discussion:-  Performs garbage collection. If no switches are specified, does nothing.|]--configFooter :: String-configFooter = [s|Examples:--# show current config-ghcup config--# initialize config-ghcup config init--# set <key> <value> configuration pair-ghcup config <key> <value>|]--installCabalFooter :: String-installCabalFooter = [s|Discussion:-  Installs the specified cabal-install version (or a recommended default one)-  into "~/.ghcup/bin", so it can be overwritten by later-  "cabal install cabal-install", which installs into "~/.cabal/bin" by-  default. Make sure to set up your PATH appropriately, so the cabal-  installation takes precedence.|]---installParser :: Parser (Either InstallCommand InstallOptions)-installParser =-  (Left <$> subparser-      (  command-          "ghc"-          (   InstallGHC-          <$> info-                (installOpts (Just GHC) <**> helper)-                (  progDesc "Install GHC"-                <> footerDoc (Just $ text installGHCFooter)-                )-          )-      <> command-           "cabal"-           (   InstallCabal-           <$> info-                 (installOpts (Just Cabal) <**> helper)-                 (  progDesc "Install Cabal"-                 <> footerDoc (Just $ text installCabalFooter)-                 )-           )-      <> command-           "hls"-           (   InstallHLS-           <$> info-                 (installOpts (Just HLS) <**> helper)-                 (  progDesc "Install haskell-language-server"-                 <> footerDoc (Just $ text installHLSFooter)-                 )-           )-      <> command-           "stack"-           (   InstallStack-           <$> info-                 (installOpts (Just Stack) <**> helper)-                 (  progDesc "Install stack"-                 <> footerDoc (Just $ text installStackFooter)-                 )-           )-      )-    )-    <|> (Right <$> installOpts Nothing)- where-  installHLSFooter :: String-  installHLSFooter = [s|Discussion:-  Installs haskell-language-server binaries and wrapper-  into "~/.ghcup/bin"--Examples:-  # install recommended HLS-  ghcup install hls|]--  installStackFooter :: String-  installStackFooter = [s|Discussion:-  Installs stack binaries into "~/.ghcup/bin"--Examples:-  # install recommended Stack-  ghcup install stack|]--  installGHCFooter :: String-  installGHCFooter = [s|Discussion:-  Installs the specified GHC version (or a recommended default one) into-  a self-contained "~/.ghcup/ghc/<ghcver>" directory-  and symlinks the ghc binaries to "~/.ghcup/bin/<binary>-<ghcver>".--Examples:-  # install recommended GHC-  ghcup install ghc--  # install latest GHC-  ghcup install ghc latest--  # install GHC 8.10.2-  ghcup install ghc 8.10.2--  # install GHC head fedora bindist-  ghcup install ghc -u https://gitlab.haskell.org/api/v4/projects/1/jobs/artifacts/master/raw/ghc-x86_64-fedora27-linux.tar.xz?job=validate-x86_64-linux-fedora27 head|]---installOpts :: Maybe Tool -> Parser InstallOptions-installOpts tool =-  (\p (u, v) b is f -> InstallOptions v p u b is f)-    <$> optional-          (option-            (eitherReader platformParser)-            (  short 'p'-            <> long "platform"-            <> metavar "PLATFORM"-            <> help-                 "Override for platform (triple matching ghc tarball names), e.g. x86_64-fedora27-linux"-            )-          )-    <*> (   (   (,)-            <$> optional-                  (option-                    (eitherReader bindistParser)-                    (short 'u' <> long "url" <> metavar "BINDIST_URL" <> help-                      "Install the specified version from this bindist"-                    )-                  )-            <*> (Just <$> toolVersionArgument Nothing tool)-            )-        <|> pure (Nothing, Nothing)-        )-    <*> flag-          False-          True-          (long "set" <> help-            "Set as active version after install"-          )-    <*> optional-          (option-           (eitherReader isolateParser)-           (  short 'i'-           <> long "isolate"-           <> metavar "DIR"-           <> help "install in an isolated dir instead of the default one"-           )-          )-    <*> switch-          (short 'f' <> long "force" <> help "Force install")-          ---setParser :: Parser (Either SetCommand SetOptions)-setParser =-  (Left <$> subparser-      (  command-          "ghc"-          (   SetGHC-          <$> info-                (setOpts (Just GHC) <**> helper)-                (  progDesc "Set GHC version"-                <> footerDoc (Just $ text setGHCFooter)-                )-          )-      <> command-           "cabal"-           (   SetCabal-           <$> info-                 (setOpts (Just Cabal) <**> helper)-                 (  progDesc "Set Cabal version"-                 <> footerDoc (Just $ text setCabalFooter)-                 )-           )-      <> command-           "hls"-           (   SetHLS-           <$> info-                 (setOpts (Just HLS) <**> helper)-                 (  progDesc "Set haskell-language-server version"-                 <> footerDoc (Just $ text setHLSFooter)-                 )-           )-      <> command-           "stack"-           (   SetStack-           <$> info-                 (setOpts (Just Stack) <**> helper)-                 (  progDesc "Set stack version"-                 <> footerDoc (Just $ text setStackFooter)-                 )-           )-      )-    )-    <|> (Right <$> setOpts Nothing)- where-  setGHCFooter :: String-  setGHCFooter = [s|Discussion:-    Sets the the current GHC version by creating non-versioned-    symlinks for all ghc binaries of the specified version in-    "~/.ghcup/bin/<binary>".|]--  setCabalFooter :: String-  setCabalFooter = [s|Discussion:-    Sets the the current Cabal version.|]--  setStackFooter :: String-  setStackFooter = [s|Discussion:-    Sets the the current Stack version.|]--  setHLSFooter :: String-  setHLSFooter = [s|Discussion:-    Sets the the current haskell-language-server version.|]--unsetParser :: Parser UnsetCommand-unsetParser =-  (subparser-      (  command-          "ghc"-          (   UnsetGHC-          <$> info-                (unsetOpts <**> helper)-                (  progDesc "Unset GHC version"-                <> footerDoc (Just $ text unsetGHCFooter)-                )-          )-      <> command-           "cabal"-           (   UnsetCabal-           <$> info-                (unsetOpts <**> helper)-                 (  progDesc "Unset Cabal version"-                 <> footerDoc (Just $ text unsetCabalFooter)-                 )-           )-      <> command-           "hls"-           (   UnsetHLS-           <$> info-                 (unsetOpts <**> helper)-                 (  progDesc "Unset haskell-language-server version"-                 <> footerDoc (Just $ text unsetHLSFooter)-                 )-           )-      <> command-           "stack"-           (   UnsetStack-           <$> info-                 (unsetOpts <**> helper)-                 (  progDesc "Unset stack version"-                 <> footerDoc (Just $ text unsetStackFooter)-                 )-           )-      )-    )- where-  unsetGHCFooter :: String-  unsetGHCFooter = [s|Discussion:-    Unsets the the current GHC version. That means there won't-    be a ~/.ghcup/bin/ghc anymore.|]--  unsetCabalFooter :: String-  unsetCabalFooter = [s|Discussion:-    Unsets the the current Cabal version.|]--  unsetStackFooter :: String-  unsetStackFooter = [s|Discussion:-    Unsets the the current Stack version.|]--  unsetHLSFooter :: String-  unsetHLSFooter = [s|Discussion:-    Unsets the the current haskell-language-server version.|]---setOpts :: Maybe Tool -> Parser SetOptions-setOpts tool = SetOptions <$>-    (fromMaybe SetRecommended <$>-      optional (setVersionArgument (Just ListInstalled) tool))--unsetOpts :: Parser UnsetOptions-unsetOpts = UnsetOptions . fmap T.pack <$> optional (argument str (metavar "TRIPLE"))--listOpts :: Parser ListOptions-listOpts =-  ListOptions-    <$> optional-          (option-            (eitherReader toolParser)-            (short 't' <> long "tool" <> metavar "<ghc|cabal|hls|stack>" <> help-              "Tool to list versions for. Default is all"-            )-          )-    <*> optional-          (option-            (eitherReader criteriaParser)-            (  short 'c'-            <> long "show-criteria"-            <> metavar "<installed|set|available>"-            <> help "Show only installed/set/available tool versions"-            )-          )-    <*> switch-          (short 'r' <> long "raw-format" <> help "More machine-parsable format"-          )---rmParser :: Parser (Either RmCommand RmOptions)-rmParser =-  (Left <$> subparser-      (  command-          "ghc"-          (RmGHC <$> info (rmOpts (Just GHC) <**> helper) (progDesc "Remove GHC version"))-      <> command-           "cabal"-           (   RmCabal-           <$> info (versionParser' (Just ListInstalled) (Just Cabal) <**> helper)-                    (progDesc "Remove Cabal version")-           )-      <> command-           "hls"-           (   RmHLS-           <$> info (versionParser' (Just ListInstalled) (Just HLS) <**> helper)-                    (progDesc "Remove haskell-language-server version")-           )-      <> command-           "stack"-           (   RmStack-           <$> info (versionParser' (Just ListInstalled) (Just Stack) <**> helper)-                    (progDesc "Remove stack version")-           )-      )-    )-    <|> (Right <$> rmOpts Nothing)----rmOpts :: Maybe Tool -> Parser RmOptions-rmOpts tool = RmOptions <$> versionArgument (Just ListInstalled) tool---changelogP :: Parser ChangeLogOptions-changelogP =-  (\x y -> ChangeLogOptions x y)-    <$> switch (short 'o' <> long "open" <> help "xdg-open the changelog url")-    <*> optional-          (option-            (eitherReader-              (\s' -> case fmap toLower s' of-                "ghc"   -> Right GHC-                "cabal" -> Right Cabal-                "ghcup" -> Right GHCup-                "stack" -> Right Stack-                e       -> Left e-              )-            )-            (short 't' <> long "tool" <> metavar "<ghc|cabal|ghcup>" <> help-              "Open changelog for given tool (default: ghc)"-            )-          )-    <*> optional (toolVersionArgument Nothing Nothing)--compileP :: Parser CompileCommand-compileP = subparser-  (  command-      "ghc"-      (   CompileGHC-      <$> info-            (ghcCompileOpts <**> helper)-            (  progDesc "Compile GHC from source"-            <> footerDoc (Just $ text compileFooter)-            )-      )-  <>  command-      "hls"-      (   CompileHLS-      <$> info-            (hlsCompileOpts <**> helper)-            (  progDesc "Compile HLS from source"-            <> footerDoc (Just $ text compileHLSFooter)-            )-      )-  )- where-  compileFooter = [s|Discussion:-  Compiles and installs the specified GHC version into-  a self-contained "~/.ghcup/ghc/<ghcver>" directory-  and symlinks the ghc binaries to "~/.ghcup/bin/<binary>-<ghcver>".--  This also allows building a cross-compiler. Consult the documentation-  first: <https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling#configuring-the-build>--ENV variables:-  Various toolchain variables will be passed onto the ghc build system,-  such as: CC, LD, OBJDUMP, NM, AR, RANLIB.--Examples:-  # compile from known version-  ghcup compile ghc -j 4 -v 8.4.2 -b 8.2.2-  # compile from git commit/reference-  ghcup compile ghc -j 4 -g master -b 8.2.2-  # specify path to bootstrap ghc-  ghcup compile ghc -j 4 -v 8.4.2 -b /usr/bin/ghc-8.2.2-  # build cross compiler-  ghcup compile ghc -j 4 -v 8.4.2 -b 8.2.2 -x armv7-unknown-linux-gnueabihf --config $(pwd)/build.mk -- --enable-unregisterised|]--  compileHLSFooter = [s|Discussion:-  Compiles and installs the specified HLS version.-  The last argument is a list of GHC versions to compile for.-  These need to be available in PATH prior to compilation.--Examples:-  ghcup compile hls -v 1.4.0 -j 12 8.10.5 8.10.7 9.0.1|]--configP :: Parser ConfigCommand-configP = subparser-      (  command "init" initP-      <> command "set"  setP -- [set] KEY VALUE at help lhs-      <> command "show" showP-      )-    <|> argsP -- add show for a single option-    <|> pure ShowConfig- where-  initP = info (pure InitConfig) (progDesc "Write default config to ~/.ghcup/config.yaml")-  showP = info (pure ShowConfig) (progDesc "Show current config (default)")-  setP  = info argsP (progDesc "Set config KEY to VALUE")-  argsP = SetConfig <$> argument str (metavar "KEY") <*> argument str (metavar "VALUE")--whereisP :: Parser WhereisCommand-whereisP = subparser-  (commandGroup "Tools locations:" <> -    command-      "ghc"-      (WhereisTool GHC <$> info-        ( optional (toolVersionArgument Nothing (Just GHC)) <**> helper )-        ( progDesc "Get GHC location"-        <> footerDoc (Just $ text whereisGHCFooter ))-      )-      <>-     command-      "cabal"-      (WhereisTool Cabal <$> info-        ( optional (toolVersionArgument Nothing (Just Cabal)) <**> helper )-        ( progDesc "Get cabal location"-        <> footerDoc (Just $ text whereisCabalFooter ))-      )-      <>-     command-      "hls"-      (WhereisTool HLS <$> info-        ( optional (toolVersionArgument Nothing (Just HLS)) <**> helper )-        ( progDesc "Get HLS location"-        <> footerDoc (Just $ text whereisHLSFooter ))-      )-      <>-     command-      "stack"-      (WhereisTool Stack <$> info-        ( optional (toolVersionArgument Nothing (Just Stack)) <**> helper )-        ( progDesc "Get stack location"-        <> footerDoc (Just $ text whereisStackFooter ))-      )-      <>-     command-      "ghcup"-      (WhereisTool GHCup <$> info ( (pure Nothing) <**> helper ) ( progDesc "Get ghcup location" ))-    ) <|> subparser ( commandGroup "Directory locations:"-      <>-     command-      "basedir"-      (info (pure WhereisBaseDir <**> helper)-            ( progDesc "Get ghcup base directory location" )-      )-      <>-     command-      "bindir"-      (info (pure WhereisBinDir <**> helper)-            ( progDesc "Get ghcup binary directory location" )-      )-      <>-     command-      "cachedir"-      (info (pure WhereisCacheDir <**> helper)-            ( progDesc "Get ghcup cache directory location" )-      )-      <>-     command-      "logsdir"-      (info (pure WhereisLogsDir <**> helper)-            ( progDesc "Get ghcup logs directory location" )-      )-      <>-     command-      "confdir"-      (info (pure WhereisConfDir <**> helper)-            ( progDesc "Get ghcup config directory location" )-      )-  )- where-  whereisGHCFooter = [s|Discussion:-  Finds the location of a GHC executable, which usually resides in-  a self-contained "~/.ghcup/ghc/<ghcver>" directory.--Examples:-  # outputs ~/.ghcup/ghc/8.10.5/bin/ghc.exe-  ghcup whereis ghc 8.10.5-  # outputs ~/.ghcup/ghc/8.10.5/bin/-  ghcup whereis --directory ghc 8.10.5 |]--  whereisCabalFooter = [s|Discussion:-  Finds the location of a Cabal executable, which usually resides in-  "~/.ghcup/bin/".--Examples:-  # outputs ~/.ghcup/bin/cabal-3.4.0.0-  ghcup whereis cabal 3.4.0.0-  # outputs ~/.ghcup/bin-  ghcup whereis --directory cabal 3.4.0.0|]--  whereisHLSFooter = [s|Discussion:-  Finds the location of a HLS executable, which usually resides in-  "~/.ghcup/bin/".--Examples:-  # outputs ~/.ghcup/bin/haskell-language-server-wrapper-1.2.0-  ghcup whereis hls 1.2.0-  # outputs ~/.ghcup/bin/-  ghcup whereis --directory hls 1.2.0|]--  whereisStackFooter = [s|Discussion:-  Finds the location of a stack executable, which usually resides in-  "~/.ghcup/bin/".--Examples:-  # outputs ~/.ghcup/bin/stack-2.7.1-  ghcup whereis stack 2.7.1-  # outputs ~/.ghcup/bin/-  ghcup whereis --directory stack 2.7.1|]---prefetchP :: Parser PrefetchCommand-prefetchP = subparser-  (  command-      "ghc"-      (info -        (PrefetchGHC-          <$> (PrefetchGHCOptions-                <$> ( switch (short 's' <> long "source" <> help "Download source tarball instead of bindist") <**> helper )-                <*> optional (option str (short 'd' <> long "directory" <> help "directory to download into (default: ~/.ghcup/cache/)")))-          <*> ( optional (toolVersionArgument Nothing (Just GHC)) ))-        ( progDesc "Download GHC assets for installation")-      )-      <>-     command-      "cabal"-      (info -        (PrefetchCabal-          <$> fmap PrefetchOptions (optional (option str (short 'd' <> long "directory" <> help "directory to download into (default: ~/.ghcup/cache/)")))-          <*> ( optional (toolVersionArgument Nothing (Just Cabal)) <**> helper ))-        ( progDesc "Download cabal assets for installation")-      )-      <>-     command-      "hls"-      (info -        (PrefetchHLS-          <$> fmap PrefetchOptions (optional (option str (short 'd' <> long "directory" <> help "directory to download into (default: ~/.ghcup/cache/)")))-          <*> ( optional (toolVersionArgument Nothing (Just HLS)) <**> helper ))-        ( progDesc "Download HLS assets for installation")-      )-      <>-     command-      "stack"-      (info -        (PrefetchStack-          <$> fmap PrefetchOptions (optional (option str (short 'd' <> long "directory" <> help "directory to download into (default: ~/.ghcup/cache/)")))-          <*> ( optional (toolVersionArgument Nothing (Just Stack)) <**> helper ))-        ( progDesc "Download stack assets for installation")-      )-      <>-     command-      "metadata"-      (const PrefetchMetadata <$> info-        helper-        ( progDesc "Download ghcup's metadata, needed for various operations")-      )-  )--gcP :: Parser GCOptions-gcP =-  GCOptions-  <$> -    switch-      (short 'o' <> long "ghc-old" <> help "Remove GHC versions marked as 'old'")-  <*> -    switch-      (short 'p' <> long "profiling-libs" <> help "Remove profiling libs of GHC versions")-  <*> -    switch-      (short 's' <> long "share-dir" <> help "Remove GHC share directories (documentation)")-  <*> -    switch-      (short 'h' <> long "hls-no-ghc" <> help "Remove HLS versions that don't have a corresponding installed GHC version")-  <*> -    switch-      (short 'c' <> long "cache" <> help "GC the GHCup cache")-  <*> -    switch-      (short 't' <> long "tmpdirs" <> help "Remove tmpdir leftovers")---ghcCompileOpts :: Parser GHCCompileOptions-ghcCompileOpts =-  GHCCompileOptions-    <$> ((Left <$> option-          (eitherReader-            (first (const "Not a valid version") . version . T.pack)-          )-          (short 'v' <> long "version" <> metavar "VERSION" <> help-            "The tool version to compile"-          )-          ) <|>-          (Right <$> (GitBranch <$> option-          str-          (short 'g' <> long "git-ref" <> metavar "GIT_REFERENCE" <> help-            "The git commit/branch/ref to build from"-          ) <*>-          optional (option str (short 'r' <> long "repository" <> metavar "GIT_REPOSITORY" <> help "The git repository to build from (defaults to GHC upstream)"))-          )))-    <*> option-          (eitherReader-            (\x ->-              (bimap (const "Not a valid version") Left . version . T.pack $ x) <|> (if isPathSeparator (head x) then pure $ Right x else Left "Not an absolute Path")-            )-          )-          (  short 'b'-          <> long "bootstrap-ghc"-          <> metavar "BOOTSTRAP_GHC"-          <> help-               "The GHC version (or full path) to bootstrap with (must be installed)"-          )-    <*> optional-          (option-            (eitherReader (readEither @Int))-            (short 'j' <> long "jobs" <> metavar "JOBS" <> help-              "How many jobs to use for make"-            )-          )-    <*> optional-          (option-            str-            (short 'c' <> long "config" <> metavar "CONFIG" <> help-              "Absolute path to build config file"-            )-          )-    <*> optional-          (option-            str-            (short 'p' <> long "patchdir" <> metavar "PATCH_DIR" <> help-              "Absolute path to patch directory (applies all .patch and .diff files in order using -p1)"-            )-          )-    <*> optional-          (option-            str-            (short 'x' <> long "cross-target" <> metavar "CROSS_TARGET" <> help-              "Build cross-compiler for this platform"-            )-          )-    <*> many (argument str (metavar "CONFIGURE_ARGS" <> help "Additional arguments to configure, prefix with '-- ' (longopts)"))-    <*> flag-          False-          True-          (long "set" <> help-            "Set as active version after install"-          )-    <*> optional-          (option-            (eitherReader-              (first (const "Not a valid version") . version . T.pack)-            )-            (short 'o' <> long "overwrite-version" <> metavar "OVERWRITE_VERSION" <> help-              "Allows to overwrite the finally installed VERSION with a different one, e.g. when you build 8.10.4 with your own patches, you might want to set this to '8.10.4-p1'"-            )-          )-    <*> optional-          (option-            str-            (short 'f' <> long "flavour" <> metavar "BUILD_FLAVOUR" <> help-              "Set the compile build flavour (this value depends on the build system type: 'make' vs 'hadrian')"-            )-          )-    <*> switch-          (long "hadrian" <> help "Use the hadrian build system instead of make (only git versions seem to be properly supported atm)"-          )-    <*> optional-          (option-            (eitherReader isolateParser)-            (  short 'i'-            <> long "isolate"-            <> metavar "DIR"-            <> help "install in an isolated directory instead of the default one, no symlinks to this installation will be made"-            )-           )--hlsCompileOpts :: Parser HLSCompileOptions-hlsCompileOpts =-  HLSCompileOptions-    <$> ((Left <$> option-          (eitherReader-            (first (const "Not a valid version") . version . T.pack)-          )-          (short 'v' <> long "version" <> metavar "VERSION" <> help-            "The tool version to compile"-          )-          ) <|>-          (Right <$> (GitBranch <$> option-          str-          (short 'g' <> long "git-ref" <> metavar "GIT_REFERENCE" <> help-            "The git commit/branch/ref to build from"-          ) <*>-          optional (option str (short 'r' <> long "repository" <> metavar "GIT_REPOSITORY" <> help "The git repository to build from (defaults to GHC upstream)"))-          )))-    <*> optional-          (option-            (eitherReader (readEither @Int))-            (short 'j' <> long "jobs" <> metavar "JOBS" <> help-              "How many jobs to use for make"-            )-          )-    <*> flag-          False-          True-          (long "set" <> help-            "Set as active version after install"-          )-    <*> optional-          (option-            (eitherReader-              (first (const "Not a valid version") . version . T.pack)-            )-            (short 'o' <> long "overwrite-version" <> metavar "OVERWRITE_VERSION" <> help-              "Allows to overwrite the finally installed VERSION with a different one, e.g. when you build 8.10.4 with your own patches, you might want to set this to '8.10.4-p1'"-            )-          )-    <*> optional-          (option-            (eitherReader isolateParser)-            (  short 'i'-            <> long "isolate"-            <> metavar "DIR"-            <> help "install in an isolated directory instead of the default one, no symlinks to this installation will be made"-            )-           )-    <*> optional-          (option-            str-            (long "cabal-project" <> metavar "CABAL_PROJECT" <> help-              "If relative, specifies the path to cabal.project inside the unpacked HLS tarball/checkout. If absolute, will copy the file over."-            )-          )-    <*> optional-          (option-            (eitherReader absolutePathParser)-            (long "cabal-project-local" <> metavar "CABAL_PROJECT_LOCAL" <> help-              "Absolute path to a cabal.project.local to be used for the build. Will be copied over."-            )-          )-    <*> optional-          (option-            (eitherReader absolutePathParser)-            (short 'p' <> long "patchdir" <> metavar "PATCH_DIR" <> help-              "Absolute path to patch directory (applies all .patch and .diff files in order using -p1)"-            )-          )-    <*> some (toolVersionArgument Nothing (Just GHC))---toolVersionParser :: Parser ToolVersion-toolVersionParser = verP' <|> toolP- where-  verP' = ToolVersion <$> versionParser-  toolP =-    ToolTag-      <$> option-            (eitherReader tagEither)-            (short 't' <> long "tag" <> metavar "TAG" <> help "The target tag")---- | same as toolVersionParser, except as an argument.-toolVersionArgument :: Maybe ListCriteria -> Maybe Tool -> Parser ToolVersion-toolVersionArgument criteria tool =-  argument (eitherReader toolVersionEither)-    (metavar (mv tool)-    <> completer (tagCompleter (fromMaybe GHC tool) [])-    <> foldMap (completer . versionCompleter criteria) tool)- where-  mv (Just GHC) = "GHC_VERSION|TAG"-  mv (Just HLS) = "HLS_VERSION|TAG"-  mv _          = "VERSION|TAG"---setVersionArgument :: Maybe ListCriteria -> Maybe Tool -> Parser SetToolVersion-setVersionArgument criteria tool =-  argument (eitherReader setEither)-    (metavar "VERSION|TAG|next"-    <> completer (tagCompleter (fromMaybe GHC tool) ["next"])-    <> foldMap (completer . versionCompleter criteria) tool)- where-  setEither s' =-        parseSet s'-    <|> second SetToolTag (tagEither s')-    <|> second SetToolVersion (tVersionEither s')-  parseSet s' = case fmap toLower s' of-                  "next" -> Right SetNext-                  other  -> Left $ "Unknown tag/version " <> other---versionArgument :: Maybe ListCriteria -> Maybe Tool -> Parser GHCTargetVersion-versionArgument criteria tool = argument (eitherReader tVersionEither) (metavar "VERSION" <> foldMap (completer . versionCompleter criteria) tool)---tagCompleter :: Tool -> [String] -> Completer-tagCompleter tool add = listIOCompleter $ do-  dirs' <- liftIO getAllDirs-  let loggerConfig = LoggerConfig-        { lcPrintDebug   = False-        , consoleOutter  = mempty-        , fileOutter     = mempty-        , fancyColors    = False-        }-  let appState = LeanAppState-        (Settings True False Never Curl False GHCupURL True GPGNone False)-        dirs'-        defaultKeyBindings-        loggerConfig--  mGhcUpInfo <- flip runReaderT appState . runE $ getDownloadsF-  case mGhcUpInfo of-    VRight ghcupInfo -> do-      let allTags = filter (\t -> t /= Old)-            $ join-            $ fmap _viTags-            $ M.elems-            $ availableToolVersions (_ghcupDownloads ghcupInfo) tool-      pure $ nub $ (add ++) $ fmap tagToString allTags-    VLeft _ -> pure  (nub $ ["recommended", "latest"] ++ add)---versionCompleter :: Maybe ListCriteria -> Tool -> Completer-versionCompleter criteria tool = listIOCompleter $ do-  dirs' <- liftIO getAllDirs-  let loggerConfig = LoggerConfig-        { lcPrintDebug   = False-        , consoleOutter  = mempty-        , fileOutter     = mempty-        , fancyColors    = False-        }-  let settings = Settings True False Never Curl False GHCupURL True GPGNone False-  let leanAppState = LeanAppState-                   settings-                   dirs'-                   defaultKeyBindings-                   loggerConfig-  mpFreq <- flip runReaderT leanAppState . runE $ platformRequest-  mGhcUpInfo <- flip runReaderT leanAppState . runE $ getDownloadsF-  forFold mpFreq $ \pfreq -> do-    forFold mGhcUpInfo $ \ghcupInfo -> do-      let appState = AppState-            settings-            dirs'-            defaultKeyBindings-            ghcupInfo-            pfreq-            loggerConfig--          runEnv = flip runReaderT appState--      installedVersions <- runEnv $ listVersions (Just tool) criteria-      return $ T.unpack . prettyVer . lVer <$> installedVersions---versionParser :: Parser GHCTargetVersion-versionParser = option-  (eitherReader tVersionEither)-  (short 'v' <> long "version" <> metavar "VERSION" <> help "The target version"-  )--versionParser' :: Maybe ListCriteria -> Maybe Tool -> Parser Version-versionParser' criteria tool = argument-  (eitherReader (first show . version . T.pack))-  (metavar "VERSION"  <> foldMap (completer . versionCompleter criteria) tool)---tagEither :: String -> Either String Tag-tagEither s' = case fmap toLower s' of-  "recommended" -> Right Recommended-  "latest"      -> Right Latest-  ('b':'a':'s':'e':'-':ver') -> case pvp (T.pack ver') of-                                  Right x -> Right (Base x)-                                  Left  _ -> Left $ "Invalid PVP version for base " <> ver'-  other         -> Left $ "Unknown tag " <> other---tVersionEither :: String -> Either String GHCTargetVersion-tVersionEither =-  first (const "Not a valid version") . MP.parse ghcTargetVerP "" . T.pack---toolVersionEither :: String -> Either String ToolVersion-toolVersionEither s' =-  second ToolTag (tagEither s') <|> second ToolVersion (tVersionEither s')---toolParser :: String -> Either String Tool-toolParser s' | t == T.pack "ghc"   = Right GHC-              | t == T.pack "cabal" = Right Cabal-              | t == T.pack "hls"   = Right HLS-              | t == T.pack "stack" = Right Stack-              | otherwise           = Left ("Unknown tool: " <> s')-  where t = T.toLower (T.pack s')---criteriaParser :: String -> Either String ListCriteria-criteriaParser s' | t == T.pack "installed" = Right ListInstalled-                  | t == T.pack "set"       = Right ListSet-                  | t == T.pack "available" = Right ListAvailable-                  | otherwise               = Left ("Unknown criteria: " <> s')-  where t = T.toLower (T.pack s')---keepOnParser :: String -> Either String KeepDirs-keepOnParser s' | t == T.pack "always" = Right Always-                | t == T.pack "errors" = Right Errors-                | t == T.pack "never"  = Right Never-                | otherwise            = Left ("Unknown keep value: " <> s')-  where t = T.toLower (T.pack s')---downloaderParser :: String -> Either String Downloader-downloaderParser s' | t == T.pack "curl"     = Right Curl-                    | t == T.pack "wget"     = Right Wget-#if defined(INTERNAL_DOWNLOADER)-                    | t == T.pack "internal" = Right Internal-#endif-                    | otherwise = Left ("Unknown downloader value: " <> s')-  where t = T.toLower (T.pack s')--gpgParser :: String -> Either String GPGSetting-gpgParser s' | t == T.pack "strict" = Right GPGStrict-             | t == T.pack "lax"    = Right GPGLax-             | t == T.pack "none"   = Right GPGNone-             | otherwise = Left ("Unknown gpg setting value: " <> s')-  where t = T.toLower (T.pack s')---platformParser :: String -> Either String PlatformRequest-platformParser s' = case MP.parse (platformP <* MP.eof) "" (T.pack s') of-  Right r -> pure r-  Left  e -> Left $ errorBundlePretty e- where-  archP :: MP.Parsec Void Text Architecture-  archP = MP.try (MP.chunk "x86_64" $> A_64) <|> (MP.chunk "i386" $> A_32)-  platformP :: MP.Parsec Void Text PlatformRequest-  platformP = choice'-    [ (\a mv -> PlatformRequest a FreeBSD mv)-    <$> (archP <* MP.chunk "-")-    <*> (  MP.chunk "portbld"-        *> (   MP.try (Just <$> verP (MP.chunk "-freebsd" <* MP.eof))-           <|> pure Nothing-           )-        <* MP.chunk "-freebsd"-        )-    , (\a mv -> PlatformRequest a Darwin mv)-    <$> (archP <* MP.chunk "-")-    <*> (  MP.chunk "apple"-        *> (   MP.try (Just <$> verP (MP.chunk "-darwin" <* MP.eof))-           <|> pure Nothing-           )-        <* MP.chunk "-darwin"-        )-    , (\a d mv -> PlatformRequest a (Linux d) mv)-    <$> (archP <* MP.chunk "-")-    <*> distroP-    <*> ((MP.try (Just <$> verP (MP.chunk "-linux" <* MP.eof)) <|> pure Nothing-         )-        <* MP.chunk "-linux"-        )-    ]-  distroP :: MP.Parsec Void Text LinuxDistro-  distroP = choice'-    [ MP.chunk "debian" $> Debian-    , MP.chunk "deb" $> Debian-    , MP.chunk "ubuntu" $> Ubuntu-    , MP.chunk "mint" $> Mint-    , MP.chunk "fedora" $> Fedora-    , MP.chunk "centos" $> CentOS-    , MP.chunk "redhat" $> RedHat-    , MP.chunk "alpine" $> Alpine-    , MP.chunk "gentoo" $> Gentoo-    , MP.chunk "exherbo" $> Exherbo-    , MP.chunk "unknown" $> UnknownLinux-    ]---bindistParser :: String -> Either String URI-bindistParser = first show . parseURI strictURIParserOptions . UTF8.fromString--isolateParser :: FilePath -> Either String FilePath-isolateParser f = case isValid f of-              True -> Right $ normalise f-              False -> Left "Please enter a valid filepath for isolate dir."--absolutePathParser :: FilePath -> Either String FilePath-absolutePathParser f = case isValid f && isAbsolute f of-              True -> Right $ normalise f-              False -> Left "Please enter a valid absolute filepath."--toSettings :: Options -> IO (Settings, KeyBindings)-toSettings options = do-  noColor <- isJust <$> lookupEnv "NO_COLOR"-  userConf <- runE @'[ JSONError ] ghcupConfigFile >>= \case-    VRight r -> pure r-    VLeft (V (JSONDecodeError e)) -> do-      B.hPut stderr ("Error decoding config file: " <> (E.encodeUtf8 . T.pack . show $ e))-      pure defaultUserSettings-    _ -> do-      die "Unexpected error!"-  pure $ mergeConf options userConf noColor- where-   mergeConf :: Options -> UserSettings -> Bool -> (Settings, KeyBindings)-   mergeConf Options{..} UserSettings{..} noColor =-     let cache       = fromMaybe (fromMaybe False uCache) optCache-         noVerify    = fromMaybe (fromMaybe False uNoVerify) optNoVerify-         verbose     = fromMaybe (fromMaybe False uVerbose) optVerbose-         keepDirs    = fromMaybe (fromMaybe Errors uKeepDirs) optKeepDirs-         downloader  = fromMaybe (fromMaybe defaultDownloader uDownloader) optsDownloader-         keyBindings = maybe defaultKeyBindings mergeKeys uKeyBindings-         urlSource   = maybe (fromMaybe GHCupURL uUrlSource) OwnSource optUrlSource-         noNetwork   = fromMaybe (fromMaybe False uNoNetwork) optNoNetwork-         gpgSetting  = fromMaybe (fromMaybe GPGNone uGPGSetting) optGpg-     in (Settings {..}, keyBindings)-#if defined(INTERNAL_DOWNLOADER)-   defaultDownloader = Internal-#else-   defaultDownloader = Curl-#endif-   mergeKeys :: UserKeyBindings -> KeyBindings-   mergeKeys UserKeyBindings {..} =-     let KeyBindings {..} = defaultKeyBindings-     in KeyBindings {-           bUp = fromMaybe bUp kUp-         , bDown = fromMaybe bDown kDown-         , bQuit = fromMaybe bQuit kQuit-         , bInstall = fromMaybe bInstall kInstall-         , bUninstall = fromMaybe bUninstall kUninstall-         , bSet = fromMaybe bSet kSet-         , bChangelog = fromMaybe bChangelog kChangelog-         , bShowAllVersions = fromMaybe bShowAllVersions kShowAll-         , bShowAllTools = fromMaybe bShowAllTools kShowAllTools-         }--updateSettings :: Monad m => UTF8.ByteString -> Settings -> Excepts '[JSONError] m Settings-updateSettings config settings = do-  settings' <- lE' JSONDecodeError . first snd . Y.decode1Strict $ config-  pure $ mergeConf settings' settings-  where-   mergeConf :: UserSettings -> Settings -> Settings-   mergeConf UserSettings{..} Settings{..} =-     let cache'      = fromMaybe cache uCache-         noVerify'   = fromMaybe noVerify uNoVerify-         keepDirs'   = fromMaybe keepDirs uKeepDirs-         downloader' = fromMaybe downloader uDownloader-         verbose'    = fromMaybe verbose uVerbose-         urlSource'  = fromMaybe urlSource uUrlSource-         noNetwork'  = fromMaybe noNetwork uNoNetwork-         gpgSetting' = fromMaybe gpgSetting uGPGSetting-     in Settings cache' noVerify' keepDirs' downloader' verbose' urlSource' noNetwork' gpgSetting' noColor--upgradeOptsP :: Parser UpgradeOpts-upgradeOptsP =-  flag'-      UpgradeInplace-      (short 'i' <> long "inplace" <> help-        "Upgrade ghcup in-place (wherever it's at)"-      )-    <|> (   UpgradeAt-        <$> option-              str-              (short 't' <> long "target" <> metavar "TARGET_DIR" <> help-                "Absolute filepath to write ghcup into"-              )-        )-    <|> pure UpgradeGHCupDir----describe_result :: String-describe_result = $( LitE . StringL <$>-                     runIO (do-                             CapturedProcess{..} <-  do-                              dirs <- liftIO getAllDirs-                              let settings = AppState (Settings True False Never Curl False GHCupURL False GPGNone False)-                                               dirs-                                               defaultKeyBindings-                              flip runReaderT settings $ executeOut "git" ["describe"] Nothing-                             case _exitCode of-                               ExitSuccess   -> pure . T.unpack . decUTF8Safe' $ _stdOut-                               ExitFailure _ -> pure numericVer-                     )-                   )--plan_json :: String-plan_json = $( do-                (fp, c) <- runIO (handleIO (\_ -> pure ("", "")) $ do-                             fp <- findPlanJson (ProjectRelativeToDir ".")-                             c <- B.readFile fp-                             (Just res) <- pure $ decodeStrict' @Value c-                             pure (fp, T.unpack $ decUTF8Safe' $ encodePretty res))-                when (not . null $ fp ) $ qAddDependentFile fp-                pure . LitE . StringL $ c)--formatConfig :: UserSettings -> String-formatConfig settings-  = UTF8.toString . Y.encode1Strict $ settings--main :: IO ()-main = do-  -- https://gitlab.haskell.org/ghc/ghc/issues/8118-  setLocaleEncoding utf8--  void enableAnsiSupport--  let versionHelp = infoOption-        ( ("The GHCup Haskell installer, version " <>)-          (head . lines $ describe_result)-        )-        (long "version" <> help "Show version" <> hidden)-  let planJson = infoOption-        plan_json-        (long "plan-json" <> help "Show the build-time configuration" <> internal)-  let numericVersionHelp = infoOption-        numericVer-        (  long "numeric-version"-        <> help "Show the numeric version (for use in scripts)"-        <> hidden-        )-  let listCommands = infoOption-        "install set rm install-cabal list upgrade compile debug-info tool-requirements changelog"-        (  long "list-commands"-        <> help "List available commands for shell completion"-        <> internal-        )--  let main_footer = [s|Discussion:-  ghcup installs the Glasgow Haskell Compiler from the official-  release channels, enabling you to easily switch between different-  versions. It maintains a self-contained ~/.ghcup directory.--ENV variables:-  * TMPDIR: where ghcup does the work (unpacking, building, ...)-  * GHCUP_INSTALL_BASE_PREFIX: the base of ghcup (default: $HOME)-  * GHCUP_USE_XDG_DIRS: set to anything to use XDG style directories--Report bugs at <https://gitlab.haskell.org/haskell/ghcup-hs/issues>|]--  customExecParser-      (prefs showHelpOnError)-      (info (opts <**> helper <**> versionHelp <**> numericVersionHelp <**> planJson <**> listCommands)-            (footerDoc (Just $ text main_footer))-      )-    >>= \opt@Options {..} -> do-          dirs@Dirs{..} <- getAllDirs--          -- create ~/.ghcup dir-          ensureDirectories dirs--          (settings, keybindings) <- toSettings opt---          -- logger interpreter-          logfile <- flip runReaderT dirs initGHCupFileLogging-          no_color <- isJust <$> lookupEnv "NO_COLOR"-          let loggerConfig = LoggerConfig-                { lcPrintDebug = verbose settings-                , consoleOutter  = T.hPutStr stderr-                , fileOutter    =-                    case optCommand of-                      Nuke -> \_ -> pure ()-                      _ -> T.appendFile logfile-                , fancyColors = not no_color-                }-          let leanAppstate = LeanAppState settings dirs keybindings loggerConfig-          let runLogger = flip runReaderT leanAppstate-          let siletRunLogger = flip runReaderT (leanAppstate { loggerConfig = loggerConfig { consoleOutter = \_ -> pure () } } :: LeanAppState)---          --------------------------          -- Setting up appstate ---          ----------------------------              appState = do-                pfreq <- (-                  runLogger . runE @'[NoCompatiblePlatform, NoCompatibleArch, DistroNotFound] . liftE $ platformRequest-                  ) >>= \case-                          VRight r -> pure r-                          VLeft e -> do-                            runLogger-                              (logError $ T.pack $ prettyShow e)-                            exitWith (ExitFailure 2)--                ghcupInfo <--                  ( flip runReaderT leanAppstate-                    . runE @'[DigestError, GPGError, JSONError , DownloadFailed, FileDoesNotExistError]-                    $ liftE-                    $ getDownloadsF-                    )-                    >>= \case-                          VRight r -> pure r-                          VLeft  e -> do-                            runLogger-                              (logError $ T.pack $ prettyShow e)-                            exitWith (ExitFailure 2)-                let s' = AppState settings dirs keybindings ghcupInfo pfreq loggerConfig--                race_ (liftIO $ flip runReaderT s' cleanupTrash)-                      (threadDelay 5000000 >> runLogger (logWarn $ "Killing cleanup thread (exceeded 5s timeout)... please remove leftover files in " <> T.pack recycleDir <> " manually"))--                case optCommand of-                  Nuke -> pure ()-                  Whereis _ _ -> pure ()-                  DInfo -> pure ()-                  ToolRequirements -> pure ()-                  ChangeLog _ -> pure ()-                  UnSet _ -> pure ()-#if defined(BRICK)-                  Interactive -> pure ()-#endif-                  _ -> lookupEnv "GHCUP_SKIP_UPDATE_CHECK" >>= \case-                         Nothing -> flip runReaderT s' checkForUpdates-                         Just _ -> pure ()--                -- TODO: always run for windows-                (siletRunLogger $ flip runReaderT s' $ runE ensureGlobalTools) >>= \case-                  VRight _ -> pure ()-                  VLeft e -> do-                    runLogger-                      (logError $ T.pack $ prettyShow e)-                    exitWith (ExitFailure 30)-                pure s'---#if defined(IS_WINDOWS)-              -- FIXME: windows needs 'ensureGlobalTools', which requires-              -- full appstate-              runLeanAppState = runAppState-#else-              runLeanAppState = flip runReaderT leanAppstate-#endif-              runAppState action' = do-                s' <- liftIO appState-                flip runReaderT s' action'-                  ----          --------------------------          -- Effect interpreters ---          ----------------------------          let runInstTool' appstate' mInstPlatform =-                  flip runReaderT (maybe appstate' (\x -> appstate'{ pfreq = x } :: AppState) mInstPlatform)-                  . runResourceT-                  . runE-                    @'[ AlreadyInstalled-                      , UnknownArchive-                      , ArchiveResult-                      , FileDoesNotExistError-                      , CopyError-                      , NotInstalled-                      , DirNotEmpty-                      , NoDownload-                      , NotInstalled-                      , BuildFailed-                      , TagNotFound-                      , DigestError-                      , GPGError-                      , DownloadFailed-                      , TarDirDoesNotExist-                      , NextVerNotFound-                      , NoToolVersionSet-                      , FileAlreadyExistsError-                      ]--          let runInstTool mInstPlatform action' = do-                s' <- liftIO appState-                runInstTool' s' mInstPlatform action'--          let-            runLeanSetGHC =-                runLeanAppState-                . runE-                  @'[ FileDoesNotExistError-                    , NotInstalled-                    , TagNotFound-                    , NextVerNotFound-                    , NoToolVersionSet-                    ]--            runSetGHC =-                runAppState-                . runE-                  @'[ FileDoesNotExistError-                    , NotInstalled-                    , TagNotFound-                    , NextVerNotFound-                    , NoToolVersionSet-                    ]--            runUnsetGHC =-                runLeanAppState-                . runE-                  @'[ NotInstalled ]--          let-            runLeanSetCabal =-                runLeanAppState-                . runE-                  @'[ NotInstalled-                    , TagNotFound-                    , NextVerNotFound-                    , NoToolVersionSet-                    ]--            runSetCabal =-                runAppState-                . runE-                  @'[ NotInstalled-                    , TagNotFound-                    , NextVerNotFound-                    , NoToolVersionSet-                    ]--          let-            runSetHLS =-                runAppState-                . runE-                  @'[ NotInstalled-                    , TagNotFound-                    , NextVerNotFound-                    , NoToolVersionSet-                    ]--            runLeanSetHLS =-                runLeanAppState-                . runE-                  @'[ NotInstalled-                    , TagNotFound-                    , NextVerNotFound-                    , NoToolVersionSet-                    ]--          let runListGHC = runAppState--          let runRm =-                runAppState . runE @'[NotInstalled]--          let runNuke s' =-                flip runReaderT s' . runE @'[NotInstalled]--          let runDebugInfo =-                  runAppState-                  . runE-                    @'[NoCompatiblePlatform , NoCompatibleArch , DistroNotFound]--          let runCompileGHC =-                  runAppState-                  . runResourceT-                  . runE-                    @'[ AlreadyInstalled-                      , BuildFailed-                      , DigestError-                      , GPGError-                      , DownloadFailed-                      , GHCupSetError-                      , NoDownload-                      , NotFoundInPATH-                      , PatchFailed-                      , UnknownArchive-                      , TarDirDoesNotExist-                      , NotInstalled-                      , DirNotEmpty-                      , ArchiveResult-                      ]--          let runCompileHLS =-                  runAppState-                  . runResourceT-                  . runE-                    @'[ AlreadyInstalled-                      , BuildFailed-                      , DigestError-                      , GPGError-                      , DownloadFailed-                      , GHCupSetError-                      , NoDownload-                      , NotFoundInPATH-                      , PatchFailed-                      , UnknownArchive-                      , TarDirDoesNotExist-                      , TagNotFound-                      , NextVerNotFound-                      , NoToolVersionSet-                      , NotInstalled-                      , DirNotEmpty-                      , ArchiveResult-                      ]--          let-            runLeanWhereIs =-                -- Don't use runLeanAppState here, which is disabled on windows.-                -- This is the only command on all platforms that doesn't need full appstate.-                flip runReaderT leanAppstate-                . runE-                  @'[ NotInstalled-                    , NoToolVersionSet-                    , NextVerNotFound-                    , TagNotFound-                    ]--            runWhereIs =-                runAppState-                . runE-                  @'[ NotInstalled-                    , NoToolVersionSet-                    , NextVerNotFound-                    , TagNotFound-                    ]--          let runUpgrade =-                  runAppState-                  . runResourceT-                  . runE-                    @'[ DigestError-                      , GPGError-                      , NoDownload-                      , NoUpdate-                      , FileDoesNotExistError-                      , CopyError-                      , DownloadFailed-                      ]--          let runPrefetch =-                  runAppState-                  . runResourceT-                  . runE-                    @'[ TagNotFound-                      , NextVerNotFound-                      , NoToolVersionSet-                      , NoDownload-                      , DigestError-                      , GPGError-                      , DownloadFailed-                      , JSONError-                      , FileDoesNotExistError-                      ]--          let runGC =-                  runAppState-                  . runResourceT-                  . runE-                    @'[ NotInstalled-                      ]---          ------------------------          -- Command functions ---          -------------------------          let installGHC InstallOptions{..} =-                (case instBindist of-                   Nothing -> runInstTool instPlatform $ do-                     (v, vi) <- liftE $ fromVersion instVer GHC-                     liftE $ installGHCBin-                               (_tvVersion v)-                               isolateDir-                               forceInstall-                     when instSet $ void $ liftE $ setGHC v SetGHCOnly-                     pure vi-                   Just uri -> do-                     s' <- liftIO appState-                     runInstTool' s'{ settings = settings {noVerify = True}} instPlatform $ do-                       (v, vi) <- liftE $ fromVersion instVer GHC-                       liftE $ installGHCBindist-                                 (DownloadInfo uri (Just $ RegexDir "ghc-.*") "")-                                 (_tvVersion v)-                                 isolateDir-                                 forceInstall-                       when instSet $ void $ liftE $ setGHC v SetGHCOnly-                       pure vi-                  )-                    >>= \case-                          VRight vi -> do-                            runLogger $ logInfo "GHC installation successful"-                            forM_ (_viPostInstall =<< vi) $ \msg ->-                              runLogger $ logInfo msg-                            pure ExitSuccess-                          VLeft (V (AlreadyInstalled _ v)) -> do-                            runLogger $ logWarn $-                              "GHC ver " <> prettyVer v <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install ghc --force " <> prettyVer v <> "'"-                            pure ExitSuccess-                          VLeft (V (DirNotEmpty fp)) -> do-                            runLogger $ logWarn $-                              "Install directory " <> T.pack fp <> " is not empty. Use 'ghcup install ghc --isolate " <> T.pack fp <> " --force ..." <> "' to install regardless."-                            pure $ ExitFailure 3-                          VLeft err@(V (BuildFailed tmpdir _)) -> do-                            case keepDirs settings of-                              Never -> runLogger $ (logError $ T.pack $ prettyShow err)-                              _ -> runLogger $ (logError $ T.pack (prettyShow err) <> "\n" <>-                                "Check the logs at " <> T.pack logsDir <> " and the build directory " <> T.pack tmpdir <> " for more clues." <> "\n" <>-                                "Make sure to clean up " <> T.pack tmpdir <> " afterwards.")-                            pure $ ExitFailure 3-                          VLeft e -> do-                            runLogger $ do-                              logError $ T.pack $ prettyShow e-                              logError $ "Also check the logs in " <> T.pack logsDir-                            pure $ ExitFailure 3---          let installCabal InstallOptions{..} =-                (case instBindist of-                   Nothing -> runInstTool instPlatform $ do-                     (v, vi) <- liftE $ fromVersion instVer Cabal-                     liftE $ installCabalBin-                               (_tvVersion v)-                               isolateDir-                               forceInstall-                     pure vi-                   Just uri -> do-                     s' <- appState-                     runInstTool' s'{ settings = settings { noVerify = True}} instPlatform $ do-                       (v, vi) <- liftE $ fromVersion instVer Cabal-                       liftE $ installCabalBindist -                                 (DownloadInfo uri Nothing "")-                                 (_tvVersion v)-                                 isolateDir-                                 forceInstall-                       pure vi-                  )-                  >>= \case-                        VRight vi -> do-                          runLogger $ logInfo "Cabal installation successful"-                          forM_ (_viPostInstall =<< vi) $ \msg ->-                            runLogger $ logInfo msg-                          pure ExitSuccess-                        VLeft (V (AlreadyInstalled _ v)) -> do-                          runLogger $ logWarn $-                            "Cabal ver " <> prettyVer v <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install cabal --force " <> prettyVer v <> "'"-                          pure ExitSuccess-                        VLeft (V (FileAlreadyExistsError fp)) -> do-                          runLogger $ logWarn $-                            "File " <> T.pack fp <> " already exists. Use 'ghcup install cabal --isolate " <> T.pack fp <> " --force ..." <> "' if you want to overwrite."-                          pure $ ExitFailure 3-                        VLeft e -> do-                          runLogger $ do-                            logError $ T.pack $ prettyShow e-                            logError $ "Also check the logs in " <> T.pack logsDir-                          pure $ ExitFailure 4--          let installHLS InstallOptions{..} =-                 (case instBindist of-                   Nothing -> runInstTool instPlatform $ do-                     (v, vi) <- liftE $ fromVersion instVer HLS-                     liftE $ installHLSBin-                               (_tvVersion v)-                               isolateDir-                               forceInstall-                     pure vi-                   Just uri -> do-                     s' <- appState-                     runInstTool' s'{ settings = settings { noVerify = True}} instPlatform $ do-                       (v, vi) <- liftE $ fromVersion instVer HLS-                       liftE $ installHLSBindist-                                 (DownloadInfo uri Nothing "")-                                 (_tvVersion v)-                                 isolateDir-                                 forceInstall-                       pure vi-                  )-                  >>= \case-                        VRight vi -> do-                          runLogger $ logInfo "HLS installation successful"-                          forM_ (_viPostInstall =<< vi) $ \msg ->-                            runLogger $ logInfo msg-                          pure ExitSuccess-                        VLeft (V (AlreadyInstalled _ v)) -> do-                          runLogger $ logWarn $-                              "HLS ver "-                            <> prettyVer v-                            <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install hls --force "-                            <> prettyVer v-                            <> "'"-                          pure ExitSuccess-                        VLeft (V (FileAlreadyExistsError fp)) -> do-                          runLogger $ logWarn $-                            "File " <> T.pack fp <> " already exists. Use 'ghcup install hls --isolate " <> T.pack fp <> " --force ..." <> "' if you want to overwrite."-                          pure $ ExitFailure 3-                        VLeft e -> do-                          runLogger $ do-                            logError $ T.pack $ prettyShow e-                            logError $ "Also check the logs in " <> T.pack logsDir-                          pure $ ExitFailure 4--          let installStack InstallOptions{..} =-                 (case instBindist of-                    Nothing -> runInstTool instPlatform $ do-                      (v, vi) <- liftE $ fromVersion instVer Stack-                      liftE $ installStackBin-                                (_tvVersion v)-                                isolateDir-                                forceInstall-                      pure vi-                    Just uri -> do-                      s' <- appState-                      runInstTool' s'{ settings = settings { noVerify = True}} instPlatform $ do-                        (v, vi) <- liftE $ fromVersion instVer Stack-                        liftE $ installStackBindist-                                  (DownloadInfo uri Nothing "")-                                  (_tvVersion v)-                                  isolateDir-                                  forceInstall-                        pure vi-                  )-                  >>= \case-                        VRight vi -> do-                          runLogger $ logInfo "Stack installation successful"-                          forM_ (_viPostInstall =<< vi) $ \msg ->-                            runLogger $ logInfo msg-                          pure ExitSuccess-                        VLeft (V (AlreadyInstalled _ v)) -> do-                          runLogger $ logWarn $-                            "Stack ver " <> prettyVer v <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install stack --force " <> prettyVer v <> "'"-                          pure ExitSuccess-                        VLeft (V (FileAlreadyExistsError fp)) -> do-                          runLogger $ logWarn $-                            "File " <> T.pack fp <> " already exists. Use 'ghcup install stack --isolate " <> T.pack fp <> " --force ..." <> "' if you want to overwrite."-                          pure $ ExitFailure 3-                        VLeft e -> do-                          runLogger $ do-                            logError $ T.pack $ prettyShow e-                            logError $ "Also check the logs in " <> T.pack logsDir-                          pure $ ExitFailure 4---          let setGHC' SetOptions{ sToolVer } =-                case sToolVer of-                  (SetToolVersion v) -> runLeanSetGHC (liftE $ setGHC v SetGHCOnly >> pure v)-                  _ -> runSetGHC (do-                      v <- liftE $ fst <$> fromVersion' sToolVer GHC-                      liftE $ setGHC v SetGHCOnly-                    )-                  >>= \case-                        VRight GHCTargetVersion{..} -> do-                          runLogger-                            $ logInfo $-                                "GHC " <> prettyVer _tvVersion <> " successfully set as default version" <> maybe "" (" for cross target " <>) _tvTarget-                          pure ExitSuccess-                        VLeft e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 5--          let setCabal' SetOptions{ sToolVer } =-                case sToolVer of-                  (SetToolVersion v) -> runLeanSetCabal (liftE $ setCabal (_tvVersion v) >> pure v)-                  _ -> runSetCabal (do-                      v <- liftE $ fst <$> fromVersion' sToolVer Cabal-                      liftE $ setCabal (_tvVersion v)-                      pure v-                    )-                  >>= \case-                        VRight GHCTargetVersion{..} -> do-                          runLogger-                            $ logInfo $-                                "Cabal " <> prettyVer _tvVersion <> " successfully set as default version"-                          pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 14--          let setHLS' SetOptions{ sToolVer } =-                case sToolVer of-                  (SetToolVersion v) -> runLeanSetHLS (liftE $ setHLS (_tvVersion v) >> pure v)-                  _ -> runSetHLS (do-                      v <- liftE $ fst <$> fromVersion' sToolVer HLS-                      liftE $ setHLS (_tvVersion v)-                      pure v-                    )-                  >>= \case-                        VRight GHCTargetVersion{..} -> do-                          runLogger-                            $ logInfo $-                                "HLS " <> prettyVer _tvVersion <> " successfully set as default version"-                          pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 14--          let setStack' SetOptions{ sToolVer } =-                case sToolVer of-                  (SetToolVersion v) -> runSetCabal (liftE $ setStack (_tvVersion v) >> pure v)-                  _ -> runSetCabal (do-                        v <- liftE $ fst <$> fromVersion' sToolVer Stack-                        liftE $ setStack (_tvVersion v)-                        pure v-                      )-                  >>= \case-                        VRight GHCTargetVersion{..} -> do-                          runLogger-                            $ logInfo $-                                "Stack " <> prettyVer _tvVersion <> " successfully set as default version"-                          pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 14--          let rmGHC' RmOptions{..} =-                runRm (do-                    liftE $-                      rmGHCVer ghcVer-                    GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                    pure (getVersionInfo (_tvVersion ghcVer) GHC dls)-                  )-                  >>= \case-                        VRight vi -> do-                          forM_ (_viPostRemove =<< vi) $ \msg ->-                            runLogger $ logInfo msg-                          pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 7--          let rmCabal' tv =-                runRm (do-                    liftE $-                      rmCabalVer tv-                    GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                    pure (getVersionInfo tv Cabal dls)-                  )-                  >>= \case-                        VRight vi -> do-                          forM_ (_viPostRemove =<< vi) $ \msg ->-                            runLogger $ logInfo msg-                          pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 15--          let rmHLS' tv =-                runRm (do-                    liftE $-                      rmHLSVer tv-                    GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                    pure (getVersionInfo tv HLS dls)-                  )-                  >>= \case-                        VRight vi -> do-                          forM_ (_viPostRemove =<< vi) $ \msg ->-                            runLogger $ logInfo msg-                          pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 15--          let rmStack' tv =-                runRm (do-                    liftE $-                      rmStackVer tv-                    GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                    pure (getVersionInfo tv Stack dls)-                  )-                  >>= \case-                        VRight vi -> do-                          forM_ (_viPostRemove =<< vi) $ \msg ->-                            runLogger $ logInfo msg-                          pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 15--          res <- case optCommand of-#if defined(BRICK)-            Interactive -> do-              s' <- appState-              liftIO $ brickMain s' >> pure ExitSuccess-#endif-            Install (Right iopts) -> do-              runLogger (logWarn "This is an old-style command for installing GHC. Use 'ghcup install ghc' instead.")-              installGHC iopts-            Install (Left (InstallGHC iopts)) -> installGHC iopts-            Install (Left (InstallCabal iopts)) -> installCabal iopts-            Install (Left (InstallHLS iopts)) -> installHLS iopts-            Install (Left (InstallStack iopts)) -> installStack iopts-            InstallCabalLegacy iopts -> do-              runLogger (logWarn "This is an old-style command for installing cabal. Use 'ghcup install cabal' instead.")-              installCabal iopts--            Set (Right sopts) -> do-              runLogger (logWarn "This is an old-style command for setting GHC. Use 'ghcup set ghc' instead.")-              setGHC' sopts-            Set (Left (SetGHC sopts)) -> setGHC' sopts-            Set (Left (SetCabal sopts)) -> setCabal' sopts-            Set (Left (SetHLS sopts)) -> setHLS' sopts-            Set (Left (SetStack sopts)) -> setStack' sopts--            UnSet (UnsetGHC (UnsetOptions triple)) -> runUnsetGHC (unsetGHC triple)-                  >>= \case-                        VRight _ -> do-                          runLogger $ logInfo "GHC successfully unset"-                          pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 14-            UnSet (UnsetCabal (UnsetOptions _)) -> do-              runAppState unsetCabal-              runLogger $ logInfo "Cabal successfully unset"-              pure ExitSuccess-            UnSet (UnsetHLS (UnsetOptions _)) -> do-              runAppState unsetHLS-              runLogger $ logInfo "HLS successfully unset"-              pure ExitSuccess-            UnSet (UnsetStack (UnsetOptions _)) -> do-              runAppState unsetStack-              runLogger $ logInfo "Stack successfully unset"-              pure ExitSuccess--            List ListOptions {..} ->-              runListGHC (do-                  l <- listVersions loTool lCriteria-                  liftIO $ printListResult no_color lRawFormat l-                  pure ExitSuccess-                )--            Rm (Right rmopts) -> do-              runLogger (logWarn "This is an old-style command for removing GHC. Use 'ghcup rm ghc' instead.")-              rmGHC' rmopts-            Rm (Left (RmGHC rmopts)) -> rmGHC' rmopts-            Rm (Left (RmCabal rmopts)) -> rmCabal' rmopts-            Rm (Left (RmHLS rmopts)) -> rmHLS' rmopts-            Rm (Left (RmStack rmopts)) -> rmStack' rmopts--            DInfo ->-              do runDebugInfo $ liftE getDebugInfo-                >>= \case-                      VRight dinfo -> do-                        putStrLn $ prettyDebugInfo dinfo-                        pure ExitSuccess-                      VLeft e -> do-                        runLogger $ logError $ T.pack $ prettyShow e-                        pure $ ExitFailure 8--            Compile (CompileHLS HLSCompileOptions { .. }) -> do-              runCompileHLS (do-                case targetHLS of-                  Left targetVer -> do-                    GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                    let vi = getVersionInfo targetVer HLS dls-                    forM_ (_viPreCompile =<< vi) $ \msg -> do-                      lift $ logInfo msg-                      lift $ logInfo-                        "...waiting for 5 seconds, you can still abort..."-                      liftIO $ threadDelay 5000000 -- for compilation, give the user a sec to intervene-                  Right _ -> pure ()-                ghcs <- liftE $ forM targetGHCs (\ghc -> fmap (_tvVersion . fst) . fromVersion (Just ghc) $ GHC)-                targetVer <- liftE $ compileHLS-                            targetHLS-                            ghcs-                            jobs-                            ovewrwiteVer-                            isolateDir-                            cabalProject-                            cabalProjectLocal-                            patchDir-                GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                let vi = getVersionInfo targetVer HLS dls-                when setCompile $ void $ liftE $-                  setHLS targetVer-                pure (vi, targetVer)-                )-                >>= \case-                      VRight (vi, tv) -> do-                        runLogger $ logInfo-                          "HLS successfully compiled and installed"-                        forM_ (_viPostInstall =<< vi) $ \msg ->-                          runLogger $ logInfo msg-                        putStr (T.unpack $ prettyVer tv)-                        pure ExitSuccess-                      VLeft err@(V (BuildFailed tmpdir _)) -> do-                        case keepDirs settings of-                          Never -> runLogger $ logError $ T.pack $ prettyShow err-                          _ -> runLogger $ (logError $ T.pack (prettyShow err) <> "\n" <>-                                "Check the logs at " <> T.pack logsDir <> " and the build directory "-                                <> T.pack tmpdir <> " for more clues." <> "\n" <>-                                "Make sure to clean up " <> T.pack tmpdir <> " afterwards.")-                        pure $ ExitFailure 9-                      VLeft e -> do-                        runLogger $ logError $ T.pack $ prettyShow e-                        pure $ ExitFailure 9-            Compile (CompileGHC GHCCompileOptions { hadrian = True, crossTarget = Just _ }) -> do-              runLogger $ logError "Hadrian cross compile support is not yet implemented!"-              pure $ ExitFailure 9-            Compile (CompileGHC GHCCompileOptions {..}) ->-              runCompileGHC (do-                case targetGhc of-                  Left targetVer -> do-                    GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                    let vi = getVersionInfo targetVer GHC dls-                    forM_ (_viPreCompile =<< vi) $ \msg -> do-                      lift $ logInfo msg-                      lift $ logInfo-                        "...waiting for 5 seconds, you can still abort..."-                      liftIO $ threadDelay 5000000 -- for compilation, give the user a sec to intervene-                  Right _ -> pure ()-                targetVer <- liftE $ compileGHC-                            (first (GHCTargetVersion crossTarget) targetGhc)-                            ovewrwiteVer-                            bootstrapGhc-                            jobs-                            buildConfig-                            patchDir-                            addConfArgs-                            buildFlavour-                            hadrian-                            isolateDir-                GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                let vi = getVersionInfo (_tvVersion targetVer) GHC dls-                when setCompile $ void $ liftE $-                  setGHC targetVer SetGHCOnly-                pure (vi, targetVer)-                )-                >>= \case-                      VRight (vi, tv) -> do-                        runLogger $ logInfo-                          "GHC successfully compiled and installed"-                        forM_ (_viPostInstall =<< vi) $ \msg ->-                          runLogger $ logInfo msg-                        putStr (T.unpack $ tVerToText tv)-                        pure ExitSuccess-                      VLeft (V (AlreadyInstalled _ v)) -> do-                        runLogger $ logWarn $-                          "GHC ver " <> prettyVer v <> " already installed; if you really want to reinstall it, you may want to run 'ghcup install ghc --force " <> prettyVer v <> "'"-                        pure ExitSuccess-                      VLeft (V (DirNotEmpty fp)) -> do-                        runLogger $ logWarn $-                          "Install directory " <> T.pack fp <> " is not empty. Use 'ghcup install ghc --isolate " <> T.pack fp <> " --force ..." <> "' to install regardless."-                        pure $ ExitFailure 3-                      VLeft err@(V (BuildFailed tmpdir _)) -> do-                        case keepDirs settings of-                          Never -> runLogger $ logError $ T.pack $ prettyShow err-                          _ -> runLogger $ (logError $ T.pack (prettyShow err) <> "\n" <>-                                "Check the logs at " <> T.pack logsDir <> " and the build directory "-                                <> T.pack tmpdir <> " for more clues." <> "\n" <>-                                "Make sure to clean up " <> T.pack tmpdir <> " afterwards.")-                        pure $ ExitFailure 9-                      VLeft e -> do-                        runLogger $ logError $ T.pack $ prettyShow e-                        pure $ ExitFailure 9--            Config InitConfig -> do-              path <- getConfigFilePath-              writeFile path $ formatConfig $ fromSettings settings (Just keybindings)-              runLogger $ logDebug $ "config.yaml initialized at " <> T.pack path-              pure ExitSuccess--            Config ShowConfig -> do-              putStrLn $ formatConfig $ fromSettings settings (Just keybindings)-              pure ExitSuccess--            Config (SetConfig k v) -> do-              case v of-                "" -> do-                  runLogger $ logError "Empty values are not allowed"-                  pure $ ExitFailure 55-                _  -> do-                  r <- runE @'[JSONError] $ do-                    settings' <- updateSettings (UTF8.fromString (k <> ": " <> v <> "\n")) settings-                    path <- liftIO getConfigFilePath-                    liftIO $ writeFile path $ formatConfig $ fromSettings settings' (Just keybindings)-                    runLogger $ logDebug $ T.pack $ show settings'-                    pure ()--                  case r of-                      VRight _ -> pure ExitSuccess-                      VLeft (V (JSONDecodeError e)) -> do-                        runLogger $ logError $ "Error decoding config: " <> T.pack e-                        pure $ ExitFailure 65-                      VLeft _ -> pure $ ExitFailure 65--            Whereis WhereisOptions{..} (WhereisTool tool (Just (ToolVersion v))) ->-              runLeanWhereIs (do-                loc <- liftE $ whereIsTool tool v-                if directory-                then pure $ takeDirectory loc-                else pure loc-                )-                >>= \case-                      VRight r -> do-                        putStr r-                        pure ExitSuccess-                      VLeft e -> do-                        runLogger $ logError $ T.pack $ prettyShow e-                        pure $ ExitFailure 30--            Whereis WhereisOptions{..} (WhereisTool tool whereVer) ->-              runWhereIs (do-                (v, _) <- liftE $ fromVersion whereVer tool-                loc <- liftE $ whereIsTool tool v-                if directory-                then pure $ takeDirectory loc-                else pure loc-                )-                >>= \case-                      VRight r -> do-                        putStr r-                        pure ExitSuccess-                      VLeft e -> do-                        runLogger $ logError $ T.pack $ prettyShow e-                        pure $ ExitFailure 30--            Whereis _ WhereisBaseDir -> do-              putStr baseDir-              pure ExitSuccess--            Whereis _ WhereisBinDir -> do-              putStr binDir-              pure ExitSuccess--            Whereis _ WhereisCacheDir -> do-              putStr cacheDir-              pure ExitSuccess--            Whereis _ WhereisLogsDir -> do-              putStr logsDir-              pure ExitSuccess--            Whereis _ WhereisConfDir -> do-              putStr confDir-              pure ExitSuccess--            Upgrade uOpts force' -> do-              target <- case uOpts of-                UpgradeInplace  -> Just <$> liftIO getExecutablePath-                (UpgradeAt p)   -> pure $ Just p-                UpgradeGHCupDir -> pure (Just (binDir </> "ghcup" <> exeExt))--              runUpgrade (do-                v' <- liftE $ upgradeGHCup target force'-                GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-                pure (v', dls)-                ) >>= \case-                  VRight (v', dls) -> do-                    let pretty_v = prettyVer v'-                    let vi = fromJust $ snd <$> getLatest dls GHCup-                    runLogger $ logInfo $-                      "Successfully upgraded GHCup to version " <> pretty_v-                    forM_ (_viPostInstall vi) $ \msg ->-                      runLogger $ logInfo msg-                    pure ExitSuccess-                  VLeft (V NoUpdate) -> do-                    runLogger $ logWarn "No GHCup update available"-                    pure ExitSuccess-                  VLeft e -> do-                    runLogger $ logError $ T.pack $ prettyShow e-                    pure $ ExitFailure 11--            ToolRequirements -> do-              s' <- appState-              flip runReaderT s'-                $ (runE-                    @'[NoCompatiblePlatform , DistroNotFound , NoToolRequirements]-                  $ do-                      GHCupInfo { .. } <- lift getGHCupInfo-                      platform' <- liftE getPlatform-                      req      <- getCommonRequirements platform' _toolRequirements ?? NoToolRequirements-                      liftIO $ T.hPutStr stdout (prettyRequirements req)-                  )-                  >>= \case-                        VRight _ -> pure ExitSuccess-                        VLeft  e -> do-                          runLogger $ logError $ T.pack $ prettyShow e-                          pure $ ExitFailure 12--            ChangeLog ChangeLogOptions{..} -> do-              GHCupInfo { _ghcupDownloads = dls } <- runAppState getGHCupInfo-              let tool = fromMaybe GHC clTool-                  ver' = maybe-                    (Right Latest)-                    (\case-                      ToolVersion tv -> Left (_tvVersion tv) -- FIXME: ugly sharing of ToolVersion-                      ToolTag     t  -> Right t-                    )-                    clToolVer-                  muri = getChangeLog dls tool ver'-              case muri of-                Nothing -> do-                  runLogger-                    (logWarn $-                      "Could not find ChangeLog for " <> T.pack (prettyShow tool) <> ", version " <> either prettyVer (T.pack . show) ver'-                    )-                  pure ExitSuccess-                Just uri -> do-                  s' <- appState-                  pfreq <- flip runReaderT s' getPlatformReq-                  let uri' = T.unpack . decUTF8Safe . serializeURIRef' $ uri-                      cmd = case _rPlatform pfreq of-                              Darwin  -> "open"-                              Linux _ -> "xdg-open"-                              FreeBSD -> "xdg-open"-                              Windows -> "start"--                  if clOpen-                    then do-                      flip runReaderT s' $-                        exec cmd-                             [T.unpack $ decUTF8Safe $ serializeURIRef' uri]-                             Nothing-                             Nothing-                          >>= \case-                                Right _ -> pure ExitSuccess-                                Left  e -> logError (T.pack $ prettyShow e)-                                  >> pure (ExitFailure 13)-                    else putStrLn uri' >> pure ExitSuccess--            Nuke -> do-              s' <- liftIO appState-              void $ liftIO $ evaluate $ force s'-              runNuke s' (do-                   lift $ logWarn "WARNING: This will remove GHCup and all installed components from your system."-                   lift $ logWarn "Waiting 10 seconds before commencing, if you want to cancel it, now would be the time."-                   liftIO $ threadDelay 10000000  -- wait 10s--                   lift $ logInfo "Initiating Nuclear Sequence 🚀🚀🚀"-                   lift $ logInfo "Nuking in 3...2...1"-              -                   lInstalled <- lift $ listVersions Nothing (Just ListInstalled)--                   forM_ lInstalled (liftE . rmTool)--                   lift rmGhcupDirs--                   ) >>= \case-                            VRight leftOverFiles-                              | null leftOverFiles -> do-                                  runLogger $ logInfo "Nuclear Annihilation complete!"-                                  pure ExitSuccess-                              | otherwise -> do-                                  runLogger $ logError "These Files have survived Nuclear Annihilation, you may remove them manually."-                                  forM_ leftOverFiles putStrLn-                                  pure ExitSuccess--                            VLeft e -> do-                              runLogger $ logError $ T.pack $ prettyShow e-                              pure $ ExitFailure 15-            Prefetch pfCom ->-              runPrefetch (do-                case pfCom of-                  PrefetchGHC-                    (PrefetchGHCOptions pfGHCSrc pfCacheDir) mt -> do-                      forM_ pfCacheDir (liftIO . createDirRecursive')-                      (v, _) <- liftE $ fromVersion mt GHC-                      if pfGHCSrc-                      then liftE $ fetchGHCSrc (_tvVersion v) pfCacheDir-                      else liftE $ fetchToolBindist (_tvVersion v) GHC pfCacheDir-                  PrefetchCabal (PrefetchOptions {pfCacheDir}) mt   -> do-                    forM_ pfCacheDir (liftIO . createDirRecursive')-                    (v, _) <- liftE $ fromVersion mt Cabal-                    liftE $ fetchToolBindist (_tvVersion v) Cabal pfCacheDir-                  PrefetchHLS (PrefetchOptions {pfCacheDir}) mt   -> do-                    forM_ pfCacheDir (liftIO . createDirRecursive')-                    (v, _) <- liftE $ fromVersion mt HLS-                    liftE $ fetchToolBindist (_tvVersion v) HLS pfCacheDir-                  PrefetchStack (PrefetchOptions {pfCacheDir}) mt   -> do-                    forM_ pfCacheDir (liftIO . createDirRecursive')-                    (v, _) <- liftE $ fromVersion mt Stack-                    liftE $ fetchToolBindist (_tvVersion v) Stack pfCacheDir-                  PrefetchMetadata -> do-                    _ <- liftE $ getDownloadsF-                    pure ""-                   ) >>= \case-                            VRight _ -> do-                                  pure ExitSuccess-                            VLeft e -> do-                              runLogger $ logError $ T.pack $ prettyShow e-                              pure $ ExitFailure 15-            GC GCOptions{..} ->-              runGC (do-                  when gcOldGHC rmOldGHC-                  lift $ when gcProfilingLibs rmProfilingLibs-                  lift $ when gcShareDir rmShareDir-                  lift $ when gcHLSNoGHC rmHLSNoGHC-                  lift $ when gcCache rmCache-                  lift $ when gcTmp rmTmp-                   ) >>= \case-                            VRight _ -> do-                                  pure ExitSuccess-                            VLeft e -> do-                              runLogger $ logError $ T.pack $ prettyShow e-                              pure $ ExitFailure 27---          case res of-            ExitSuccess        -> pure ()-            ef@(ExitFailure _) -> exitWith ef---  pure ()--fromVersion :: ( HasLog env-               , MonadFail m-               , MonadReader env m-               , HasGHCupInfo env-               , HasDirs env-               , MonadThrow m-               , MonadIO m-               , MonadCatch m-               )-            => Maybe ToolVersion-            -> Tool-            -> Excepts-                 '[ TagNotFound-                  , NextVerNotFound-                  , NoToolVersionSet-                  ] m (GHCTargetVersion, Maybe VersionInfo)-fromVersion tv = fromVersion' (toSetToolVer tv)--fromVersion' :: ( HasLog env-                , MonadFail m-                , MonadReader env m-                , HasGHCupInfo env-                , HasDirs env-                , MonadThrow m-                , MonadIO m-                , MonadCatch m-                )-             => SetToolVersion-             -> Tool-             -> Excepts-                  '[ TagNotFound-                   , NextVerNotFound-                   , NoToolVersionSet-                   ] m (GHCTargetVersion, Maybe VersionInfo)-fromVersion' SetRecommended tool = do-  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-  (\(x, y) -> (mkTVer x, Just y)) <$> getRecommended dls tool-    ?? TagNotFound Recommended tool-fromVersion' (SetToolVersion v) tool = do-  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-  let vi = getVersionInfo (_tvVersion v) tool dls-  case pvp $ prettyVer (_tvVersion v) of -- need to be strict here-    Left _ -> pure (v, vi)-    Right pvpIn ->-      lift (getLatestToolFor tool pvpIn dls) >>= \case-        Just (pvp_, vi') -> do-          v' <- lift $ pvpToVersion pvp_-          when (v' /= (_tvVersion v)) $ lift $ logWarn ("Assuming you meant version " <> prettyVer v')-          pure (GHCTargetVersion (_tvTarget v) v', Just vi')-        Nothing -> pure (v, vi)-fromVersion' (SetToolTag Latest) tool = do-  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-  (\(x, y) -> (mkTVer x, Just y)) <$> getLatest dls tool ?? TagNotFound Latest tool-fromVersion' (SetToolTag Recommended) tool = do-  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-  (\(x, y) -> (mkTVer x, Just y)) <$> getRecommended dls tool ?? TagNotFound Recommended tool-fromVersion' (SetToolTag (Base pvp'')) GHC = do-  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-  (\(x, y) -> (mkTVer x, Just y)) <$> getLatestBaseVersion dls pvp'' ?? TagNotFound (Base pvp'') GHC-fromVersion' SetNext tool = do-  GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo-  next <- case tool of-    GHC -> do-      set <- fmap _tvVersion $ ghcSet Nothing !? NoToolVersionSet tool-      ghcs <- rights <$> lift getInstalledGHCs-      (headMay-        . tail-        . dropWhile (\GHCTargetVersion {..} -> _tvVersion /= set)-        . cycle-        . sortBy (\x y -> compare (_tvVersion x) (_tvVersion y))-        . filter (\GHCTargetVersion {..} -> _tvTarget == Nothing)-        $ ghcs) ?? NoToolVersionSet tool-    Cabal -> do-      set <- cabalSet !? NoToolVersionSet tool-      cabals <- rights <$> lift getInstalledCabals-      (fmap (GHCTargetVersion Nothing)-        . headMay-        . tail-        . dropWhile (/= set)-        . cycle-        . sort-        $ cabals) ?? NoToolVersionSet tool-    HLS -> do-      set <- hlsSet !? NoToolVersionSet tool-      hlses <- rights <$> lift getInstalledHLSs-      (fmap (GHCTargetVersion Nothing)-        . headMay-        . tail-        . dropWhile (/= set)-        . cycle-        . sort-        $ hlses) ?? NoToolVersionSet tool-    Stack -> do-      set <- stackSet !? NoToolVersionSet tool-      stacks <- rights <$> lift getInstalledStacks-      (fmap (GHCTargetVersion Nothing)-        . headMay-        . tail-        . dropWhile (/= set)-        . cycle-        . sort-        $ stacks) ?? NoToolVersionSet tool-    GHCup -> fail "GHCup cannot be set"-  let vi = getVersionInfo (_tvVersion next) tool dls-  pure (next, vi)-fromVersion' (SetToolTag t') tool =-  throwE $ TagNotFound t' tool---printListResult :: Bool -> Bool -> [ListResult] -> IO ()-printListResult no_color raw lr = do--  let-    color | raw || no_color = flip const-          | otherwise       = Pretty.color--  let-    printTag Recommended        = color Green "recommended"-    printTag Latest             = color Yellow "latest"-    printTag Prerelease         = color Red "prerelease"-    printTag (Base       pvp'') = "base-" ++ T.unpack (prettyPVP pvp'')-    printTag (UnknownTag t    ) = t-    printTag Old                = ""--  let-    rows =-      (\x -> if raw-          then x-          else [color Green "", "Tool", "Version", "Tags", "Notes"] : x-        )-        . fmap-            (\ListResult {..} ->-              let marks = if-#if defined(IS_WINDOWS)-                    | lSet       -> (color Green "IS")-                    | lInstalled -> (color Green "I ")-                    | otherwise  -> (color Red "X ")-#else-                    | lSet       -> (color Green "✔✔")-                    | lInstalled -> (color Green "✓ ")-                    | otherwise  -> (color Red "✗ ")-#endif-              in-                (if raw then [] else [marks])-                  ++ [ fmap toLower . show $ lTool-                     , case lCross of-                       Nothing -> T.unpack . prettyVer $ lVer-                       Just c  -> T.unpack (c <> "-" <> prettyVer lVer)-                     , intercalate "," $ (filter (/= "") . fmap printTag $ sort lTag)-                     , intercalate ","-                     $  (if hlsPowered-                          then [color Green "hls-powered"]-                          else mempty-                        )-                     ++ (if fromSrc then [color Blue "compiled"] else mempty)-                     ++ (if lStray then [color Yellow "stray"] else mempty)-                     ++ (if lNoBindist-                          then [color Red "no-bindist"]-                          else mempty-                        )-                     ]-            )-        $ lr-  let cols =-        foldr (\xs ys -> zipWith (:) xs ys) (replicate (length rows) []) rows-      lengths = fmap maximum . (fmap . fmap) strWidth $ cols-      padded  = fmap (\xs -> zipWith padTo xs lengths) rows--  forM_ padded $ \row -> putStrLn $ intercalate " " row- where--  padTo str' x =-    let lstr = strWidth str'-        add' = x - lstr-    in  if add' < 0 then str' else str' ++ replicate add' ' '--  -- | Calculate the render width of a string, considering-  -- wide characters (counted as double width), ANSI escape codes-  -- (not counted), and line breaks (in a multi-line string, the longest-  -- line determines the width).-  strWidth :: String -> Int-  strWidth =-    maximum-      . (0 :)-      . map (foldr (\a b -> charWidth a + b) 0)-      . lines-      . stripAnsi--  -- | Strip ANSI escape sequences from a string.-  ---  -- >>> stripAnsi "\ESC[31m-1\ESC[m"-  -- "-1"-  stripAnsi :: String -> String-  stripAnsi s' =-    case-        MP.parseMaybe (many $ "" <$ MP.try ansi <|> pure <$> MP.anySingle) s'-      of-        Nothing -> error "Bad ansi escape"  -- PARTIAL: should not happen-        Just xs -> concat xs-   where-      -- This parses lots of invalid ANSI escape codes, but that should be fine-    ansi =-      MPC.string "\ESC[" *> digitSemicolons *> suffix MP.<?> "ansi" :: MP.Parsec-          Void-          String-          Char-    digitSemicolons = MP.takeWhileP Nothing (\c -> isDigit c || c == ';')-    suffix = MP.oneOf ['A', 'B', 'C', 'D', 'H', 'J', 'K', 'f', 'm', 's', 'u']--  -- | Get the designated render width of a character: 0 for a combining-  -- character, 1 for a regular character, 2 for a wide character.-  -- (Wide characters are rendered as exactly double width in apps and-  -- fonts that support it.) (From Pandoc.)-  charWidth :: Char -> Int-  charWidth c = case c of-    _ | c < '\x0300'                     -> 1-      | c >= '\x0300' && c <= '\x036F'   -> 0-      |  -- combining-        c >= '\x0370' && c <= '\x10FC'   -> 1-      | c >= '\x1100' && c <= '\x115F'   -> 2-      | c >= '\x1160' && c <= '\x11A2'   -> 1-      | c >= '\x11A3' && c <= '\x11A7'   -> 2-      | c >= '\x11A8' && c <= '\x11F9'   -> 1-      | c >= '\x11FA' && c <= '\x11FF'   -> 2-      | c >= '\x1200' && c <= '\x2328'   -> 1-      | c >= '\x2329' && c <= '\x232A'   -> 2-      | c >= '\x232B' && c <= '\x2E31'   -> 1-      | c >= '\x2E80' && c <= '\x303E'   -> 2-      | c == '\x303F'                    -> 1-      | c >= '\x3041' && c <= '\x3247'   -> 2-      | c >= '\x3248' && c <= '\x324F'   -> 1-      | -- ambiguous-        c >= '\x3250' && c <= '\x4DBF'   -> 2-      | c >= '\x4DC0' && c <= '\x4DFF'   -> 1-      | c >= '\x4E00' && c <= '\xA4C6'   -> 2-      | c >= '\xA4D0' && c <= '\xA95F'   -> 1-      | c >= '\xA960' && c <= '\xA97C'   -> 2-      | c >= '\xA980' && c <= '\xABF9'   -> 1-      | c >= '\xAC00' && c <= '\xD7FB'   -> 2-      | c >= '\xD800' && c <= '\xDFFF'   -> 1-      | c >= '\xE000' && c <= '\xF8FF'   -> 1-      | -- ambiguous-        c >= '\xF900' && c <= '\xFAFF'   -> 2-      | c >= '\xFB00' && c <= '\xFDFD'   -> 1-      | c >= '\xFE00' && c <= '\xFE0F'   -> 1-      | -- ambiguous-        c >= '\xFE10' && c <= '\xFE19'   -> 2-      | c >= '\xFE20' && c <= '\xFE26'   -> 1-      | c >= '\xFE30' && c <= '\xFE6B'   -> 2-      | c >= '\xFE70' && c <= '\xFEFF'   -> 1-      | c >= '\xFF01' && c <= '\xFF60'   -> 2-      | c >= '\xFF61' && c <= '\x16A38'  -> 1-      | c >= '\x1B000' && c <= '\x1B001' -> 2-      | c >= '\x1D000' && c <= '\x1F1FF' -> 1-      | c >= '\x1F200' && c <= '\x1F251' -> 2-      | c >= '\x1F300' && c <= '\x1F773' -> 1-      | c >= '\x20000' && c <= '\x3FFFD' -> 2-      | otherwise                        -> 1---checkForUpdates :: ( MonadReader env m-                   , HasGHCupInfo env-                   , HasDirs env-                   , HasPlatformReq env-                   , MonadCatch m-                   , HasLog env-                   , MonadThrow m-                   , MonadIO m-                   , MonadFail m-                   )-                => m ()-checkForUpdates = do-  GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo-  lInstalled <- listVersions Nothing (Just ListInstalled)-  let latestInstalled tool = (fmap lVer . lastMay . filter (\lr -> lTool lr == tool)) lInstalled--  forM_ (getLatest dls GHCup) $ \(l, _) -> do-    (Right ghc_ver) <- pure $ version $ prettyPVP ghcUpVer-    when (l > ghc_ver)-      $ logWarn $-          "New GHCup version available: " <> prettyVer l <> ". To upgrade, run 'ghcup upgrade'"--  forM_ (getLatest dls GHC) $ \(l, _) -> do-    let mghc_ver = latestInstalled GHC-    forM mghc_ver $ \ghc_ver ->-      when (l > ghc_ver)-        $ logWarn $-          "New GHC version available: " <> prettyVer l <> ". To upgrade, run 'ghcup install ghc " <> prettyVer l <> "'"--  forM_ (getLatest dls Cabal) $ \(l, _) -> do-    let mcabal_ver = latestInstalled Cabal-    forM mcabal_ver $ \cabal_ver ->-      when (l > cabal_ver)-        $ logWarn $-          "New Cabal version available: " <> prettyVer l <> ". To upgrade, run 'ghcup install cabal " <> prettyVer l <> "'"--  forM_ (getLatest dls HLS) $ \(l, _) -> do-    let mhls_ver = latestInstalled HLS-    forM mhls_ver $ \hls_ver ->-      when (l > hls_ver)-        $ logWarn $-          "New HLS version available: " <> prettyVer l <> ". To upgrade, run 'ghcup install hls " <> prettyVer l <> "'"--  forM_ (getLatest dls Stack) $ \(l, _) -> do-    let mstack_ver = latestInstalled Stack-    forM mstack_ver $ \stack_ver ->-      when (l > stack_ver)-        $ logWarn $-          "New Stack version available: " <> prettyVer l <> ". To upgrade, run 'ghcup install stack " <> prettyVer l <> "'"---prettyDebugInfo :: DebugInfo -> String-prettyDebugInfo DebugInfo {..} = "Debug Info" <> "\n" <>-  "==========" <> "\n" <>-  "GHCup base dir: " <> diBaseDir <> "\n" <>-  "GHCup bin dir: " <> diBinDir <> "\n" <>-  "GHCup GHC directory: " <> diGHCDir <> "\n" <>-  "GHCup cache directory: " <> diCacheDir <> "\n" <>-  "Architecture: " <> prettyShow diArch <> "\n" <>-  "Platform: " <> prettyShow diPlatform <> "\n" <>-  "Version: " <> describe_result+{-# LANGUAGE DuplicateRecordFields #-}+++module Main where++#if defined(BRICK)+import           BrickMain                    ( brickMain )+#endif++import           GHCup.OptParse++import           GHCup.Download+import           GHCup.Errors+import           GHCup.Platform+import           GHCup.Types+import           GHCup.Utils+import           GHCup.Utils.Logger+import           GHCup.Utils.Prelude+import           GHCup.Utils.String.QQ+import           GHCup.Version++import           Cabal.Plan ( findPlanJson, SearchPlanJson(..) )+import           Control.Concurrent+import           Control.Concurrent.Async+import           Control.Exception.Safe+#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Control.Monad.Reader+import           Data.Aeson                     ( decodeStrict', Value )+import           Data.Aeson.Encode.Pretty       ( encodePretty )+import           Data.Either+import           Data.Functor+import           Data.Maybe+import           GHC.IO.Encoding+import           Haskus.Utils.Variant.Excepts+import           Language.Haskell.TH+import           Language.Haskell.TH.Syntax     ( Quasi(qAddDependentFile) )+import           Options.Applicative     hiding ( style )+import           Options.Applicative.Help.Pretty ( text )+import           Prelude                 hiding ( appendFile )+import           System.Environment+import           System.Exit+import           System.IO               hiding ( appendFile )+import           Text.PrettyPrint.HughesPJClass ( prettyShow )++import qualified Data.ByteString               as B+import qualified Data.Text                     as T+import qualified Data.Text.IO                  as T+import qualified Data.Text.Encoding            as E++++toSettings :: Options -> IO (Settings, KeyBindings)+toSettings options = do+  noColor <- isJust <$> lookupEnv "NO_COLOR"+  userConf <- runE @'[ JSONError ] ghcupConfigFile >>= \case+    VRight r -> pure r+    VLeft (V (JSONDecodeError e)) -> do+      B.hPut stderr ("Error decoding config file: " <> (E.encodeUtf8 . T.pack . show $ e))+      pure defaultUserSettings+    _ -> do+      die "Unexpected error!"+  pure $ mergeConf options userConf noColor+ where+   mergeConf :: Options -> UserSettings -> Bool -> (Settings, KeyBindings)+   mergeConf Options{..} UserSettings{..} noColor =+     let cache       = fromMaybe (fromMaybe False uCache) optCache+         noVerify    = fromMaybe (fromMaybe False uNoVerify) optNoVerify+         verbose     = fromMaybe (fromMaybe False uVerbose) optVerbose+         keepDirs    = fromMaybe (fromMaybe Errors uKeepDirs) optKeepDirs+         downloader  = fromMaybe (fromMaybe defaultDownloader uDownloader) optsDownloader+         keyBindings = maybe defaultKeyBindings mergeKeys uKeyBindings+         urlSource   = maybe (fromMaybe GHCupURL uUrlSource) OwnSource optUrlSource+         noNetwork   = fromMaybe (fromMaybe False uNoNetwork) optNoNetwork+         gpgSetting  = fromMaybe (fromMaybe GPGNone uGPGSetting) optGpg+     in (Settings {..}, keyBindings)+#if defined(INTERNAL_DOWNLOADER)+   defaultDownloader = Internal+#else+   defaultDownloader = Curl+#endif+   mergeKeys :: UserKeyBindings -> KeyBindings+   mergeKeys UserKeyBindings {..} =+     let KeyBindings {..} = defaultKeyBindings+     in KeyBindings {+           bUp = fromMaybe bUp kUp+         , bDown = fromMaybe bDown kDown+         , bQuit = fromMaybe bQuit kQuit+         , bInstall = fromMaybe bInstall kInstall+         , bUninstall = fromMaybe bUninstall kUninstall+         , bSet = fromMaybe bSet kSet+         , bChangelog = fromMaybe bChangelog kChangelog+         , bShowAllVersions = fromMaybe bShowAllVersions kShowAll+         , bShowAllTools = fromMaybe bShowAllTools kShowAllTools+         }++++plan_json :: String+plan_json = $( do+                (fp, c) <- runIO (handleIO (\_ -> pure ("", "")) $ do+                             fp <- findPlanJson (ProjectRelativeToDir ".")+                             c <- B.readFile fp+                             (Just res) <- pure $ decodeStrict' @Value c+                             pure (fp, T.unpack $ decUTF8Safe' $ encodePretty res))+                unless (null fp) $ qAddDependentFile fp+                pure . LitE . StringL $ c)+++main :: IO ()+main = do+  -- https://gitlab.haskell.org/ghc/ghc/issues/8118+  setLocaleEncoding utf8++  void enableAnsiSupport++  let versionHelp = infoOption+        ( "The GHCup Haskell installer, version " <> (head . lines $ describe_result)+        )+        (long "version" <> help "Show version" <> hidden)+  let planJson = infoOption+        plan_json+        (long "plan-json" <> help "Show the build-time configuration" <> internal)+  let numericVersionHelp = infoOption+        numericVer+        (  long "numeric-version"+        <> help "Show the numeric version (for use in scripts)"+        <> hidden+        )+  let listCommands = infoOption+        "install set rm install-cabal list upgrade compile debug-info tool-requirements changelog"+        (  long "list-commands"+        <> help "List available commands for shell completion"+        <> internal+        )++  let main_footer = [s|Discussion:+  ghcup installs the Glasgow Haskell Compiler from the official+  release channels, enabling you to easily switch between different+  versions. It maintains a self-contained ~/.ghcup directory.++ENV variables:+  * TMPDIR: where ghcup does the work (unpacking, building, ...)+  * GHCUP_INSTALL_BASE_PREFIX: the base of ghcup (default: $HOME)+  * GHCUP_USE_XDG_DIRS: set to anything to use XDG style directories++Report bugs at <https://gitlab.haskell.org/haskell/ghcup-hs/issues>|]++  customExecParser+      (prefs showHelpOnError)+      (info (opts <**> helper <**> versionHelp <**> numericVersionHelp <**> planJson <**> listCommands)+            (footerDoc (Just $ text main_footer))+      )+    >>= \opt@Options {..} -> do+          dirs@Dirs{..} <- getAllDirs++          -- create ~/.ghcup dir+          ensureDirectories dirs++          (settings, keybindings) <- toSettings opt++          -- logger interpreter+          logfile <- runReaderT initGHCupFileLogging dirs+          no_color <- isJust <$> lookupEnv "NO_COLOR"+          let loggerConfig = LoggerConfig+                { lcPrintDebug = verbose settings+                , consoleOutter  = T.hPutStr stderr+                , fileOutter    =+                    case optCommand of+                      Nuke -> \_ -> pure ()+                      _ -> T.appendFile logfile+                , fancyColors = not no_color+                }+          let leanAppstate = LeanAppState settings dirs keybindings loggerConfig+          let runLogger = flip runReaderT leanAppstate+          let siletRunLogger = flip runReaderT (leanAppstate { loggerConfig = loggerConfig { consoleOutter = \_ -> pure () } } :: LeanAppState)+++          -------------------------+          -- Setting up appstate --+          -------------------------+++              appState = do+                pfreq <- (+                  runLogger . runE @'[NoCompatiblePlatform, NoCompatibleArch, DistroNotFound] . liftE $ platformRequest+                  ) >>= \case+                          VRight r -> pure r+                          VLeft e -> do+                            runLogger+                              (logError $ T.pack $ prettyShow e)+                            exitWith (ExitFailure 2)++                ghcupInfo <-+                  ( flip runReaderT leanAppstate+                    . runE @'[DigestError, GPGError, JSONError , DownloadFailed, FileDoesNotExistError]+                    $ liftE getDownloadsF+                    )+                    >>= \case+                          VRight r -> pure r+                          VLeft  e -> do+                            runLogger+                              (logError $ T.pack $ prettyShow e)+                            exitWith (ExitFailure 2)+                let s' = AppState settings dirs keybindings ghcupInfo pfreq loggerConfig++                race_ (liftIO $ runReaderT cleanupTrash s')+                      (threadDelay 5000000 >> runLogger (logWarn $ "Killing cleanup thread (exceeded 5s timeout)... please remove leftover files in " <> T.pack recycleDir <> " manually"))++                case optCommand of+                  Nuke -> pure ()+                  Whereis _ _ -> pure ()+                  DInfo -> pure ()+                  ToolRequirements -> pure ()+                  ChangeLog _ -> pure ()+                  UnSet _ -> pure ()+#if defined(BRICK)+                  Interactive -> pure ()+#endif+                  _ -> lookupEnv "GHCUP_SKIP_UPDATE_CHECK" >>= \case+                         Nothing -> runReaderT checkForUpdates s'+                         Just _ -> pure ()++                -- TODO: always run for windows+                siletRunLogger (flip runReaderT s' $ runE ensureGlobalTools) >>= \case+                  VRight _ -> pure ()+                  VLeft e -> do+                    runLogger+                      (logError $ T.pack $ prettyShow e)+                    exitWith (ExitFailure 30)+                pure s'+++#if defined(IS_WINDOWS)+              -- FIXME: windows needs 'ensureGlobalTools', which requires+              -- full appstate+              runLeanAppState = runAppState+#else+              runLeanAppState = flip runReaderT leanAppstate+#endif+              runAppState action' = do+                s' <- liftIO appState+                runReaderT action' s'+                  ++          -----------------+          -- Run command --+          -----------------++          res <- case optCommand of+#if defined(BRICK)+            Interactive -> do+              s' <- appState+              liftIO $ brickMain s' >> pure ExitSuccess+#endif+            Install installCommand   -> install installCommand settings appState runLogger+            InstallCabalLegacy iopts -> install (Left (InstallCabal iopts)) settings appState runLogger+            Set setCommand           -> set setCommand runAppState runLeanAppState runLogger+            UnSet unsetCommand       -> unset unsetCommand runLeanAppState runLogger+            List lo                  -> list lo no_color runAppState+            Rm rmCommand             -> rm rmCommand runAppState runLogger+            DInfo                    -> dinfo runAppState runLogger+            Compile compileCommand   -> compile compileCommand settings runAppState runLogger+            Config configCommand     -> config configCommand settings keybindings runLogger+            Whereis whereisOptions+                    whereisCommand   -> whereis whereisCommand whereisOptions runAppState leanAppstate runLogger+            Upgrade uOpts force'     -> upgrade uOpts force' runAppState runLogger+            ToolRequirements         -> toolRequirements runAppState runLogger+            ChangeLog changelogOpts  -> changelog changelogOpts runAppState runLogger+            Nuke                     -> nuke appState runLogger+            Prefetch pfCom           -> prefetch pfCom runAppState runLogger+            GC gcOpts                -> gc gcOpts runAppState runLogger++          case res of+            ExitSuccess        -> pure ()+            ef@(ExitFailure _) -> exitWith ef++  pure ()+ 
− data/metadata/ghcup-0.0.4.yaml
@@ -1,1932 +0,0 @@-----toolRequirements:-  GHC:-    unknown_version:-      Linux_Debian:-        unknown_versioning:-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi6-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-      Linux_Ubuntu:-        unknown_versioning:-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi6-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-        "( >= 20.04 && < 20.10 )":-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi7-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-        "( >= 20.10 )":-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi8ubuntu1-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-      Linux_CentOS:-        '( >= 7 && < 8 )':-          distroPKGs:-          - gcc-          - gcc-c++-          - gmp-          - gmp-devel-          - make-          - ncurses-          - xz-          - perl-          notes: ''-        unknown_versioning:-          distroPKGs:-          - gcc-          - gcc-c++-          - gmp-          - gmp-devel-          - make-          - ncurses-          - ncurses-compat-libs-          - xz-          - perl-          notes: ''-      Linux_Fedora:-        unknown_versioning:-          distroPKGs:-          - gcc-          - gcc-c++-          - gmp-          - gmp-devel-          - make-          - ncurses-          - ncurses-compat-libs-          - xz-          - perl-          notes: ''-      Linux_Alpine:-        unknown_versioning:-          distroPKGs:-          - curl-          - gcc-          - g++-          - gmp-dev-          - ncurses-dev-          - libffi-dev-          - make-          - xz-          - tar-          - perl-          notes: ''-      Linux_UnknownLinux:-        unknown_versioning:-          distroPKGs: []-          notes: 'You need the following packages: curl g++ gcc gmp make ncurses realpath-            xz-utils. Consult your distro documentation on the exact names of those-            packages.'-      Darwin:-        unknown_versioning:-          distroPKGs: []-          notes: On OS X, in the course of running ghcup you will be given a dialog-            box to install the command line tools. Accept and the requirements will-            be installed for you. You will then need to run the command again.-      FreeBSD:-        unknown_versioning:-          distroPKGs:-          - curl-          - gcc-          - gmp-          - gmake-          - ncurses-          - perl5-          - libffi-          - libiconv-          notes: ''-ghcupDownloads:-  GHC:-    7.10.3:-      viTags:-      - base-4.8.2.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/7.10.3/docs/html/users_guide/release-7-10-1.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-src.tar.xz-        dlSubdir: ghc-7.10.3-        dlHash: cf90cedce1c28fd0e2b9e72fe8a938756668d18ea1fcc884a19f698658ac4fef-      viPostRemove: &ghc-post-remove "After removing GHC you might also want to clean up your cabal store at: ~/.cabal/store/ghc-<ghcver>"-      viPostInstall: "GHC-7.10.3 may give linking errors on most modern distros. You may have to pass '--ghc-option=-optc-no-pie --ghc-option=-optl-no-pie' to cabal build/install. Also see https://gitlab.haskell.org/ghc/ghc/-/issues/18763"-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning: &ghc-7103-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-deb8-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 01cfbad8dff1e8b34a5fdca8caeaf843b56e36af919e29cd68870d2588563db5-          Linux_Ubuntu:-            unknown_versioning: *ghc-7103-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-7103-64-deb8-          Linux_CentOS:-            unknown_versioning: &ghc-7103-64-centos-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-centos67-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: a8957f7a2fd81720c5d3dc403571d77d31115ff5f42edb2917c36d8e714220d4-          Linux_AmazonLinux:-            unknown_versioning: *ghc-7103-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-7103-64-deb8-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-apple-darwin.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 80893e367e8318105f7db2064adf202e3d96b1f014e792b73e92f2cacf0b757a-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-portbld-freebsd.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 2aa396edd2bb651f4bc7eef7a396913ea24923de5aafdc76df6295333e487e48-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-7103-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-deb8-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: d2ccf072457fb100503f6f5430a1e3589ca525a97424263d036b0550bc277f0c-          Linux_Ubuntu:-            unknown_versioning: *ghc-7103-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-7103-32-deb8-          Linux_CentOS:-            unknown_versioning: &ghc-7103-32-centos-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-centos67-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: c50aa20275e8d1ba9148f380eb7598bc148143281fc17c9acd38ea7b325852bd-          Linux_AmazonLinux:-            unknown_versioning: *ghc-7103-32-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-7103-32-deb8-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-portbld-freebsd.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 3dde05577c6f94dcb0ba201ebd53ab88553bbc9a3aa8e72237162ed7a9d588a3-    8.0.2:-      viTags:-      - base-4.9.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.0.2/docs/html/users_guide/8.0.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-src.tar.xz-        dlSubdir: ghc-8.0.2-        dlHash: 11625453e1d0686b3fa6739988f70ecac836cadc30b9f0c8b49ef9091d6118b1-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb7-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b2f5c304b57ac5840a0d2ef763a3c6fa858c70840f749cfad12ed227da973c0a-            unknown_versioning: &ghc-802-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 5ee68290db00ca0b79d57bc3a5bdce470de9ce9da0b098a7ce6c504605856c8f-          Linux_Ubuntu:-            unknown_versioning: *ghc-802-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-802-64-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.0.2/ghc-8.0.2-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 517783b660a27ebf95b2568d47292fd633d5f9a4de4c80ad1ccf05e1b9d7313f-          Linux_UnknownLinux:-            unknown_versioning: *ghc-802-64-deb8-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: ff50a2df9f002f33b9f09717ebf5ec5a47906b9b65cc57b1f9849f8b2e06788d-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b36a20e5cae24d70bbb6116ae486f21811e9384f15d3892d260f02fba3e3bb8c-        A_32:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb7-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 07ead3a49f8c9df4b429e7a2f96f6f31bcab8d3ff8277a9aed0201d13ddad448-            unknown_versioning: &ghc-802-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 818621342a2161b8afcc995a0765816bb40aefbfa1db2c8a7d59c04d8b18228a-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.0.2/ghc-8.0.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b4cd12a1048b2fff2f23c9eec0dd3a1174d54d017f8d79ec79af4534118e6881-          Linux_UnknownLinux:-            unknown_versioning: *ghc-802-32-deb8-    8.2.2:-      viTags:-      - base-4.10.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.2.2/docs/html/users_guide/8.2.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-src.tar.xz-        dlSubdir: ghc-8.2.2-        dlHash: bb8ec3634aa132d09faa270bbd604b82dfa61f04855655af6f9d14a9eedc05fc-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 7 && < 8 )': &ghc-822-64-deb7-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb7-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd7afbca54edf9890da9f432c63366556246c85c1198e40c99df5af01c555834-            unknown_versioning: &ghc-822-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 48e205c62b9dc1ccf6739a4bc15a71e56dde2f891a9d786a1b115f0286111b2a-          Linux_Ubuntu:-            unknown_versioning: *ghc-822-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-822-64-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.2.2/ghc-8.2.2-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: adcf3a320a3c402aba07ae9586990dc3c0b550e96aeffb1b9e194313d3ba716d-          Linux_UnknownLinux:-            unknown_versioning: *ghc-822-64-deb7-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: f90fcf62f7e0936a6dfc3601cf663729bfe9bbf85097d2d75f0a16f8c2e95c27-          FreeBSD:-            '( >= 10 && < 11 )':-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld10_3-freebsd.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 9e99aaeaec4b2c6d660d80246c0d4dbd41fda88f1eb7a908b29dc8fa8d663949-            '( >= 11 && < 12 )': &ghc-822-64-fbsd11-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld11-freebsd.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd351c704b92b9af23994024df07de8ca7090ea7675d5c8b14b2be857a46d804-            unknown_versioning: *ghc-822-64-fbsd11-        A_32:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb7-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd18766b1a9b74fc6c90003a719ecab158f281f9a755d8b1bd3fd764ba6947b5-            unknown_versioning: &ghc-822-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 9e67d72d76482e0ba91c718e727b00386a1a12a32ed719714976dc56ca8c8223-          Linux_Ubuntu:-            unknown_versioning: *ghc-822-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-822-32-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.2.2/ghc-8.2.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 467534c32552cfd318753112dbc70af003693aad4b0081f2a07e61f5b5ea2c22-          Linux_UnknownLinux:-            unknown_versioning: *ghc-822-32-deb8-    8.4.1:-      viTags:-      - base-4.11.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.1/docs/html/users_guide/8.4.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-src.tar.xz-        dlSubdir: ghc-8.4.1-        dlHash: 39ae2f25192408f355693e5a3c8b6ff613ddb7c4da998fdf26210143a61839d2-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: 427c77a934b30c3f1de992c38c072afb4323fe6fb30dbac919ca8cb6ae98fbd9-          Linux_Ubuntu:-            unknown_versioning: &ghc-841-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: 89328a013e64b9b56825a9071fea5616ddd623d37fd41e8fb913dfebc609e7ea-          Linux_Mint:-            unknown_versioning: *ghc-841-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-841-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-841-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: d774e39f3a0105843efd06709b214ee332c30203e6c5902dd6ed45e36285f9b7-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-portbld11-freebsd.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: e748daec098445c6190090fe32bb2817a1140553be5acd2188e1af05ad24e5aa-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-841-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: c56c589c76c7ddcb77cdbef885a811761e669d3e76868b723d5be56dedcd4f69-          Linux_Ubuntu:-            unknown_versioning: *ghc-841-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-841-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-841-32-deb8-    8.4.2:-      viTags:-      - base-4.11.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.2/docs/html/users_guide/8.4.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-src.tar.xz-        dlSubdir: ghc-8.4.2-        dlHash: 01cc32f24a06bf3b2428351b6d7fec791e82d042426d29ad9e5a245b35f0047b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 246f66eb56f4ad0f1c7755502cfc8f9972f2d067dede17e151f6f479c1f76fbd-            unknown_versioning: &ghc-842-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 3f4f5bbd2cdab4e7015ada9196d8d9b3a1ad274293cef011f85c46854596cb57-          Linux_Ubuntu:-            unknown_versioning: &ghc-842-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: d057b5c833596dbe4ae5d0dc2994f6cc5d0f4c2a21ea1d7900821d165fd4e846-            '( >= 16 && < 19 )': *ghc-842-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-842-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-842-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-842-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 87469222042b9ac23f9db216a8d4e5107297bdbbb99df71eb4d9e7208455def2-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: e9ed417fdf94c2ff2c6e344ed16f332bf6b591511f6442c0d9ea94854882b66c-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-842-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 2d849c30b4c1eac25dc74333501920921e22fa483153f404993808bbda93df05-          Linux_Ubuntu:-            unknown_versioning: *ghc-842-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-842-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-842-32-deb8-    8.4.3:-      viTags:-      - base-4.11.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.3/docs/html/users_guide/8.4.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-src.tar.xz-        dlSubdir: ghc-8.4.3-        dlHash: ae47afda985830de8811243255aa3744dfb9207cb980af74393298b2b62160d6-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 30a402c6d4754a6c020e0547f19ae3ac42e907e35349aa932d347f73e421a8e2-            unknown_versioning: &ghc-843-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 2e4f53afb872ad9c640f31aea283b3ff4c5028b65808a1920739900aef7d15c9-          Linux_Ubuntu:-            unknown_versioning: &ghc-843-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 269e7a4d3f336491b88409a020998122b30a3a729af78d33be86d3b3f8000c3e-            '( >= 16 && < 19 )': *ghc-843-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-843-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-843-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-843-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: af0b455f6c46b9802b4b48dad996619cfa27cc6e2bf2ce5532387b4a8c00aa64-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-843-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: f5763983a26dedd88b65a0b17267359a3981b83a642569b26334423f684f8b8c-          Linux_Ubuntu:-            unknown_versioning: *ghc-843-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-843-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-843-32-deb8-    8.4.4:-      viTags:-      - base-4.11.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.4/docs/html/users_guide/8.4.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-src.tar.xz-        dlSubdir: ghc-8.4.4-        dlHash: 11117735a58e507c481c09f3f39ae5a314e9fbf49fc3109528f99ea7959004b2-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 4c2a8857f76b7f3e34ecba0b51015d5cb8b767fe5377a7ec477abde10705ab1a-            unknown_versioning: &ghc-844-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 47c80a32d8f02838a2401414c94ba260d1fe82b7d090479994522242c767cc83-          Linux_Ubuntu:-            unknown_versioning: &ghc-844-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 8ab2befddc14d1434d0aad0c5d3c7e0c2b78ff84caa3429fa62527bfc6b86095-            '( >= 16 && < 19 )': *ghc-844-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-844-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-844-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-844-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-centos70-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 83a96650f5a92b1e4d7651d256d6438624342d40e780e68125033435a54cd674-          Linux_RedHat:-            unknown_versioning: *ghc-844-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.4.4/ghc-8.4.4-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 336affff8314d3dc5e85d9c09015ae2ba8a7658b459c8c8ae77ecaa551a56ae7-          Linux_AmazonLinux:-            unknown_versioning: *ghc-844-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-844-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 28dc89ebd231335337c656f4c5ead2ae2a1acc166aafe74a14f084393c5ef03a-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-portbld-freebsd11.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 44fbd142d1c355d6110595c59c760e2c73866ff9259ec85ebf814edb244d1940-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-844-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 678bafaabea6af70ba71ccf0210bb437f9f5591ec28ac1cbbbd5f7aa6894e450-          Linux_Ubuntu:-            unknown_versioning: *ghc-844-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-844-32-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.4.4/ghc-8.4.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 892888d388ef5c9cadf5cfba1146d62237c25b9b066fb62fee940b2b285fd308-          Linux_UnknownLinux:-            unknown_versioning: *ghc-844-32-deb8-    8.6.1:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.1/docs/html/users_guide/8.6.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-src.tar.xz-        dlSubdir: ghc-8.6.1-        dlHash: 2c25c26d1e5c47c7cbb2a1d8e6456524033e7a71409184dd3125e3fc5a3c7036-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 6d8784401b7dd80c90fa17306ec0539920e3987399a2c7ef247989e53197dc42-            unknown_versioning: &ghc-861-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 97d44f303868d74e4d13a2e99c82ffce3d25fd54c704675e5a1939e0d824dbf0-          Linux_Ubuntu:-            unknown_versioning: &ghc-861-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: da903fbcf11ee6c977a8b7dac3f04dbc098d674def587880b6624b8f32588beb-            '( >= 16 && < 19 )': *ghc-861-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-861-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-861-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-861-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 9692cdfd202b0e039ea0c3dde5dbf653736c836ca1df46504b179b572100808c-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 51403b054a3a649039ac988e1d1112561f96750bfced63df864091a3fab36f08-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-861-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 83573af96e3dec8f67c1a844512f92cbf7d51ae7ceca53d948fc2a3300abd05c-          Linux_Ubuntu:-            unknown_versioning: *ghc-861-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-861-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-861-32-deb8-    8.6.2:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.2/docs/html/users_guide/8.6.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-src.tar.xz-        dlSubdir: ghc-8.6.2-        dlHash: caaa819d21280ecde90a4773143dee188711e9ff175a27cfbaee56eb851d76d5-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning: &ghc-862-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 13f96e8b83bb5bb60f955786ff9085744c24927a33be8a17773f84c7c248533a-          Linux_Ubuntu:-            unknown_versioning: &ghc-862-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 702aa5dfa1639c37953ceb7571a5057d9fb0562aecb197b277953a037d78047d-            '( >= 16 && < 19 )': *ghc-862-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-862-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-862-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-862-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 8ec46a25872226dd7e5cf7271e3f3450c05f32144b96e6b9cb44cc4079db50dc-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-862-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: a288026d9ef22f7ac387edab6b29ef7dcb3b28945c8ea532a15c1fa35d4733ed-          Linux_Ubuntu:-            unknown_versioning: *ghc-862-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-862-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-862-32-deb8-    8.6.3:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.3/docs/html/users_guide/8.6.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-src.tar.xz-        dlSubdir: ghc-8.6.3-        dlHash: 9f9e37b7971935d88ba80426c36af14b1e0b3ec1d9c860f44a4391771bc07f23-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 291ca565374f4d51cc311488581f3279d3167a064fabfd4a6722fe2bd4532fd5-            unknown_versioning: &ghc-863-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: e7954c8ed9b422a09c6ab737e4a0865a2725d034ba0e272bd5c70db910797f99-          Linux_Ubuntu:-            unknown_versioning: &ghc-863-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 52ae92f4e8bb2ac0b7847287ea3da37081f5f7bf8bbb7c78ac35fde537d1a89f-            '( >= 16 && < 19 )': *ghc-863-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-863-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-863-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-863-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 355bd85c69933c31bbe99b4269ce719acfd0aad0b45e359ac39b9bb13996acc6-          Linux_RedHat:-            unknown_versioning: *ghc-863-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-863-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-863-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 79d069a1a7d74cfdd7ac2a2711c45d3ddc6265b988a0cefa342714b24f997fc1-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: bc2419fa180f8a7808c49775987866435995df9bdd9ce08bcd38352d63ba6031-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-863-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: b57070ba8c70b1333a3e47ce124baf791be39c20a592954772532fd6dd51882f-          Linux_Ubuntu:-            unknown_versioning: *ghc-863-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-863-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-863-32-deb8-    8.6.4:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.4/docs/html/users_guide/8.6.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-src.tar.xz-        dlSubdir: ghc-8.6.4-        dlHash: 5b5d07e4463203a433c3ed3df461ba6cce11b6d2b9b264db31f3429075d0303a-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: 34ef5fc8ddf2fc32a027180bea5b1c8a81ea840c87faace2977a572188d4b42d-            unknown_versioning: &ghc-864-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: ef74222ef3c01c3fc5b926f67e8b4ef612fe8efa40ac937317cff9b0eed8d863-          Linux_Ubuntu:-            unknown_versioning: &ghc-864-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: e0b1ada7a679d6c35f9d7a1192ed35fde054f3650bb0bd2570d103729ad3b846-            '( >= 16 && < 19 )': *ghc-864-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-864-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-864-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-864-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: cccb58f142fe41b601d73690809f6089f7715b6a50a09aa3d0104176ab4db09e-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-864-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: 5e2ce88f4d13d23ac37e278e0c7b51c801008931359b9fa8a631d804d2da552c-          Linux_Ubuntu:-            unknown_versioning: *ghc-864-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-864-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-864-32-deb9-    8.6.5:-      viTags:-      - base-4.12.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.5/docs/html/users_guide/8.6.5-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-src.tar.xz-        dlSubdir: ghc-8.6.5-        dlHash: 4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107-            unknown_versioning: &ghc-865-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: bc75f5601a9f41d58b2ba161b9e28fad52143a7229060f1e084168d9b2e914df-          Linux_Ubuntu:-            unknown_versioning: &ghc-865-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: cf78b53eaf336083e7a05f4a3000afbae4abe5bbc77ef80cc40e09d04ac5b4a1-            '( >= 16 && < 19 )': *ghc-865-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-865-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-865-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-865-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 80ab566f4411299f9e5922d60749ca80f989d697db19e03ed875619d699f0edf-          Linux_RedHat:-            unknown_versioning: *ghc-865-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: b9d3ed7f7aa24ef2d58bb579252289caa0b8877adee3685e3af2fb73d440afdc-          Linux_AmazonLinux:-            unknown_versioning: *ghc-865-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-865-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: dfc1bdb1d303a87a8552aa17f5b080e61351f2823c2b99071ec23d0837422169-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 83a3059a630d40a98e26cb5b520354e12094a96e36ba2f5ab002dad94cf2fb37-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-865-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc-          Linux_Ubuntu:-            unknown_versioning: *ghc-865-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-865-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 3737837550d9b177acfe150e3a3cd4545427ded020487c2ed5194d7b8f116349-          Linux_UnknownLinux:-            unknown_versioning: *ghc-865-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-aarch64-ubuntu18.04-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 1852589037e4b2805ab517bc430e25a3125c4a118a1674ffefbb443394a0c786-    8.8.1:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.1/docs/html/users_guide/8.8.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-src.tar.xz-        dlSubdir: ghc-8.8.1-        dlHash: 908a83d9b814da74585de9d39687189e6260ec3848131f9d9236cab8a123721a-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: fd96eb851971fbc3332bf2fa7821732cfa8b37e5a076a69f6a06f83f0ea7ccc5-            unknown_versioning: &ghc-881-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 620fd560535b63cac5f8c97354ccddf93fa940cca78e2d19f6f98b7e67c6a723-          Linux_Ubuntu:-            unknown_versioning: &ghc-881-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 851a78df620bc056c34b252c97040d5755e294993fa8afa5429708b5229204d6-            '( >= 16 && < 19 )': *ghc-881-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-881-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-881-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-881-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 6cdd34e4dbaeb801e805811f91cf43a2d5f64b22f884718ffbd3542a2f4dd14f-          Linux_RedHat:-            unknown_versioning: *ghc-881-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-881-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-881-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 38c8917b47c31bedf58c9305dfca3abe198d8d35570366f0773c4e2948bd8abe-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-881-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 3d3bb75aff2dd79ec87ace10483368681fbc328ff00ebf15edad33420f00f7f5-          Linux_Ubuntu:-            unknown_versioning: *ghc-881-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-881-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-881-32-deb9-    8.8.2:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.2/docs/html/users_guide/8.8.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-src.tar.xz-        dlSubdir: ghc-8.8.2-        dlHash: 01cea54d90686b97bcc9960b108beaffccd4336dee930dcf9beaf52b1f370a0b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: fbe69652eba75dadb758d00292247d17fb018c29cac5acd79843e56311256c9f-            unknown_versioning: &ghc-882-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: 7b2d66c2d5d8c15750da5833d3018634a5eb792a5662282e3abfeb112c2a1cc3-          Linux_Ubuntu:-            unknown_versioning: &ghc-882-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: dbe2db717b33460f790e155e487d2a31c9b21a9d245f0c9490ad65844c3ea21f-            '( >= 16 && < 19 )': *ghc-882-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-882-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-882-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-882-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: f065a017d7a38f235f186ffe32d8261a4fd39c7e945d5cde85c0984c2569db99-          Linux_RedHat:-            unknown_versioning: *ghc-882-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-882-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-882-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: 25c5c1a70036abf3f22b2b19c10d26adfdb08e8f8574f89d4b2042de5947f990-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-882-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: ad1c628082c32635a436905a7ff83eaa4246347d869be5ef6b33c3bf85e8f00c-          Linux_Ubuntu:-            unknown_versioning: *ghc-882-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-882-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-882-32-deb9-    8.8.3:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.3/docs/html/users_guide/8.8.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-src.tar.xz-        dlSubdir: ghc-8.8.3-        dlHash: e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0-            unknown_versioning: &ghc-883-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 42fde2ef5a143e1e6b47ae8875162ea2d4d54b06f0f7fa32ee4f0eb86f2be7ad-          Linux_Ubuntu:-            unknown_versioning: &ghc-883-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 45ee1de3bfc98cbcc4886b65fc7651ade2d3820aa85eac2dbe9bc7bf91e7c818-            '( >= 16 && < 19 )': *ghc-883-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-883-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-883-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-883-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 4b2b5313f7c12b81e54efcb26705fa9e4ad5b98f2b58bfc76fb0c9ba1d55eb1f-          Linux_RedHat:-            unknown_versioning: *ghc-883-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-883-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-883-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 7016de90dd226b06fc79d0759c5d4c83c2ab01d8c678905442c28bd948dbb782-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.3/ghc-8.8.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 569719075b4d14b3875a899df522090ae31e6fe085e6dffe518e875b09a2f0be-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-883-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae-          Linux_Ubuntu:-            unknown_versioning: *ghc-883-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-883-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-883-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 2a6821d0e7326cfa7670851702924bbab3b092415ba41247c37419158327eed9-    8.8.4:-      viTags:-      - base-4.13.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-src.tar.xz-        dlSubdir: ghc-8.8.4-        dlHash: f0505e38b2235ff9f1090b51f44d6c8efd371068e5a6bb42a2a6d8b67b5ffc2d-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 51a36892f1264744195274187298d13ac62bce2da86d4ddf76d8054ab90f2feb-            unknown_versioning: &ghc-884-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 4862559d221153caf978f4bf2c15a82c114d1e1f43b298b2ecff2ac94b586d20-          Linux_Ubuntu:-            unknown_versioning: &ghc-884-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: f32e37f8aa03e74bad533ae02f62dc27a4521e78199576af490888ba34b515db-            '( >= 16 && < 19 )': *ghc-884-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-884-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-884-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-884-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: a12aa4b1fd3c64240a8a6d15196d33e1c0e0d55b51ff78c387242126d0ef7910-          Linux_RedHat:-            unknown_versioning: *ghc-884-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 90c6a1661de7f20c7d169cd6270125035b3332063e45103ce028df0beecf434e-          Linux_AmazonLinux:-            unknown_versioning: *ghc-884-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-884-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: e80a789e9d8cfb41dd87f3284b75432427c4461c1731d220d04ead8733ccdb5e-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 8cebe5ccf454e82acd1ff52ca57590d1ab0f3f44a981b46257ec12158c8c447e-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-884-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 43dd954910c9027694312cef0aabc7774d102d0422b7172802cfb72f7d5da3a0-          Linux_Ubuntu:-            unknown_versioning: *ghc-884-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-884-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 1d18e89ee031197e55c48683e78a7ffc67601ac5fd9f73aac555eb064b3859a2-          Linux_UnknownLinux:-            unknown_versioning: *ghc-884-32-deb9-    8.10.1:-      viTags:-      - base-4.14.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/8.10.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-src.tar.xz-        dlSubdir: ghc-8.10.1-        dlHash: 4e3b07f83a266b3198310f19f71e371ebce97c769b14f0d688f4cbf2a2a1edf5-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8101-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: d1cf7886f27af070f3b7dbe1975a78b43ef2d32b86362cbe953e79464fe70761-            '( >= 10 && < 11 )': &ghc-8101-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: c1e31d798b013699b3c0de4fda27fb4cda47f572df0e75e3bd598a3012060615-            unknown_versioning: *ghc-8101-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8101-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 3c4cd72b4806045779739e8f5d1658e30e57123d88c2c8966422cdbcae448470-            '( >= 16 && < 19 )': *ghc-8101-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8101-64-fedora-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8101-64-fedora-            unknown_versioning: *ghc-8101-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8101-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 0618b94854edc6be5302489df905e627820b71be6b66c950f5e3088fe92df0a1-            unknown_versioning: *ghc-8101-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8101-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.1-x86_64-unknown-linux-              dlHash: cb13b645d103e2fba2eb8dfcc4e5f2fbd9550c00c4df42f342b4210436dcb8a8-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8101-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8101-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 65b1ca361093de4804a7e40b3e68178e1ef720f84f743641ec8d95e56a45b3a8-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.1/ghc-8.10.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: e8646ec9b60fd40aa9505ee055f22f04601290ab7a1342c2cf37c34de9d3f142-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8101-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 8b53eef2c827b5f634d72920a93c0c9dd66ea288691a2bfe28def45d3c686ee2-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.1/ghc-8.10.1-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 7360cc6b29e9b4ab08f6ea5bc3bcca6f5c216933e81ef1620dcdd700f1fdb289-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8101-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: c099011e07999db917e797fb5d89c31f075a562556ab99be8ab0accbf2a94db7-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-armv7-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: afe1bde2b0d6deb0320b9460fffe5d9427e302df85aec866b9c1458777d52b28-    8.10.2:-      viTags:-      - old-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-src.tar.xz-        dlSubdir: ghc-8.10.2-        dlHash: 9c573a4621a78723950617c223559bdc325ea6a3409264aedf68f05510b0880b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8102-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 4dbe3b479e76767bfeb4cbb7a4db8b761c4720266193483ca370b2ace3f10f7c-            '( >= 10 && < 11 )': &ghc-8102-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 94513d82c38c848f489113a75fa5ef4e5a8e3ecfaa74ca90e2620d2193ff1632-            unknown_versioning: *ghc-8102-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8102-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 8c675da83e9b3c2f64ebb407b5f9ebb2c1f21aa5d701020614fdce644a542e3b-            '( >= 16 && < 19 )': *ghc-8102-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8102-64-fedora-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8102-64-fedora-            unknown_versioning: *ghc-8102-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8102-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: fd2dccd6f496915a5f962dab24e7eeb8bee49bcc38e74b17eac76159083538fa-            unknown_versioning: *ghc-8102-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8102-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.2-x86_64-unknown-linux-              dlHash: 14d09a508f2a3a11875c140be8e6c5f6982ac5cd448f089ca10b7adc955fec76-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8102-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8102-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: edb772b00c0d7f18bb56ad27765162ee09c508104d40f82128c9114a02f6cfc2-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-unknown-freebsd.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9e5957f3497f4b58ecd3699568d9caaa11a47a6d7e902032c261e450fa0f6686-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8102-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9dae2a86ad43d08f72c783542c944d1556b075aa20a8063efae5034ea88e7c2f-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.2/ghc-8.10.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 5cf24189077e6e2dce2aa16367ad8a53f603e751a15010dfb23d067206e55593-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: bb9c97826b1f4d7a8ef8bce0616b612f1ded10480ef10fcf7fb4e6d10a6681c8-    8.10.3:-      viTags:-      - old-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.3/docs/html/users_guide/8.10.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-src.tar.xz-        dlSubdir: ghc-8.10.3-        dlHash: ccdc8319549028a708d7163e2967382677b1a5a379ff94d948195b5cf46eb931-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8103-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 95e4aadea30701fe5ab84d15f757926d843ded7115e11c4cd827809ca830718d-            '( >= 10 && < 11 )': &ghc-8103-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: c8f3d9f0e61a89eaba1d3ad8fb2eced1af0e81576811261b887993bee12538ac-            unknown_versioning: *ghc-8103-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8103-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f8739b12008712d6b6a9ffc6c39f9d05af77ef3bcb932c9aff20fa0893c8c159-            '( >= 16 && < 19 )': *ghc-8103-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8103-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8103-64-fedora-            unknown_versioning: *ghc-8103-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8103-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f562ca61979ff1d21e34e69e59028cb742a8eff8d84e46bbd3a750f2ac7d8ed1-            unknown_versioning: *ghc-8103-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8103-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.3-x86_64-unknown-linux-              dlHash: 8506c478ebbfb5441c3c36c07c36fc8532cacb2b3e13c6733bd44cb17b3ce96c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8103-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8103-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 2635f35d76e44e69afdfd37cae89d211975cc20f71f784363b72003e59f22015-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 749007e995104db05cf6e3ad5bc36238cab8afac8055145661e5730e8f8af040-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8103-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f0addd2a16b705f58ff9e8702c3ddf3e2d6bd0d3555707b5b5095e51bafee7b1-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.3/ghc-8.10.3-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 309201cdefd2d13b8b3fd09c26c6137048c490d219a0a9c7407c3ce1d011f60c-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: a531432d505a1fe886cdc8639d168eb1c92d76464c1270713e01ce81891bbadb-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: b823b58cae36fbac0741680ca7605180fa4cf4c6ae439123d282184b94d32fd6-    8.10.4:-      viTags:-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.4/docs/html/users_guide/8.10.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-src.tar.xz-        dlSubdir: ghc-8.10.4-        dlHash: 52af871b4e08550257d720c2944ac85727d0b948407cef1bebfe7508c224910e-      viPostRemove: *ghc-post-remove-      viPreCompile: &ghc-pre-compile "If you have autoconf >= 2.70 you'll need this patch https://gitlab.haskell.org/ghc/ghc/-/snippets/2040 (see the --patchdir option)"-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8104-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 5694200a5c38f22c142baf850b1d2f3784211d2ec9302e11693259a1ae8e38b7-            '( >= 10 && < 11 )': &ghc-8104-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 816365565e9927459b035515a7db6a0db62f9796f327389b6f8a0035d12fbda0-            unknown_versioning: *ghc-8104-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8104-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: a189eed900a8717d6d7906bafd10b9a9a9688ad942d1c75e19df480376dff9ea-            '( >= 16 && < 19 )': *ghc-8104-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8104-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8104-64-fedora-            unknown_versioning: *ghc-8104-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8104-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: fb8a91f0cf06594172aff46c2f6f7486179e1c3760855c79fbdd3012598cc2cd-            unknown_versioning: *ghc-8104-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8104-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.4-x86_64-unknown-linux-              dlHash: 74c2c07537832708502716ef4ec40019f8e552ddda13c8eadf8f7c4b03a79359-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8104-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8104-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 725ecf6543e63b81a3581fb8c97afd21a08ae11bc0fa4f8ee25d45f0362ef6d5-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: c9776a2ccf9629b03e967206a507fcdcb6c5189800a626e9461ababf6733c357-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8104-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 0022c5b9ac22825bb7b4745af3d92cef0ba1ecd01fab3ef387ddbd47146569ad-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.4/ghc-8.10.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 9161a98bed763692101854d83af69c1316030cfe5ee6f6acde283d04ef139735-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 249da6310be799a5eefe0579b6dae1701eb984afb980fe08309d19cf704038ed-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 0d18ef83593272f6196a41cc3abdc48dfe5e14372db75d71ea19fe35320c4e81-    8.10.5:-      viTags:-      - Recommended-      - base-4.14.2.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.5/docs/html/users_guide/8.10.5-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-src.tar.xz-        dlSubdir: ghc-8.10.5-        dlHash: f10941f16e4fbd98580ab5241b9271bb0851304560c4d5ca127e3b0e20e3076f-      viPostRemove: *ghc-post-remove-      viPreCompile: *ghc-pre-compile-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8105-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 15e71325c3bdfe3804be0f84c2fc5c913d811322d19b0f4d4cff20f29cdd804d-            '( >= 10 && < 11 )': &ghc-8105-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: bc623c20ca4c5c18e952071ba14aa0cfc5c94d34219bffaa615f7b491f376787-            unknown_versioning: *ghc-8105-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8105-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 73528ebfb219b50aa9042ee51a0a2bd764828d605f058404989d0b645752d210-            '( >= 16 && < 19 )': *ghc-8105-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8105-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8105-64-fedora-            unknown_versioning: *ghc-8105-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8105-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 4cdb259ec74d1408dab45dab20dcedc21690f39921c2ea4546486fb3e81f4fbd-            unknown_versioning: *ghc-8105-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8105-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.5-x86_64-unknown-linux-              dlHash: f4d7cd9ed12a4b8592219c9a63a86db1a256a09fa9e6ed755a60afc57dc782e2-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8105-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8105-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: ef0f47eff8962d58fa447123636cf8ef31c1e5b2d0ae90177d3388861ddf4a22-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.5/ghc-8.10.5-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 11a0b490bfb2f57b5bc87c69c197542eafce1b4991cc22f625179a6c6e567834-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8105-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 0ccb5b2c1222374874795c35410754dd650f649b774872abbea2a4ef21ac9c9d-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.5/ghc-8.10.5-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 0e91abe61607f9375d4e252ee9c261e4856df396f60641bb1b880ab8a3a83ea7-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 9a085cd8a7f8e0ace21ac67dbf659a56fcf41564b48817ba42cd8a1aac7f0ddc-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 56170d1a8450e18b7eb9c23c94723da352815b27ec250bb23742a62f16dcab6c-    9.0.1:-      viTags:-      - Latest-      - base-4.15.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-src.tar.xz-        dlSubdir: ghc-9.0.1-        dlHash: a5230314e4065f9fcc371dfe519748fd85c825b279abf72a24e09b83578a35f9-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-901-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 4ca6252492f59fe589029fadca4b6f922d6a9f0ff39d19a2bd9886fde4e183d5-            '( >= 10 && < 11 )': &ghc-901-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: c253e7eb62cc9da6524c491c85ec8d3727c2ca6035a8653388e636aaa30a2a0f-            unknown_versioning: *ghc-901-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-901-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 1fb8e27eeec51b4cdbfd1b3c16727adc5f77388d3e925e63799d8232647f316d-            '( >= 16 && < 19 )': *ghc-901-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-901-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-901-64-fedora-            unknown_versioning: *ghc-901-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-901-64-centos-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: a23750950b6995a66ba59afe82bbc505bd3479d6ab59cf66f45bc6c056e4d87b-            unknown_versioning: *ghc-901-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-901-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-9.0.1-x86_64-unknown-linux-              dlHash: 7c1a0154c9e361b75be6cb0305533bb8a3b963c54e8092ffd1759e5710805a5c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-901-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-901-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 122d60509147d0117779d275f0215bde2ff63a64cda9d88f149432d0cae71b22-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 9dbc06d8832cae5c9f86dd7b2db729b3748a47beb4fd4b1e62bb66119817c3c1-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-901-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 880e37cea8328401bcfecfe4bb56eb85195f30135b140140b3f24094264f8ba5-            unknown_versioning: *ghc-901-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-901-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-901-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-901-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/9.0.1/ghc-9.0.1-i386-alpine-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: ebfeb3b91e6f2bb5a49fd3376746f7fd1b89e62e9838bf5b1530a8756ff1e6aa-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: fac7a0bdfc83c05df94024a2d67b8f00a9cd2733b9cb41fb8ad76be399014906-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-armv7-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 6f404f9b88468407b3a9ec5800bcc2d01dd453ef3d63414853b4fbbd4d8df496-    9.2.0.20210422:-      viTags:-      - Prerelease-      - base-4.16.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/9.2.1-alpha2/docs/html/users_guide/index.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-src.tar.xz-        dlSubdir: ghc-9.2.0.20210422-        dlHash: 69be189e6e7f8d51a9078ac8f177176bc5bff54edc8352974c50c1f0e110df27-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-921-alpha2-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 7262f3a230cd6945c588882e03941301877a9eb12e58c5975ad264596c2e12f2-            '( >= 10 && < 11 )': &ghc-921-alpha2-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 6d36cd08576bdee7473fee66b4b8ceb72011983a7d5aa3ec587403815a73e37b-            unknown_versioning: *ghc-921-alpha2-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-921-alpha2-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 95624192ff0982690bc9093632d6351fdc6f72e6df380b392449229c39a0354b-            '( >= 16 && < 19 )': *ghc-921-alpha2-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-921-alpha2-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-921-alpha2-64-fedora-            unknown_versioning: *ghc-921-alpha2-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-921-alpha2-64-centos-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: dee4f158f2d59bfe97ec3f5773b6b31aa911f9b128a5e56eeefa2dccc754d295-            unknown_versioning: *ghc-921-alpha2-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-921-alpha2-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-9.2.0.20210422-x86_64-unknown-linux-              dlHash: f61ae72925325ca7b316e40121e8d6bad94794016d3fa59bcbc8dbe116a7f13c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-921-alpha2-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-921-alpha2-64-fedora-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-unknown-freebsd.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 195728e02398ea6154fe713b7782a0cae856eb0d9d90f5d09cd0cca610c985e2-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 8884c059f2b76e4c4309ff6bd7a7dde37663f751fd26220e9a2bcabb4d69a401-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-921-alpha2-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-i386-deb9-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: a378ec3fd31a9fa2a7134e98159e189362fe969f04031515616e9cc3182c861a-            unknown_versioning: *ghc-921-alpha2-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-921-alpha2-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-921-alpha2-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-921-alpha2-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: fd2f4d0f6122f752aca396fe1a13e7d14d037dc45806bb0404a031eeeeb1994c-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: dab7d7785d6ccafb130526b666669fc974ba5c90fc9aaf2024f9c65bcbd097d3-  Cabal:-    2.4.1.0:-      viTags:-        - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-alpine-linux-musl.tar.xz-              dlSubdir:-              dlHash: 720bef015f834a03deb7180be2952a44e7c2e6c8429137570404c3de4f46b984-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-unknown-linux.tar.xz-              dlSubdir:-              dlHash: 6136c189ffccaa39916f9cb5788f757166444a2d0c473b987856a79ecbf0c714-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-apple-darwin-sierra.tar.xz-              dlSubdir:-              dlHash: 56361cf4b0d920fe23174751fea1fb82a8e1ce522bd9706a3fbe47a72e458c9c-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-portbld-freebsd.tar.xz-              dlSubdir:-              dlHash: 33b7d37ea0688c93436eac9ec139d9967687875aa1fa13f2bb73bf05a9a59a1d-        A_32:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-i386-unknown-linux.tar.xz-              dlSubdir:-              dlHash: b2da736cc27609442b10f77fc1a687aba603a7a33045b722dbf1a0066fade198-    3.0.0.0:-      viTags:-        - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-alpine-linux-musl.tar.xz-              dlHash: 2b7ea63601e11a0db2941b96e6a7036a48efc2a1ab3849d7dfce08b45f5daa58-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-unknown-linux.tar.xz-              dlHash: ee911ba67a70756eedeac662955b896d7e89432a99372aa45d2c6e71fa95a5e4-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-apple-darwin17.7.0.tar.xz-              dlHash: d4857e068560515e4cbb0e8ca124c370e07892f2a28804d87152834e5fe2b845-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-portbld-freebsd.tar.xz-              dlHash: 2240842ab2ae7b955feb8b526aba1c7991248c803383107adf39990441294d2a-        A_32:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-i386-alpine-linux-musl.tar.xz-              dlHash: ac018f061993d40bf146517e32629bcab274b4d9f5527b1c37a665ebdf3f5ac6-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-i386-unknown-linux.tar.xz-              dlHash: 6898ccd6e6dc0872999c06daaf61d546164e12f60a1880d09852c9f0c59c5cf6-    3.2.0.0:-      viTags:-      - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz-              dlHash: 8bae37a1ce8b5f10440b5591fed734935e1411c1b765258325ffe268e2cc2042-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz-              dlHash: 32d1f7cf1065c37cb0ef99a66adb405f409b9763f14c0926f5424ae408c738ac-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-apple-darwin17.7.0.tar.xz-              dlHash: 9197c17d2ece0f934f5b33e323cfcaf486e4681952687bc3d249488ce3cbe0e9-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-portbld-freebsd.tar.xz-              dlHash: f1e35151cca91541b0fb4bdb3ed18f3c348038eab751845ad19c11307d66c273-        A_32:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz-              dlHash: c2a419dedf730987b60daf8d24e871d115a09ea608d740d7c61b36e3f5b9c830-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-unknown-linux.tar.xz-              dlHash: 2b3ac28549916de5f3379241797eaf60e84b6c001f2abbe73d9fadbbaf768e93-    3.4.0.0:-      viTags:-      - Recommended-      - Latest-      viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.0.0.md-      viArch:-        A_64:-          Linux_Ubuntu:-            unknown_versioning: &cabal-3400-ubuntu-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-ubuntu-16.04.tar.xz-              dlHash: cf28f9ffd763476aa2b1730d85cbf155d366fac541f78ee3951e8cb2d6de63e6-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-alpine-3.11.6-static-noofd.tar.xz-              dlHash: c74073fe79110946182e522fcadc8dcabf07c87583e8cf7801ed4e0c327241f6-          Linux_UnknownLinux:-            unknown_versioning: *cabal-3400-ubuntu-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-darwin-sierra.tar.xz-              dlHash: cb10be9a53e856aa2d852fd88fb6944f138783ffe0ea84d93c9a69244e34ea91-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz-              dlHash: a1e2db664ec00e42a1e071a4181f6476f6e0bad321f1ddc0cf27831119f4c6d4-        A_32:-          Linux_UnknownLinux:-            unknown_versioning: &cabal-3400-32-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-i386-unknown-linux.tar.xz-              dlHash: cc62a471e9e68a6a9933e54f75bf0cffae67a1d2220df1152ab887c38eb6bc8a-          Linux_Alpine:-            unknown_versioning: *cabal-3400-32-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-aarch64-ubuntu-18.04.tar.xz-              dlHash: 04d378347896dfdc3510b192b97489815cfa5d692f46e2758da0f789e682b8f0-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-armv7-linux-bootstrapped.tar.xz-              dlHash: 16c0d1eaba24bed14f3e152970179a45d9f9bb5cc839b2c210ad06eb7d4826ed-  GHCup:-    0.1.16.2:-      viTags:-      - Recommended-      - Latest-      viChangeLog: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md-      viSourceDL:-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &ghcup-64-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2-              dlHash: d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-apple-darwin-ghcup-0.1.16.2-              dlHash: a334620ccce7705211b2142882dde544003e6030af4b91a44c890542a90f879f-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-portbld-freebsd-ghcup-0.1.16.2-              dlHash: 92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9-          Linux_Alpine:-            unknown_versioning: *ghcup-64-        A_32:-          Linux_UnknownLinux:-            unknown_versioning: &ghcup-32-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2-              dlHash: 01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38-          Linux_Alpine:-            unknown_versioning: *ghcup-32-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-linux-ghcup-0.1.16.2-              dlHash: 0bdbfc724e0ddabb266156eea83c2c4e19c6ed79dd06db0c29b7d69df8d9fa8c-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-apple-darwin-ghcup-0.1.16.2-              dlHash: 8854e991a2ba1350abda59dab96ce50ae7729d1ce99399d67929ef31e90f1da5-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/armv7-linux-ghcup-0.1.16.2-              dlHash: 983ebb5b584bfa600704216a63f94b40d36a02573834e90ef1042c8472d9ad57-  HLS:-    1.1.0:-      viTags:-        - Recommended-        - Latest-      viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#110-      viPostInstall: "This is just the server part of your LSP configuration. Consult the README on how to configure HLS, your project and your LSP client in your editor: https://github.com/haskell/haskell-language-server/blob/master/README.md"-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &hls-64-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.1.0/haskell-language-server-Linux-1.1.0.tar.gz-              dlHash: 0f0dadb0e9a08273658f565fd71c636801959b954be2737f38f2a1aac522208f-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.1.0/haskell-language-server-macOS-1.1.0.tar.gz-              dlHash: 4e89b192e2f49637d772e974f2c17b16da067ecd5912575eaa542551de97681b-          Linux_Alpine:-            unknown_versioning: *hls-64
− data/metadata/ghcup-0.0.5.yaml
@@ -1,2235 +0,0 @@-----globalTools:-  ShimGen:-    dlUri: https://downloads.haskell.org/~ghcup/shimgen/shim-2.exe-    dlHash: 7c55e201f71860c5babea886007c8fa44b861abf50d1c07e5677eb0bda387a70-toolRequirements:-  GHC:-    unknown_version:-      Linux_Debian:-        unknown_versioning:-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi6-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-      Linux_Ubuntu:-        unknown_versioning:-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi6-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-        "( >= 20.04 && < 20.10 )":-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi7-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-        "( >= 20.10 )":-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi8ubuntu1-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-      Linux_CentOS:-        '( >= 7 && < 8 )':-          distroPKGs:-          - gcc-          - gcc-c++-          - gmp-          - gmp-devel-          - make-          - ncurses-          - xz-          - perl-          notes: ''-        unknown_versioning:-          distroPKGs:-          - gcc-          - gcc-c++-          - gmp-          - gmp-devel-          - make-          - ncurses-          - ncurses-compat-libs-          - xz-          - perl-          notes: ''-      Linux_Fedora:-        unknown_versioning:-          distroPKGs:-          - gcc-          - gcc-c++-          - gmp-          - gmp-devel-          - make-          - ncurses-          - ncurses-compat-libs-          - xz-          - perl-          notes: ''-      Linux_Alpine:-        unknown_versioning:-          distroPKGs:-          - binutils-gold-          - curl-          - gcc-          - g++-          - gmp-dev-          - ncurses-dev-          - libffi-dev-          - make-          - xz-          - tar-          - perl-          notes: ''-      Linux_UnknownLinux:-        unknown_versioning:-          distroPKGs: []-          notes: 'You need the following packages: curl g++ gcc gmp make ncurses realpath-            xz-utils. Consult your distro documentation on the exact names of those-            packages.'-      Darwin:-        unknown_versioning:-          distroPKGs: []-          notes: On OS X, in the course of running ghcup you will be given a dialog-            box to install the command line tools. Accept and the requirements will-            be installed for you. You will then need to run the command again.-      FreeBSD:-        unknown_versioning:-          distroPKGs:-          - curl-          - gcc-          - gmp-          - gmake-          - ncurses-          - perl5-          - libffi-          - libiconv-          notes: ''-      Windows:-        unknown_versioning:-          distroPKGs: []-          notes: On Windows, msys2 should already have been set up during the installation,-            so most users should just press ENTER.-            If you are installing manually, make sure to have a working mingw64 toolchain and-            shell.-ghcupDownloads:-  GHC:-    7.10.3:-      viTags:-      - base-4.8.2.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/7.10.3/docs/html/users_guide/release-7-10-1.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-src.tar.xz-        dlSubdir: ghc-7.10.3-        dlHash: cf90cedce1c28fd0e2b9e72fe8a938756668d18ea1fcc884a19f698658ac4fef-      viPostRemove: &ghc-post-remove "After removing GHC you might also want to clean up your cabal store at: ~/.cabal/store/ghc-<ghcver>"-      viPostInstall: "GHC-7.10.3 may give linking errors on most modern distros. You may have to pass '--ghc-option=-optc-no-pie --ghc-option=-optl-no-pie' to cabal build/install. Also see https://gitlab.haskell.org/ghc/ghc/-/issues/18763"-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning: &ghc-7103-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-deb8-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 01cfbad8dff1e8b34a5fdca8caeaf843b56e36af919e29cd68870d2588563db5-          Linux_Ubuntu:-            unknown_versioning: *ghc-7103-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-7103-64-deb8-          Linux_CentOS:-            unknown_versioning: &ghc-7103-64-centos-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-centos67-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: a8957f7a2fd81720c5d3dc403571d77d31115ff5f42edb2917c36d8e714220d4-          Linux_AmazonLinux:-            unknown_versioning: *ghc-7103-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-7103-64-deb8-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-apple-darwin.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 80893e367e8318105f7db2064adf202e3d96b1f014e792b73e92f2cacf0b757a-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-portbld-freebsd.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 2aa396edd2bb651f4bc7eef7a396913ea24923de5aafdc76df6295333e487e48-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-7.10.3-              dlHash: 63e1689fc9e2809ae4d7f422b4dc810052e54c9aa2afd08746e234180e711dde-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-7103-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-deb8-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: d2ccf072457fb100503f6f5430a1e3589ca525a97424263d036b0550bc277f0c-          Linux_Ubuntu:-            unknown_versioning: *ghc-7103-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-7103-32-deb8-          Linux_CentOS:-            unknown_versioning: &ghc-7103-32-centos-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-centos67-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: c50aa20275e8d1ba9148f380eb7598bc148143281fc17c9acd38ea7b325852bd-          Linux_AmazonLinux:-            unknown_versioning: *ghc-7103-32-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-7103-32-deb8-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-portbld-freebsd.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 3dde05577c6f94dcb0ba201ebd53ab88553bbc9a3aa8e72237162ed7a9d588a3-    8.0.2:-      viTags:-      - base-4.9.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.0.2/docs/html/users_guide/8.0.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-src.tar.xz-        dlSubdir: ghc-8.0.2-        dlHash: 11625453e1d0686b3fa6739988f70ecac836cadc30b9f0c8b49ef9091d6118b1-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb7-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b2f5c304b57ac5840a0d2ef763a3c6fa858c70840f749cfad12ed227da973c0a-            unknown_versioning: &ghc-802-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 5ee68290db00ca0b79d57bc3a5bdce470de9ce9da0b098a7ce6c504605856c8f-          Linux_Ubuntu:-            unknown_versioning: *ghc-802-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-802-64-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.0.2/ghc-8.0.2-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 517783b660a27ebf95b2568d47292fd633d5f9a4de4c80ad1ccf05e1b9d7313f-          Linux_UnknownLinux:-            unknown_versioning: *ghc-802-64-deb8-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: ff50a2df9f002f33b9f09717ebf5ec5a47906b9b65cc57b1f9849f8b2e06788d-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b36a20e5cae24d70bbb6116ae486f21811e9384f15d3892d260f02fba3e3bb8c-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 8c42c1f4af995205b9816a1e97e2752fe758544c1f5fe77958cdcd319c9c2d53-        A_32:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb7-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 07ead3a49f8c9df4b429e7a2f96f6f31bcab8d3ff8277a9aed0201d13ddad448-            unknown_versioning: &ghc-802-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 818621342a2161b8afcc995a0765816bb40aefbfa1db2c8a7d59c04d8b18228a-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.0.2/ghc-8.0.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b4cd12a1048b2fff2f23c9eec0dd3a1174d54d017f8d79ec79af4534118e6881-          Linux_UnknownLinux:-            unknown_versioning: *ghc-802-32-deb8-    8.2.2:-      viTags:-      - base-4.10.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.2.2/docs/html/users_guide/8.2.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-src.tar.xz-        dlSubdir: ghc-8.2.2-        dlHash: bb8ec3634aa132d09faa270bbd604b82dfa61f04855655af6f9d14a9eedc05fc-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 7 && < 8 )': &ghc-822-64-deb7-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb7-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd7afbca54edf9890da9f432c63366556246c85c1198e40c99df5af01c555834-            unknown_versioning: &ghc-822-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 48e205c62b9dc1ccf6739a4bc15a71e56dde2f891a9d786a1b115f0286111b2a-          Linux_Ubuntu:-            unknown_versioning: *ghc-822-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-822-64-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.2.2/ghc-8.2.2-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: adcf3a320a3c402aba07ae9586990dc3c0b550e96aeffb1b9e194313d3ba716d-          Linux_UnknownLinux:-            unknown_versioning: *ghc-822-64-deb7-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: f90fcf62f7e0936a6dfc3601cf663729bfe9bbf85097d2d75f0a16f8c2e95c27-          FreeBSD:-            '( >= 10 && < 11 )':-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld10_3-freebsd.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 9e99aaeaec4b2c6d660d80246c0d4dbd41fda88f1eb7a908b29dc8fa8d663949-            '( >= 11 && < 12 )': &ghc-822-64-fbsd11-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld11-freebsd.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd351c704b92b9af23994024df07de8ca7090ea7675d5c8b14b2be857a46d804-            unknown_versioning: *ghc-822-64-fbsd11-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 1e033df2092aa546e763e7be63167720b32df64f76673ea1ce7ae7c9f564b223-        A_32:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb7-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd18766b1a9b74fc6c90003a719ecab158f281f9a755d8b1bd3fd764ba6947b5-            unknown_versioning: &ghc-822-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 9e67d72d76482e0ba91c718e727b00386a1a12a32ed719714976dc56ca8c8223-          Linux_Ubuntu:-            unknown_versioning: *ghc-822-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-822-32-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.2.2/ghc-8.2.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 467534c32552cfd318753112dbc70af003693aad4b0081f2a07e61f5b5ea2c22-          Linux_UnknownLinux:-            unknown_versioning: *ghc-822-32-deb8-    8.4.1:-      viTags:-      - base-4.11.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.1/docs/html/users_guide/8.4.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-src.tar.xz-        dlSubdir: ghc-8.4.1-        dlHash: 39ae2f25192408f355693e5a3c8b6ff613ddb7c4da998fdf26210143a61839d2-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: 427c77a934b30c3f1de992c38c072afb4323fe6fb30dbac919ca8cb6ae98fbd9-          Linux_Ubuntu:-            unknown_versioning: &ghc-841-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: 89328a013e64b9b56825a9071fea5616ddd623d37fd41e8fb913dfebc609e7ea-          Linux_Mint:-            unknown_versioning: *ghc-841-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-841-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-841-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: d774e39f3a0105843efd06709b214ee332c30203e6c5902dd6ed45e36285f9b7-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-portbld11-freebsd.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: e748daec098445c6190090fe32bb2817a1140553be5acd2188e1af05ad24e5aa-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: 328b013fc651d34e075019107e58bb6c8a578f0155cf3ad4557e6f2661b03131-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-841-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: c56c589c76c7ddcb77cdbef885a811761e669d3e76868b723d5be56dedcd4f69-          Linux_Ubuntu:-            unknown_versioning: *ghc-841-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-841-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-841-32-deb8-    8.4.2:-      viTags:-      - base-4.11.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.2/docs/html/users_guide/8.4.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-src.tar.xz-        dlSubdir: ghc-8.4.2-        dlHash: 01cc32f24a06bf3b2428351b6d7fec791e82d042426d29ad9e5a245b35f0047b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 246f66eb56f4ad0f1c7755502cfc8f9972f2d067dede17e151f6f479c1f76fbd-            unknown_versioning: &ghc-842-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 3f4f5bbd2cdab4e7015ada9196d8d9b3a1ad274293cef011f85c46854596cb57-          Linux_Ubuntu:-            unknown_versioning: &ghc-842-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: d057b5c833596dbe4ae5d0dc2994f6cc5d0f4c2a21ea1d7900821d165fd4e846-            '( >= 16 && < 19 )': *ghc-842-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-842-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-842-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-842-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 87469222042b9ac23f9db216a8d4e5107297bdbbb99df71eb4d9e7208455def2-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: e9ed417fdf94c2ff2c6e344ed16f332bf6b591511f6442c0d9ea94854882b66c-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 797634aa9812fc6b2084a24ddb4fde44fa83a2f59daea82e0af81ca3dd323fde-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-842-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 2d849c30b4c1eac25dc74333501920921e22fa483153f404993808bbda93df05-          Linux_Ubuntu:-            unknown_versioning: *ghc-842-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-842-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-842-32-deb8-    8.4.3:-      viTags:-      - base-4.11.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.3/docs/html/users_guide/8.4.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-src.tar.xz-        dlSubdir: ghc-8.4.3-        dlHash: ae47afda985830de8811243255aa3744dfb9207cb980af74393298b2b62160d6-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 30a402c6d4754a6c020e0547f19ae3ac42e907e35349aa932d347f73e421a8e2-            unknown_versioning: &ghc-843-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 2e4f53afb872ad9c640f31aea283b3ff4c5028b65808a1920739900aef7d15c9-          Linux_Ubuntu:-            unknown_versioning: &ghc-843-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 269e7a4d3f336491b88409a020998122b30a3a729af78d33be86d3b3f8000c3e-            '( >= 16 && < 19 )': *ghc-843-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-843-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-843-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-843-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: af0b455f6c46b9802b4b48dad996619cfa27cc6e2bf2ce5532387b4a8c00aa64-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 8a83cfbf9ae84de0443c39c93b931693bdf2a6d4bf163ffb41855f80f4bf883e-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-843-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: f5763983a26dedd88b65a0b17267359a3981b83a642569b26334423f684f8b8c-          Linux_Ubuntu:-            unknown_versioning: *ghc-843-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-843-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-843-32-deb8-    8.4.4:-      viTags:-      - base-4.11.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.4/docs/html/users_guide/8.4.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-src.tar.xz-        dlSubdir: ghc-8.4.4-        dlHash: 11117735a58e507c481c09f3f39ae5a314e9fbf49fc3109528f99ea7959004b2-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 4c2a8857f76b7f3e34ecba0b51015d5cb8b767fe5377a7ec477abde10705ab1a-            unknown_versioning: &ghc-844-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 47c80a32d8f02838a2401414c94ba260d1fe82b7d090479994522242c767cc83-          Linux_Ubuntu:-            unknown_versioning: &ghc-844-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 8ab2befddc14d1434d0aad0c5d3c7e0c2b78ff84caa3429fa62527bfc6b86095-            '( >= 16 && < 19 )': *ghc-844-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-844-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-844-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-844-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-centos70-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 83a96650f5a92b1e4d7651d256d6438624342d40e780e68125033435a54cd674-          Linux_RedHat:-            unknown_versioning: *ghc-844-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.4.4/ghc-8.4.4-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 336affff8314d3dc5e85d9c09015ae2ba8a7658b459c8c8ae77ecaa551a56ae7-          Linux_AmazonLinux:-            unknown_versioning: *ghc-844-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-844-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 28dc89ebd231335337c656f4c5ead2ae2a1acc166aafe74a14f084393c5ef03a-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-portbld-freebsd11.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 44fbd142d1c355d6110595c59c760e2c73866ff9259ec85ebf814edb244d1940-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: da29dbb0f1199611c7d5bb7b0dd6a7426ca98f67dfd6da1526b033cd3830dc05-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-844-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 678bafaabea6af70ba71ccf0210bb437f9f5591ec28ac1cbbbd5f7aa6894e450-          Linux_Ubuntu:-            unknown_versioning: *ghc-844-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-844-32-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.4.4/ghc-8.4.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 892888d388ef5c9cadf5cfba1146d62237c25b9b066fb62fee940b2b285fd308-          Linux_UnknownLinux:-            unknown_versioning: *ghc-844-32-deb8-    8.6.1:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.1/docs/html/users_guide/8.6.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-src.tar.xz-        dlSubdir: ghc-8.6.1-        dlHash: 2c25c26d1e5c47c7cbb2a1d8e6456524033e7a71409184dd3125e3fc5a3c7036-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 6d8784401b7dd80c90fa17306ec0539920e3987399a2c7ef247989e53197dc42-            unknown_versioning: &ghc-861-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 97d44f303868d74e4d13a2e99c82ffce3d25fd54c704675e5a1939e0d824dbf0-          Linux_Ubuntu:-            unknown_versioning: &ghc-861-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: da903fbcf11ee6c977a8b7dac3f04dbc098d674def587880b6624b8f32588beb-            '( >= 16 && < 19 )': *ghc-861-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-861-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-861-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-861-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 9692cdfd202b0e039ea0c3dde5dbf653736c836ca1df46504b179b572100808c-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 51403b054a3a649039ac988e1d1112561f96750bfced63df864091a3fab36f08-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 7316d9cb5e486460476754f872c7bac30ee2082e42f46da4342f872d10b88099-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-861-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 83573af96e3dec8f67c1a844512f92cbf7d51ae7ceca53d948fc2a3300abd05c-          Linux_Ubuntu:-            unknown_versioning: *ghc-861-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-861-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-861-32-deb8-    8.6.2:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.2/docs/html/users_guide/8.6.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-src.tar.xz-        dlSubdir: ghc-8.6.2-        dlHash: caaa819d21280ecde90a4773143dee188711e9ff175a27cfbaee56eb851d76d5-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning: &ghc-862-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 13f96e8b83bb5bb60f955786ff9085744c24927a33be8a17773f84c7c248533a-          Linux_Ubuntu:-            unknown_versioning: &ghc-862-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 702aa5dfa1639c37953ceb7571a5057d9fb0562aecb197b277953a037d78047d-            '( >= 16 && < 19 )': *ghc-862-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-862-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-862-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-862-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 8ec46a25872226dd7e5cf7271e3f3450c05f32144b96e6b9cb44cc4079db50dc-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 9a398e133cab09ff2610834337355d4e26c35e0665403fb9ff8db79315f74d3d-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-862-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: a288026d9ef22f7ac387edab6b29ef7dcb3b28945c8ea532a15c1fa35d4733ed-          Linux_Ubuntu:-            unknown_versioning: *ghc-862-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-862-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-862-32-deb8-    8.6.3:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.3/docs/html/users_guide/8.6.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-src.tar.xz-        dlSubdir: ghc-8.6.3-        dlHash: 9f9e37b7971935d88ba80426c36af14b1e0b3ec1d9c860f44a4391771bc07f23-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 291ca565374f4d51cc311488581f3279d3167a064fabfd4a6722fe2bd4532fd5-            unknown_versioning: &ghc-863-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: e7954c8ed9b422a09c6ab737e4a0865a2725d034ba0e272bd5c70db910797f99-          Linux_Ubuntu:-            unknown_versioning: &ghc-863-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 52ae92f4e8bb2ac0b7847287ea3da37081f5f7bf8bbb7c78ac35fde537d1a89f-            '( >= 16 && < 19 )': *ghc-863-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-863-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-863-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-863-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 355bd85c69933c31bbe99b4269ce719acfd0aad0b45e359ac39b9bb13996acc6-          Linux_RedHat:-            unknown_versioning: *ghc-863-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-863-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-863-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 79d069a1a7d74cfdd7ac2a2711c45d3ddc6265b988a0cefa342714b24f997fc1-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: bc2419fa180f8a7808c49775987866435995df9bdd9ce08bcd38352d63ba6031-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 2fec383904e5fa79413e9afd328faf9bc700006c8c3d4bcdd8d4f2ccf0f7fa2a-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-863-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: b57070ba8c70b1333a3e47ce124baf791be39c20a592954772532fd6dd51882f-          Linux_Ubuntu:-            unknown_versioning: *ghc-863-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-863-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-863-32-deb8-    8.6.4:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.4/docs/html/users_guide/8.6.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-src.tar.xz-        dlSubdir: ghc-8.6.4-        dlHash: 5b5d07e4463203a433c3ed3df461ba6cce11b6d2b9b264db31f3429075d0303a-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: 34ef5fc8ddf2fc32a027180bea5b1c8a81ea840c87faace2977a572188d4b42d-            unknown_versioning: &ghc-864-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: ef74222ef3c01c3fc5b926f67e8b4ef612fe8efa40ac937317cff9b0eed8d863-          Linux_Ubuntu:-            unknown_versioning: &ghc-864-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: e0b1ada7a679d6c35f9d7a1192ed35fde054f3650bb0bd2570d103729ad3b846-            '( >= 16 && < 19 )': *ghc-864-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-864-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-864-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-864-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: cccb58f142fe41b601d73690809f6089f7715b6a50a09aa3d0104176ab4db09e-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: e8d021b7a90772fc559862079da20538498d991956d7557b468ca19ddda22a08-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-864-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: 5e2ce88f4d13d23ac37e278e0c7b51c801008931359b9fa8a631d804d2da552c-          Linux_Ubuntu:-            unknown_versioning: *ghc-864-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-864-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-864-32-deb9-    8.6.5:-      viTags:-      - base-4.12.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.5/docs/html/users_guide/8.6.5-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-src.tar.xz-        dlSubdir: ghc-8.6.5-        dlHash: 4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107-            unknown_versioning: &ghc-865-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: bc75f5601a9f41d58b2ba161b9e28fad52143a7229060f1e084168d9b2e914df-          Linux_Ubuntu:-            unknown_versioning: &ghc-865-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: cf78b53eaf336083e7a05f4a3000afbae4abe5bbc77ef80cc40e09d04ac5b4a1-            '( >= 16 && < 19 )': *ghc-865-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-865-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-865-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-865-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 80ab566f4411299f9e5922d60749ca80f989d697db19e03ed875619d699f0edf-          Linux_RedHat:-            unknown_versioning: *ghc-865-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: b9d3ed7f7aa24ef2d58bb579252289caa0b8877adee3685e3af2fb73d440afdc-          Linux_AmazonLinux:-            unknown_versioning: *ghc-865-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-865-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: dfc1bdb1d303a87a8552aa17f5b080e61351f2823c2b99071ec23d0837422169-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 83a3059a630d40a98e26cb5b520354e12094a96e36ba2f5ab002dad94cf2fb37-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 457024c6ea43bdce340af428d86319931f267089398b859b00efdfe2fd4ce93f-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-865-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc-          Linux_Ubuntu:-            unknown_versioning: *ghc-865-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-865-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 3737837550d9b177acfe150e3a3cd4545427ded020487c2ed5194d7b8f116349-          Linux_UnknownLinux:-            unknown_versioning: *ghc-865-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-aarch64-ubuntu18.04-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 1852589037e4b2805ab517bc430e25a3125c4a118a1674ffefbb443394a0c786-    8.8.1:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.1/docs/html/users_guide/8.8.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-src.tar.xz-        dlSubdir: ghc-8.8.1-        dlHash: 908a83d9b814da74585de9d39687189e6260ec3848131f9d9236cab8a123721a-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: fd96eb851971fbc3332bf2fa7821732cfa8b37e5a076a69f6a06f83f0ea7ccc5-            unknown_versioning: &ghc-881-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 620fd560535b63cac5f8c97354ccddf93fa940cca78e2d19f6f98b7e67c6a723-          Linux_Ubuntu:-            unknown_versioning: &ghc-881-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 851a78df620bc056c34b252c97040d5755e294993fa8afa5429708b5229204d6-            '( >= 16 && < 19 )': *ghc-881-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-881-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-881-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-881-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 6cdd34e4dbaeb801e805811f91cf43a2d5f64b22f884718ffbd3542a2f4dd14f-          Linux_RedHat:-            unknown_versioning: *ghc-881-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-881-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-881-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 38c8917b47c31bedf58c9305dfca3abe198d8d35570366f0773c4e2948bd8abe-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 29e56e6af38017a5a76b2b6995a39d3988fa58131e4b55b62dd317ba7186ac9b-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-881-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 3d3bb75aff2dd79ec87ace10483368681fbc328ff00ebf15edad33420f00f7f5-          Linux_Ubuntu:-            unknown_versioning: *ghc-881-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-881-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-881-32-deb9-    8.8.2:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.2/docs/html/users_guide/8.8.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-src.tar.xz-        dlSubdir: ghc-8.8.2-        dlHash: 01cea54d90686b97bcc9960b108beaffccd4336dee930dcf9beaf52b1f370a0b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: fbe69652eba75dadb758d00292247d17fb018c29cac5acd79843e56311256c9f-            unknown_versioning: &ghc-882-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: 7b2d66c2d5d8c15750da5833d3018634a5eb792a5662282e3abfeb112c2a1cc3-          Linux_Ubuntu:-            unknown_versioning: &ghc-882-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: dbe2db717b33460f790e155e487d2a31c9b21a9d245f0c9490ad65844c3ea21f-            '( >= 16 && < 19 )': *ghc-882-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-882-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-882-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-882-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: f065a017d7a38f235f186ffe32d8261a4fd39c7e945d5cde85c0984c2569db99-          Linux_RedHat:-            unknown_versioning: *ghc-882-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-882-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-882-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: 25c5c1a70036abf3f22b2b19c10d26adfdb08e8f8574f89d4b2042de5947f990-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: e25d9b16ee62cafc7387af2cd021eea676a99cd2c32b83533b016162c63065d9-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-882-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: ad1c628082c32635a436905a7ff83eaa4246347d869be5ef6b33c3bf85e8f00c-          Linux_Ubuntu:-            unknown_versioning: *ghc-882-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-882-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-882-32-deb9-    8.8.3:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.3/docs/html/users_guide/8.8.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-src.tar.xz-        dlSubdir: ghc-8.8.3-        dlHash: e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0-            unknown_versioning: &ghc-883-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 42fde2ef5a143e1e6b47ae8875162ea2d4d54b06f0f7fa32ee4f0eb86f2be7ad-          Linux_Ubuntu:-            unknown_versioning: &ghc-883-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 45ee1de3bfc98cbcc4886b65fc7651ade2d3820aa85eac2dbe9bc7bf91e7c818-            '( >= 16 && < 19 )': *ghc-883-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-883-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-883-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-883-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 4b2b5313f7c12b81e54efcb26705fa9e4ad5b98f2b58bfc76fb0c9ba1d55eb1f-          Linux_RedHat:-            unknown_versioning: *ghc-883-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-883-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-883-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 7016de90dd226b06fc79d0759c5d4c83c2ab01d8c678905442c28bd948dbb782-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.3/ghc-8.8.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 569719075b4d14b3875a899df522090ae31e6fe085e6dffe518e875b09a2f0be-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: e22586762af0911c06e8140f1792e3ca381a3a482a20d67b9054883038b3a422-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-883-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae-          Linux_Ubuntu:-            unknown_versioning: *ghc-883-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-883-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-883-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 2a6821d0e7326cfa7670851702924bbab3b092415ba41247c37419158327eed9-    8.8.4:-      viTags:-      - base-4.13.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-src.tar.xz-        dlSubdir: ghc-8.8.4-        dlHash: f0505e38b2235ff9f1090b51f44d6c8efd371068e5a6bb42a2a6d8b67b5ffc2d-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 51a36892f1264744195274187298d13ac62bce2da86d4ddf76d8054ab90f2feb-            unknown_versioning: &ghc-884-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 4862559d221153caf978f4bf2c15a82c114d1e1f43b298b2ecff2ac94b586d20-          Linux_Ubuntu:-            unknown_versioning: &ghc-884-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: f32e37f8aa03e74bad533ae02f62dc27a4521e78199576af490888ba34b515db-            '( >= 16 && < 19 )': *ghc-884-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-884-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-884-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-884-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: a12aa4b1fd3c64240a8a6d15196d33e1c0e0d55b51ff78c387242126d0ef7910-          Linux_RedHat:-            unknown_versioning: *ghc-884-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 90c6a1661de7f20c7d169cd6270125035b3332063e45103ce028df0beecf434e-          Linux_AmazonLinux:-            unknown_versioning: *ghc-884-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-884-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: e80a789e9d8cfb41dd87f3284b75432427c4461c1731d220d04ead8733ccdb5e-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 8cebe5ccf454e82acd1ff52ca57590d1ab0f3f44a981b46257ec12158c8c447e-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: d185055d2c8dc3bfe5b88afd59d6877eb1e722b672d1c9649f18296e148ed71f-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-884-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 43dd954910c9027694312cef0aabc7774d102d0422b7172802cfb72f7d5da3a0-          Linux_Ubuntu:-            unknown_versioning: *ghc-884-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-884-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 1d18e89ee031197e55c48683e78a7ffc67601ac5fd9f73aac555eb064b3859a2-          Linux_UnknownLinux:-            unknown_versioning: *ghc-884-32-deb9-    8.10.1:-      viTags:-      - base-4.14.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/8.10.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-src.tar.xz-        dlSubdir: ghc-8.10.1-        dlHash: 4e3b07f83a266b3198310f19f71e371ebce97c769b14f0d688f4cbf2a2a1edf5-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8101-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: d1cf7886f27af070f3b7dbe1975a78b43ef2d32b86362cbe953e79464fe70761-            '( >= 10 && < 11 )': &ghc-8101-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: c1e31d798b013699b3c0de4fda27fb4cda47f572df0e75e3bd598a3012060615-            unknown_versioning: *ghc-8101-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8101-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 3c4cd72b4806045779739e8f5d1658e30e57123d88c2c8966422cdbcae448470-            '( >= 16 && < 19 )': *ghc-8101-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8101-64-fedora-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8101-64-fedora-            unknown_versioning: *ghc-8101-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8101-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 0618b94854edc6be5302489df905e627820b71be6b66c950f5e3088fe92df0a1-            unknown_versioning: *ghc-8101-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8101-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.1-x86_64-unknown-linux-              dlHash: cb13b645d103e2fba2eb8dfcc4e5f2fbd9550c00c4df42f342b4210436dcb8a8-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8101-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8101-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 65b1ca361093de4804a7e40b3e68178e1ef720f84f743641ec8d95e56a45b3a8-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.1/ghc-8.10.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: e8646ec9b60fd40aa9505ee055f22f04601290ab7a1342c2cf37c34de9d3f142-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 38a3166ea50cccd5bae7e1680eae3aae2b4ae31b61f82a1d8168fb821f43bd67-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8101-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 8b53eef2c827b5f634d72920a93c0c9dd66ea288691a2bfe28def45d3c686ee2-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.1/ghc-8.10.1-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 7360cc6b29e9b4ab08f6ea5bc3bcca6f5c216933e81ef1620dcdd700f1fdb289-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8101-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: c099011e07999db917e797fb5d89c31f075a562556ab99be8ab0accbf2a94db7-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-armv7-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: afe1bde2b0d6deb0320b9460fffe5d9427e302df85aec866b9c1458777d52b28-    8.10.2:-      viTags:-      - old-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-src.tar.xz-        dlSubdir: ghc-8.10.2-        dlHash: 9c573a4621a78723950617c223559bdc325ea6a3409264aedf68f05510b0880b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8102-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 4dbe3b479e76767bfeb4cbb7a4db8b761c4720266193483ca370b2ace3f10f7c-            '( >= 10 && < 11 )': &ghc-8102-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 94513d82c38c848f489113a75fa5ef4e5a8e3ecfaa74ca90e2620d2193ff1632-            unknown_versioning: *ghc-8102-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8102-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 8c675da83e9b3c2f64ebb407b5f9ebb2c1f21aa5d701020614fdce644a542e3b-            '( >= 16 && < 19 )': *ghc-8102-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8102-64-fedora-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8102-64-fedora-            unknown_versioning: *ghc-8102-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8102-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: fd2dccd6f496915a5f962dab24e7eeb8bee49bcc38e74b17eac76159083538fa-            unknown_versioning: *ghc-8102-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8102-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.2-x86_64-unknown-linux-              dlHash: 14d09a508f2a3a11875c140be8e6c5f6982ac5cd448f089ca10b7adc955fec76-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8102-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8102-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: edb772b00c0d7f18bb56ad27765162ee09c508104d40f82128c9114a02f6cfc2-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-unknown-freebsd.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9e5957f3497f4b58ecd3699568d9caaa11a47a6d7e902032c261e450fa0f6686-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: dcae4c173b9896e07ff048de5509aa0a4537233150e06e5ce8848303dfadc176-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8102-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9dae2a86ad43d08f72c783542c944d1556b075aa20a8063efae5034ea88e7c2f-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.2/ghc-8.10.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 5cf24189077e6e2dce2aa16367ad8a53f603e751a15010dfb23d067206e55593-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: bb9c97826b1f4d7a8ef8bce0616b612f1ded10480ef10fcf7fb4e6d10a6681c8-    8.10.3:-      viTags:-      - old-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.3/docs/html/users_guide/8.10.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-src.tar.xz-        dlSubdir: ghc-8.10.3-        dlHash: ccdc8319549028a708d7163e2967382677b1a5a379ff94d948195b5cf46eb931-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8103-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 95e4aadea30701fe5ab84d15f757926d843ded7115e11c4cd827809ca830718d-            '( >= 10 && < 11 )': &ghc-8103-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: c8f3d9f0e61a89eaba1d3ad8fb2eced1af0e81576811261b887993bee12538ac-            unknown_versioning: *ghc-8103-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8103-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f8739b12008712d6b6a9ffc6c39f9d05af77ef3bcb932c9aff20fa0893c8c159-            '( >= 16 && < 19 )': *ghc-8103-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8103-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8103-64-fedora-            unknown_versioning: *ghc-8103-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8103-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f562ca61979ff1d21e34e69e59028cb742a8eff8d84e46bbd3a750f2ac7d8ed1-            unknown_versioning: *ghc-8103-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8103-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.3-x86_64-unknown-linux-              dlHash: 8506c478ebbfb5441c3c36c07c36fc8532cacb2b3e13c6733bd44cb17b3ce96c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8103-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8103-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 2635f35d76e44e69afdfd37cae89d211975cc20f71f784363b72003e59f22015-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 749007e995104db05cf6e3ad5bc36238cab8afac8055145661e5730e8f8af040-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 927a6c699533a115cd49772ef2c753d9af2c13bf9f0b2d3bd13645cc6a144ee3-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8103-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f0addd2a16b705f58ff9e8702c3ddf3e2d6bd0d3555707b5b5095e51bafee7b1-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.3/ghc-8.10.3-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 309201cdefd2d13b8b3fd09c26c6137048c490d219a0a9c7407c3ce1d011f60c-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: a531432d505a1fe886cdc8639d168eb1c92d76464c1270713e01ce81891bbadb-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: b823b58cae36fbac0741680ca7605180fa4cf4c6ae439123d282184b94d32fd6-    8.10.4:-      viTags:-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.4/docs/html/users_guide/8.10.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-src.tar.xz-        dlSubdir: ghc-8.10.4-        dlHash: 52af871b4e08550257d720c2944ac85727d0b948407cef1bebfe7508c224910e-      viPostRemove: *ghc-post-remove-      viPreCompile: &ghc-pre-compile "If you have autoconf >= 2.70 you'll need this patch https://gitlab.haskell.org/ghc/ghc/-/snippets/2040 (see the --patchdir option)"-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8104-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 5694200a5c38f22c142baf850b1d2f3784211d2ec9302e11693259a1ae8e38b7-            '( >= 10 && < 11 )': &ghc-8104-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 816365565e9927459b035515a7db6a0db62f9796f327389b6f8a0035d12fbda0-            unknown_versioning: *ghc-8104-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8104-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: a189eed900a8717d6d7906bafd10b9a9a9688ad942d1c75e19df480376dff9ea-            '( >= 16 && < 19 )': *ghc-8104-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8104-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8104-64-fedora-            unknown_versioning: *ghc-8104-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8104-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: fb8a91f0cf06594172aff46c2f6f7486179e1c3760855c79fbdd3012598cc2cd-            unknown_versioning: *ghc-8104-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8104-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.4-x86_64-unknown-linux-              dlHash: 74c2c07537832708502716ef4ec40019f8e552ddda13c8eadf8f7c4b03a79359-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8104-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8104-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 725ecf6543e63b81a3581fb8c97afd21a08ae11bc0fa4f8ee25d45f0362ef6d5-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: c9776a2ccf9629b03e967206a507fcdcb6c5189800a626e9461ababf6733c357-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: e9175a276504c3390a5e0084954e6997d56078737dbe7158049518892cf6bfb2-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8104-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 0022c5b9ac22825bb7b4745af3d92cef0ba1ecd01fab3ef387ddbd47146569ad-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.4/ghc-8.10.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 9161a98bed763692101854d83af69c1316030cfe5ee6f6acde283d04ef139735-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 249da6310be799a5eefe0579b6dae1701eb984afb980fe08309d19cf704038ed-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 0d18ef83593272f6196a41cc3abdc48dfe5e14372db75d71ea19fe35320c4e81-    8.10.5:-      viTags:-      - Recommended-      - base-4.14.2.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.5/docs/html/users_guide/8.10.5-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-src.tar.xz-        dlSubdir: ghc-8.10.5-        dlHash: f10941f16e4fbd98580ab5241b9271bb0851304560c4d5ca127e3b0e20e3076f-      viPostRemove: *ghc-post-remove-      viPreCompile: *ghc-pre-compile-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8105-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 15e71325c3bdfe3804be0f84c2fc5c913d811322d19b0f4d4cff20f29cdd804d-            '( >= 10 && < 11 )': &ghc-8105-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: bc623c20ca4c5c18e952071ba14aa0cfc5c94d34219bffaa615f7b491f376787-            unknown_versioning: *ghc-8105-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8105-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 73528ebfb219b50aa9042ee51a0a2bd764828d605f058404989d0b645752d210-            '( >= 16 && < 19 )': *ghc-8105-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8105-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8105-64-fedora-            unknown_versioning: *ghc-8105-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8105-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 4cdb259ec74d1408dab45dab20dcedc21690f39921c2ea4546486fb3e81f4fbd-            unknown_versioning: *ghc-8105-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8105-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.5-x86_64-unknown-linux-              dlHash: f4d7cd9ed12a4b8592219c9a63a86db1a256a09fa9e6ed755a60afc57dc782e2-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8105-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8105-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: ef0f47eff8962d58fa447123636cf8ef31c1e5b2d0ae90177d3388861ddf4a22-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.5/ghc-8.10.5-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 11a0b490bfb2f57b5bc87c69c197542eafce1b4991cc22f625179a6c6e567834-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 4443d989df4f2680f681a4d8b8db310ce9582d21743984016b0eb0163b0c9998-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8105-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 0ccb5b2c1222374874795c35410754dd650f649b774872abbea2a4ef21ac9c9d-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.5/ghc-8.10.5-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 0e91abe61607f9375d4e252ee9c261e4856df396f60641bb1b880ab8a3a83ea7-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 9a085cd8a7f8e0ace21ac67dbf659a56fcf41564b48817ba42cd8a1aac7f0ddc-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-aarch64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 03684e70ff03d041b9a4e0f84c177953a241ab8ec7a028c72fa21ac67e66cb09-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 56170d1a8450e18b7eb9c23c94723da352815b27ec250bb23742a62f16dcab6c-    9.0.1:-      viTags:-      - Latest-      - base-4.15.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-src.tar.xz-        dlSubdir: ghc-9.0.1-        dlHash: a5230314e4065f9fcc371dfe519748fd85c825b279abf72a24e09b83578a35f9-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-901-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 4ca6252492f59fe589029fadca4b6f922d6a9f0ff39d19a2bd9886fde4e183d5-            '( >= 10 && < 11 )': &ghc-901-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: c253e7eb62cc9da6524c491c85ec8d3727c2ca6035a8653388e636aaa30a2a0f-            unknown_versioning: *ghc-901-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-901-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 1fb8e27eeec51b4cdbfd1b3c16727adc5f77388d3e925e63799d8232647f316d-            '( >= 16 && < 19 )': *ghc-901-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-901-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-901-64-fedora-            unknown_versioning: *ghc-901-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-901-64-centos-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: a23750950b6995a66ba59afe82bbc505bd3479d6ab59cf66f45bc6c056e4d87b-            unknown_versioning: *ghc-901-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-901-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-9.0.1-x86_64-unknown-linux-              dlHash: 7c1a0154c9e361b75be6cb0305533bb8a3b963c54e8092ffd1759e5710805a5c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-901-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-901-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 122d60509147d0117779d275f0215bde2ff63a64cda9d88f149432d0cae71b22-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 9dbc06d8832cae5c9f86dd7b2db729b3748a47beb4fd4b1e62bb66119817c3c1-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-9.0.1-x86_64-unknown-mingw32-              dlHash: 4f4ab118df01cbc7e7c510096deca0cb25025339a97730de0466416296202493-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-901-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 880e37cea8328401bcfecfe4bb56eb85195f30135b140140b3f24094264f8ba5-            unknown_versioning: *ghc-901-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-901-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-901-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-901-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/9.0.1/ghc-9.0.1-i386-alpine-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: ebfeb3b91e6f2bb5a49fd3376746f7fd1b89e62e9838bf5b1530a8756ff1e6aa-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: fac7a0bdfc83c05df94024a2d67b8f00a9cd2733b9cb41fb8ad76be399014906-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-armv7-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 6f404f9b88468407b3a9ec5800bcc2d01dd453ef3d63414853b4fbbd4d8df496-    9.2.0.20210422:-      viTags:-      - Prerelease-      - base-4.16.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/9.2.1-alpha2/docs/html/users_guide/index.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-src.tar.xz-        dlSubdir: ghc-9.2.0.20210422-        dlHash: 69be189e6e7f8d51a9078ac8f177176bc5bff54edc8352974c50c1f0e110df27-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-921-alpha2-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 7262f3a230cd6945c588882e03941301877a9eb12e58c5975ad264596c2e12f2-            '( >= 10 && < 11 )': &ghc-921-alpha2-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 6d36cd08576bdee7473fee66b4b8ceb72011983a7d5aa3ec587403815a73e37b-            unknown_versioning: *ghc-921-alpha2-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-921-alpha2-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 95624192ff0982690bc9093632d6351fdc6f72e6df380b392449229c39a0354b-            '( >= 16 && < 19 )': *ghc-921-alpha2-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-921-alpha2-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-921-alpha2-64-fedora-            unknown_versioning: *ghc-921-alpha2-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-921-alpha2-64-centos-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: dee4f158f2d59bfe97ec3f5773b6b31aa911f9b128a5e56eeefa2dccc754d295-            unknown_versioning: *ghc-921-alpha2-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-921-alpha2-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-9.2.0.20210422-x86_64-unknown-linux-              dlHash: f61ae72925325ca7b316e40121e8d6bad94794016d3fa59bcbc8dbe116a7f13c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-921-alpha2-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-921-alpha2-64-fedora-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-unknown-freebsd.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 195728e02398ea6154fe713b7782a0cae856eb0d9d90f5d09cd0cca610c985e2-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: 8884c059f2b76e4c4309ff6bd7a7dde37663f751fd26220e9a2bcabb4d69a401-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-9.2.0.20210422-x86_64-unknown-mingw32-              dlHash: 33f173b754d18f26bb27f52bb77a92fd22a48675daa2b43a1879bf01dddd7e8f-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-921-alpha2-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-i386-deb9-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: a378ec3fd31a9fa2a7134e98159e189362fe969f04031515616e9cc3182c861a-            unknown_versioning: *ghc-921-alpha2-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-921-alpha2-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-921-alpha2-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-921-alpha2-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: fd2f4d0f6122f752aca396fe1a13e7d14d037dc45806bb0404a031eeeeb1994c-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-alpha2/ghc-9.2.0.20210422-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210422-              dlHash: dab7d7785d6ccafb130526b666669fc974ba5c90fc9aaf2024f9c65bcbd097d3-  Cabal:-    2.4.1.0:-      viTags:-        - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-alpine-linux-musl.tar.xz-              dlSubdir:-              dlHash: 720bef015f834a03deb7180be2952a44e7c2e6c8429137570404c3de4f46b984-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-unknown-linux.tar.xz-              dlSubdir:-              dlHash: 6136c189ffccaa39916f9cb5788f757166444a2d0c473b987856a79ecbf0c714-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-apple-darwin-sierra.tar.xz-              dlSubdir:-              dlHash: 56361cf4b0d920fe23174751fea1fb82a8e1ce522bd9706a3fbe47a72e458c9c-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-portbld-freebsd.tar.xz-              dlSubdir:-              dlHash: 33b7d37ea0688c93436eac9ec139d9967687875aa1fa13f2bb73bf05a9a59a1d-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-unknown-mingw32.zip-              dlSubdir:-              dlHash: 95f233efedb1ebf0e6db015fa2f55c1ed00b9938d207ec63c066f706fb4b6373-        A_32:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-i386-unknown-linux.tar.xz-              dlSubdir:-              dlHash: b2da736cc27609442b10f77fc1a687aba603a7a33045b722dbf1a0066fade198-    3.0.0.0:-      viTags:-        - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-alpine-linux-musl.tar.xz-              dlHash: 2b7ea63601e11a0db2941b96e6a7036a48efc2a1ab3849d7dfce08b45f5daa58-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-unknown-linux.tar.xz-              dlHash: ee911ba67a70756eedeac662955b896d7e89432a99372aa45d2c6e71fa95a5e4-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-apple-darwin17.7.0.tar.xz-              dlHash: d4857e068560515e4cbb0e8ca124c370e07892f2a28804d87152834e5fe2b845-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-portbld-freebsd.tar.xz-              dlHash: 2240842ab2ae7b955feb8b526aba1c7991248c803383107adf39990441294d2a-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-unknown-mingw32.zip-              dlSubdir:-              dlHash: 8889963ebef5e829d86329fdb59832c107efd117cf7862a605f2fe2d2360de1f-        A_32:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-i386-alpine-linux-musl.tar.xz-              dlHash: ac018f061993d40bf146517e32629bcab274b4d9f5527b1c37a665ebdf3f5ac6-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-i386-unknown-linux.tar.xz-              dlHash: 6898ccd6e6dc0872999c06daaf61d546164e12f60a1880d09852c9f0c59c5cf6-    3.2.0.0:-      viTags:-      - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz-              dlHash: 8bae37a1ce8b5f10440b5591fed734935e1411c1b765258325ffe268e2cc2042-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz-              dlHash: 32d1f7cf1065c37cb0ef99a66adb405f409b9763f14c0926f5424ae408c738ac-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-apple-darwin17.7.0.tar.xz-              dlHash: 9197c17d2ece0f934f5b33e323cfcaf486e4681952687bc3d249488ce3cbe0e9-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-portbld-freebsd.tar.xz-              dlHash: f1e35151cca91541b0fb4bdb3ed18f3c348038eab751845ad19c11307d66c273-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-mingw32.zip-              dlSubdir:-              dlHash: 17778c3ade0482bc37f451eec326f8fce8fbe1f12b1d6aacb2e2b9e34786c054-        A_32:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz-              dlHash: c2a419dedf730987b60daf8d24e871d115a09ea608d740d7c61b36e3f5b9c830-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-unknown-linux.tar.xz-              dlHash: 2b3ac28549916de5f3379241797eaf60e84b6c001f2abbe73d9fadbbaf768e93-    3.4.0.0:-      viTags:-      - Recommended-      - Latest-      viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.0.0.md-      viArch:-        A_64:-          Linux_Ubuntu:-            unknown_versioning: &cabal-3400-ubuntu-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-ubuntu-16.04.tar.xz-              dlHash: cf28f9ffd763476aa2b1730d85cbf155d366fac541f78ee3951e8cb2d6de63e6-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-alpine-3.11.6-static-noofd.tar.xz-              dlHash: c74073fe79110946182e522fcadc8dcabf07c87583e8cf7801ed4e0c327241f6-          Linux_UnknownLinux:-            unknown_versioning: *cabal-3400-ubuntu-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-darwin-sierra.tar.xz-              dlHash: cb10be9a53e856aa2d852fd88fb6944f138783ffe0ea84d93c9a69244e34ea91-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz-              dlHash: a1e2db664ec00e42a1e071a4181f6476f6e0bad321f1ddc0cf27831119f4c6d4-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-x86_64-windows.zip-              dlSubdir:-              dlHash: c898496b199a3ebf41fb399c12a0cb55a470a67e758cee4b08b9f304c4be6979-        A_32:-          Linux_UnknownLinux:-            unknown_versioning: &cabal-3400-32-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-i386-unknown-linux.tar.xz-              dlHash: cc62a471e9e68a6a9933e54f75bf0cffae67a1d2220df1152ab887c38eb6bc8a-          Linux_Alpine:-            unknown_versioning: *cabal-3400-32-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-aarch64-ubuntu-18.04.tar.xz-              dlHash: 04d378347896dfdc3510b192b97489815cfa5d692f46e2758da0f789e682b8f0-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-aarch64-darwin-big-sur.tar.xz-              dlHash: 46d8f96446a6bcdb81b3a9fbc14b137dc4f08436b46fe6446c5fba7bcb9b3d75--        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-armv7-linux-bootstrapped.tar.xz-              dlHash: 16c0d1eaba24bed14f3e152970179a45d9f9bb5cc839b2c210ad06eb7d4826ed-  GHCup:-    0.1.16.2:-      viTags:-      - Recommended-      - Latest-      viChangeLog: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md-      viSourceDL:-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &ghcup-64-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2-              dlHash: d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-apple-darwin-ghcup-0.1.16.2-              dlHash: a334620ccce7705211b2142882dde544003e6030af4b91a44c890542a90f879f-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-portbld-freebsd-ghcup-0.1.16.2-              dlHash: 92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-mingw64-ghcup-0.1.16.2.exe-              dlHash: ec78872a84213968c490675127b9aad2285980b747c68207801ae824b98c7948-          Linux_Alpine:-            unknown_versioning: *ghcup-64-        A_32:-          Linux_UnknownLinux:-            unknown_versioning: &ghcup-32-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2-              dlHash: 01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38-          Linux_Alpine:-            unknown_versioning: *ghcup-32-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-linux-ghcup-0.1.16.2-              dlHash: 0bdbfc724e0ddabb266156eea83c2c4e19c6ed79dd06db0c29b7d69df8d9fa8c-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-apple-darwin-ghcup-0.1.16.2-              dlHash: 8854e991a2ba1350abda59dab96ce50ae7729d1ce99399d67929ef31e90f1da5-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/armv7-linux-ghcup-0.1.16.2-              dlHash: 983ebb5b584bfa600704216a63f94b40d36a02573834e90ef1042c8472d9ad57-  HLS:-    1.1.0:-      viTags: []-      viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#110-      viPostInstall: &hls-post-install |-        This is just the server part of your LSP configuration. Consult the README on how to-        configure HLS, your project and your LSP client in your editor:-          https://github.com/haskell/haskell-language-server/blob/master/README.md-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &hls-110-64-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.1.0/haskell-language-server-Linux-1.1.0.tar.gz-              dlHash: 0f0dadb0e9a08273658f565fd71c636801959b954be2737f38f2a1aac522208f-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.1.0/haskell-language-server-macOS-1.1.0.tar.gz-              dlHash: 4e89b192e2f49637d772e974f2c17b16da067ecd5912575eaa542551de97681b-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/hls/1.1.0/haskell-language-server-Windows-1.1.0.tar.gz-              dlHash: a1d3f451e64a041aa527a25da29e4716a2de6ae347cef4ef9312fc7611e168cc-          Linux_Alpine:-            unknown_versioning: *hls-110-64-    1.2.0:-      viTags: []-      viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#120-      viPostInstall: *hls-post-install-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &hls-120-64-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.2.0/haskell-language-server-Linux-1.2.0.tar.gz-              dlHash: d29ee22f7bd706da2e2a1bd7640e25bb9736adeafb34eef47d29ea143b0fa927-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.2.0/haskell-language-server-macOS-1.2.0.tar.gz-              dlHash: a310d8a3e9c5c4218210f750682c74a0f82ad0f59995adde0dbe775115b1e357-          Windows:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.2.0/haskell-language-server-Windows-1.2.0.tar.gz-              dlHash: 961c6ff12c9a9c7a4609f239c5ac70d7d16753cdb8c10348a6a51feeaa0b6aea-          Linux_Alpine:-            unknown_versioning: *hls-120-64-    1.3.0:-      viTags:-        - Recommended-        - Latest-      viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#130-      viPostInstall: *hls-post-install-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &hls-130-64-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.3.0/haskell-language-server-Linux-1.3.0.tar.gz-              dlHash: d29ee22f7bd706da2e2a1bd7640e25bb9736adeafb34eef47d29ea143b0fa927-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.3.0/haskell-language-server-macOS-1.3.0.tar.gz-              dlHash: a310d8a3e9c5c4218210f750682c74a0f82ad0f59995adde0dbe775115b1e357-          Windows:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.3.0/haskell-language-server-Windows-1.3.0.tar.gz-              dlHash: 961c6ff12c9a9c7a4609f239c5ac70d7d16753cdb8c10348a6a51feeaa0b6aea-          Linux_Alpine:-            unknown_versioning: *hls-130-64-  Stack:-    2.5.1:-      viTags:-        - old-      viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v251-      viPostInstall: &stack-post |-        Stack manages GHC versions internally by default. In order to make it use ghcup installed-        GHC versions you can run the following commands:-          stack config set install-ghc false --global-          stack config set system-ghc  true  --global-        -        On windows, you may find the following config options useful too:-          skip-msys, extra-path, extra-include-dirs, extra-lib-dirs--        Also check out: https://docs.haskellstack.org/en/stable/yaml_configuration--        !!! Additionally, you should upgrade stack only through ghcup and not use 'stack upgrade' !!!-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &stack-251-64-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.5.1/stack-2.5.1-linux-x86_64.tar.gz-              dlHash: c83b6c93d6541c0bce2175085a04062020f4160a86116e20f3b343b562f2d1e8-              dlSubdir:-                RegexDir: "stack-.*"-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.5.1/stack-2.5.1-osx-x86_64.tar.gz-              dlHash: f4aedfa8fbe371f77286ee97ec5c3c553842e7ae15b2952a8b8442dccba04bf0-              dlSubdir:-                RegexDir: "stack-.*"-          Windows:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.5.1/stack-2.5.1-windows-x86_64.tar.gz-              dlHash: 57150b422cfd42249f5e629d0eb678df6d95dabe486ced57e8298d300b940d41-              dlSubdir:-                RegexDir: "stack-.*"-          Linux_Alpine:-            unknown_versioning: *stack-251-64-    2.7.1:-      viTags:-        - old-      viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v271-      viPostInstall: *stack-post-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &stack-271-64-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.1/stack-2.7.1-linux-x86_64.tar.gz-              dlHash: 2bc47749ee4be5eccb52a2d4a6a00b0f3b28b92517742b40c675836d7db2777d-              dlSubdir:-                RegexDir: "stack-.*"-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.1/stack-2.7.1-osx-x86_64.tar.gz-              dlHash: 4248c6fbc87e8a2c06f39e867eb5ef28eae0d99470137cb415356c631c0dcbf2-              dlSubdir:-                RegexDir: "stack-.*"-          Windows:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.1/stack-2.7.1-windows-x86_64.tar.gz-              dlHash: 8452f5fc9235620a84863f2f68e5f681c72d0d181cde50482f178a966ee0ceb9-              dlSubdir:-                RegexDir: "stack-.*"-          Linux_Alpine:-            unknown_versioning: *stack-271-64-    2.7.3:-      viTags:-        - Latest-        - Recommended-      viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v273-      viPostInstall: *stack-post-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &stack-273-64-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.3/stack-2.7.3-linux-x86_64.tar.gz-              dlHash: a6c090555fa1c64aa61c29aa4449765a51d79e870cf759cde192937cd614e72b-              dlSubdir:-                RegexDir: "stack-.*"-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.3/stack-2.7.3-osx-x86_64.tar.gz-              dlHash: 42e5000a00af44a7b26852421ac63ce75f510ad1a97742cb131107088ee9fe30-              dlSubdir:-                RegexDir: "stack-.*"-          Windows:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.3/stack-2.7.3-windows-x86_64.tar.gz-              dlHash: e6ba12e0ecabf0df2567d88a0d247da238bc114bcccfca4195f5e86472c9330c-              dlSubdir:-                RegexDir: "stack-.*"-          Linux_Alpine:-            unknown_versioning: *stack-273-64-
− data/metadata/ghcup-0.0.6.yaml
@@ -1,2534 +0,0 @@-----globalTools:-  ShimGen:-    dlUri: https://downloads.haskell.org/~ghcup/shimgen/shim-2.exe-    dlHash: 7c55e201f71860c5babea886007c8fa44b861abf50d1c07e5677eb0bda387a70-toolRequirements:-  GHC:-    unknown_version:-      Linux_Debian:-        unknown_versioning:-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi6-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-        ">= 11":-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi7-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-      Linux_Ubuntu:-        unknown_versioning:-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi6-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-        "( >= 20.04 && < 20.10 )":-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi7-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-        "( >= 20.10 )":-          distroPKGs:-          - build-essential-          - curl-          - libffi-dev-          - libffi8ubuntu1-          - libgmp-dev-          - libgmp10-          - libncurses-dev-          - libncurses5-          - libtinfo5-          notes: ''-      Linux_CentOS:-        '( >= 7 && < 8 )':-          distroPKGs:-          - gcc-          - gmp-          - gmp-devel-          - make-          - ncurses-          - xz-          - perl-          notes: ''-        unknown_versioning:-          distroPKGs:-          - gcc-          - gmp-          - gmp-devel-          - make-          - ncurses-          - ncurses-compat-libs-          - xz-          - perl-          notes: ''-      Linux_Fedora:-        unknown_versioning:-          distroPKGs:-          - gcc-          - gmp-          - gmp-devel-          - make-          - ncurses-          - ncurses-compat-libs-          - xz-          - perl-          notes: ''-      Linux_Alpine:-        unknown_versioning:-          distroPKGs:-          - binutils-gold-          - curl-          - gcc-          - gmp-dev-          - libc-dev-          - libffi-dev-          - make-          - musl-dev-          - ncurses-dev-          - perl-          - tar-          - xz-          notes: ''-      Linux_UnknownLinux:-        unknown_versioning:-          distroPKGs: []-          notes: 'You need the following packages: curl g++ gcc gmp make ncurses realpath-            xz-utils. Consult your distro documentation on the exact names of those-            packages.'-      Darwin:-        unknown_versioning:-          distroPKGs: []-          notes: On OS X, in the course of running ghcup you will be given a dialog-            box to install the command line tools. Accept and the requirements will-            be installed for you. You will then need to run the command again.-      FreeBSD:-        unknown_versioning:-          distroPKGs:-          - curl-          - gcc-          - gmp-          - gmake-          - ncurses-          - perl5-          - libffi-          - libiconv-          notes: ''-      Windows:-        unknown_versioning:-          distroPKGs: []-          notes: On Windows, msys2 should already have been set up during the installation,-            so most users should just press ENTER.-            If you are installing manually, make sure to have a working mingw64 toolchain and-            shell.-ghcupDownloads:-  GHC:-    7.10.3:-      viTags:-      - base-4.8.2.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/7.10.3/docs/html/users_guide/release-7-10-1.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-src.tar.xz-        dlSubdir: ghc-7.10.3-        dlHash: cf90cedce1c28fd0e2b9e72fe8a938756668d18ea1fcc884a19f698658ac4fef-      viPostRemove: &ghc-post-remove "After removing GHC you might also want to clean up your cabal store at: ~/.cabal/store/ghc-<ghcver>"-      viPostInstall: "GHC-7.10.3 may give linking errors on most modern distros. You may have to pass '--ghc-option=-optc-no-pie --ghc-option=-optl-no-pie' to cabal build/install. Also see https://gitlab.haskell.org/ghc/ghc/-/issues/18763"-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning: &ghc-7103-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-deb8-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 01cfbad8dff1e8b34a5fdca8caeaf843b56e36af919e29cd68870d2588563db5-          Linux_Ubuntu:-            unknown_versioning: *ghc-7103-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-7103-64-deb8-          Linux_CentOS:-            unknown_versioning: &ghc-7103-64-centos-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-centos67-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: a8957f7a2fd81720c5d3dc403571d77d31115ff5f42edb2917c36d8e714220d4-          Linux_AmazonLinux:-            unknown_versioning: *ghc-7103-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-7103-64-deb8-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-apple-darwin.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 80893e367e8318105f7db2064adf202e3d96b1f014e792b73e92f2cacf0b757a-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-portbld-freebsd.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 2aa396edd2bb651f4bc7eef7a396913ea24923de5aafdc76df6295333e487e48-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-7.10.3-              dlHash: 63e1689fc9e2809ae4d7f422b4dc810052e54c9aa2afd08746e234180e711dde-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-7103-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-deb8-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: d2ccf072457fb100503f6f5430a1e3589ca525a97424263d036b0550bc277f0c-          Linux_Ubuntu:-            unknown_versioning: *ghc-7103-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-7103-32-deb8-          Linux_CentOS:-            unknown_versioning: &ghc-7103-32-centos-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-centos67-linux.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: c50aa20275e8d1ba9148f380eb7598bc148143281fc17c9acd38ea7b325852bd-          Linux_AmazonLinux:-            unknown_versioning: *ghc-7103-32-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-7103-32-deb8-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/7.10.3/ghc-7.10.3-i386-portbld-freebsd.tar.bz2-              dlSubdir: ghc-7.10.3-              dlHash: 3dde05577c6f94dcb0ba201ebd53ab88553bbc9a3aa8e72237162ed7a9d588a3-    8.0.2:-      viTags:-      - base-4.9.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.0.2/docs/html/users_guide/8.0.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-src.tar.xz-        dlSubdir: ghc-8.0.2-        dlHash: 11625453e1d0686b3fa6739988f70ecac836cadc30b9f0c8b49ef9091d6118b1-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb7-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b2f5c304b57ac5840a0d2ef763a3c6fa858c70840f749cfad12ed227da973c0a-            unknown_versioning: &ghc-802-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 5ee68290db00ca0b79d57bc3a5bdce470de9ce9da0b098a7ce6c504605856c8f-          Linux_Ubuntu:-            unknown_versioning: *ghc-802-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-802-64-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.0.2/ghc-8.0.2-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 517783b660a27ebf95b2568d47292fd633d5f9a4de4c80ad1ccf05e1b9d7313f-          Linux_UnknownLinux:-            unknown_versioning: *ghc-802-64-deb8-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: ff50a2df9f002f33b9f09717ebf5ec5a47906b9b65cc57b1f9849f8b2e06788d-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b36a20e5cae24d70bbb6116ae486f21811e9384f15d3892d260f02fba3e3bb8c-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 8c42c1f4af995205b9816a1e97e2752fe758544c1f5fe77958cdcd319c9c2d53-        A_32:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb7-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 07ead3a49f8c9df4b429e7a2f96f6f31bcab8d3ff8277a9aed0201d13ddad448-            unknown_versioning: &ghc-802-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: 818621342a2161b8afcc995a0765816bb40aefbfa1db2c8a7d59c04d8b18228a-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.0.2/ghc-8.0.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.0.2-              dlHash: b4cd12a1048b2fff2f23c9eec0dd3a1174d54d017f8d79ec79af4534118e6881-          Linux_UnknownLinux:-            unknown_versioning: *ghc-802-32-deb8-    8.2.2:-      viTags:-      - base-4.10.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.2.2/docs/html/users_guide/8.2.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-src.tar.xz-        dlSubdir: ghc-8.2.2-        dlHash: bb8ec3634aa132d09faa270bbd604b82dfa61f04855655af6f9d14a9eedc05fc-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 7 && < 8 )': &ghc-822-64-deb7-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb7-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd7afbca54edf9890da9f432c63366556246c85c1198e40c99df5af01c555834-            unknown_versioning: &ghc-822-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 48e205c62b9dc1ccf6739a4bc15a71e56dde2f891a9d786a1b115f0286111b2a-          Linux_Ubuntu:-            unknown_versioning: *ghc-822-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-822-64-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.2.2/ghc-8.2.2-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: adcf3a320a3c402aba07ae9586990dc3c0b550e96aeffb1b9e194313d3ba716d-          Linux_UnknownLinux:-            unknown_versioning: *ghc-822-64-deb7-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: f90fcf62f7e0936a6dfc3601cf663729bfe9bbf85097d2d75f0a16f8c2e95c27-          FreeBSD:-            '( >= 10 && < 11 )':-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld10_3-freebsd.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 9e99aaeaec4b2c6d660d80246c0d4dbd41fda88f1eb7a908b29dc8fa8d663949-            '( >= 11 && < 12 )': &ghc-822-64-fbsd11-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-portbld11-freebsd.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd351c704b92b9af23994024df07de8ca7090ea7675d5c8b14b2be857a46d804-            unknown_versioning: *ghc-822-64-fbsd11-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 1e033df2092aa546e763e7be63167720b32df64f76673ea1ce7ae7c9f564b223-        A_32:-          Linux_Debian:-            '( >= 7 && < 8 )':-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb7-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: cd18766b1a9b74fc6c90003a719ecab158f281f9a755d8b1bd3fd764ba6947b5-            unknown_versioning: &ghc-822-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 9e67d72d76482e0ba91c718e727b00386a1a12a32ed719714976dc56ca8c8223-          Linux_Ubuntu:-            unknown_versioning: *ghc-822-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-822-32-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.2.2/ghc-8.2.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.2.2-              dlHash: 467534c32552cfd318753112dbc70af003693aad4b0081f2a07e61f5b5ea2c22-          Linux_UnknownLinux:-            unknown_versioning: *ghc-822-32-deb8-    8.4.1:-      viTags:-      - base-4.11.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.1/docs/html/users_guide/8.4.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-src.tar.xz-        dlSubdir: ghc-8.4.1-        dlHash: 39ae2f25192408f355693e5a3c8b6ff613ddb7c4da998fdf26210143a61839d2-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: 427c77a934b30c3f1de992c38c072afb4323fe6fb30dbac919ca8cb6ae98fbd9-          Linux_Ubuntu:-            unknown_versioning: &ghc-841-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: 89328a013e64b9b56825a9071fea5616ddd623d37fd41e8fb913dfebc609e7ea-          Linux_Mint:-            unknown_versioning: *ghc-841-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-841-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-841-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: d774e39f3a0105843efd06709b214ee332c30203e6c5902dd6ed45e36285f9b7-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-portbld11-freebsd.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: e748daec098445c6190090fe32bb2817a1140553be5acd2188e1af05ad24e5aa-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: 328b013fc651d34e075019107e58bb6c8a578f0155cf3ad4557e6f2661b03131-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-841-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.1/ghc-8.4.1-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.1-              dlHash: c56c589c76c7ddcb77cdbef885a811761e669d3e76868b723d5be56dedcd4f69-          Linux_Ubuntu:-            unknown_versioning: *ghc-841-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-841-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-841-32-deb8-    8.4.2:-      viTags:-      - base-4.11.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.2/docs/html/users_guide/8.4.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-src.tar.xz-        dlSubdir: ghc-8.4.2-        dlHash: 01cc32f24a06bf3b2428351b6d7fec791e82d042426d29ad9e5a245b35f0047b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 246f66eb56f4ad0f1c7755502cfc8f9972f2d067dede17e151f6f479c1f76fbd-            unknown_versioning: &ghc-842-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 3f4f5bbd2cdab4e7015ada9196d8d9b3a1ad274293cef011f85c46854596cb57-          Linux_Ubuntu:-            unknown_versioning: &ghc-842-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: d057b5c833596dbe4ae5d0dc2994f6cc5d0f4c2a21ea1d7900821d165fd4e846-            '( >= 16 && < 19 )': *ghc-842-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-842-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-842-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-842-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 87469222042b9ac23f9db216a8d4e5107297bdbbb99df71eb4d9e7208455def2-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: e9ed417fdf94c2ff2c6e344ed16f332bf6b591511f6442c0d9ea94854882b66c-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 797634aa9812fc6b2084a24ddb4fde44fa83a2f59daea82e0af81ca3dd323fde-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-842-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.2-              dlHash: 2d849c30b4c1eac25dc74333501920921e22fa483153f404993808bbda93df05-          Linux_Ubuntu:-            unknown_versioning: *ghc-842-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-842-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-842-32-deb8-    8.4.3:-      viTags:-      - base-4.11.1.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.3/docs/html/users_guide/8.4.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-src.tar.xz-        dlSubdir: ghc-8.4.3-        dlHash: ae47afda985830de8811243255aa3744dfb9207cb980af74393298b2b62160d6-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 30a402c6d4754a6c020e0547f19ae3ac42e907e35349aa932d347f73e421a8e2-            unknown_versioning: &ghc-843-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 2e4f53afb872ad9c640f31aea283b3ff4c5028b65808a1920739900aef7d15c9-          Linux_Ubuntu:-            unknown_versioning: &ghc-843-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 269e7a4d3f336491b88409a020998122b30a3a729af78d33be86d3b3f8000c3e-            '( >= 16 && < 19 )': *ghc-843-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-843-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-843-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-843-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: af0b455f6c46b9802b4b48dad996619cfa27cc6e2bf2ce5532387b4a8c00aa64-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: 8a83cfbf9ae84de0443c39c93b931693bdf2a6d4bf163ffb41855f80f4bf883e-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-843-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.3-              dlHash: f5763983a26dedd88b65a0b17267359a3981b83a642569b26334423f684f8b8c-          Linux_Ubuntu:-            unknown_versioning: *ghc-843-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-843-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-843-32-deb8-    8.4.4:-      viTags:-      - base-4.11.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.4.4/docs/html/users_guide/8.4.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-src.tar.xz-        dlSubdir: ghc-8.4.4-        dlHash: 11117735a58e507c481c09f3f39ae5a314e9fbf49fc3109528f99ea7959004b2-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 4c2a8857f76b7f3e34ecba0b51015d5cb8b767fe5377a7ec477abde10705ab1a-            unknown_versioning: &ghc-844-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 47c80a32d8f02838a2401414c94ba260d1fe82b7d090479994522242c767cc83-          Linux_Ubuntu:-            unknown_versioning: &ghc-844-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 8ab2befddc14d1434d0aad0c5d3c7e0c2b78ff84caa3429fa62527bfc6b86095-            '( >= 16 && < 19 )': *ghc-844-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-844-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-844-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-844-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-centos70-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 83a96650f5a92b1e4d7651d256d6438624342d40e780e68125033435a54cd674-          Linux_RedHat:-            unknown_versioning: *ghc-844-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.4.4/ghc-8.4.4-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 336affff8314d3dc5e85d9c09015ae2ba8a7658b459c8c8ae77ecaa551a56ae7-          Linux_AmazonLinux:-            unknown_versioning: *ghc-844-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-844-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 28dc89ebd231335337c656f4c5ead2ae2a1acc166aafe74a14f084393c5ef03a-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-portbld-freebsd11.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 44fbd142d1c355d6110595c59c760e2c73866ff9259ec85ebf814edb244d1940-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: da29dbb0f1199611c7d5bb7b0dd6a7426ca98f67dfd6da1526b033cd3830dc05-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-844-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 678bafaabea6af70ba71ccf0210bb437f9f5591ec28ac1cbbbd5f7aa6894e450-          Linux_Ubuntu:-            unknown_versioning: *ghc-844-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-844-32-deb8-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.4.4/ghc-8.4.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.4.4-              dlHash: 892888d388ef5c9cadf5cfba1146d62237c25b9b066fb62fee940b2b285fd308-          Linux_UnknownLinux:-            unknown_versioning: *ghc-844-32-deb8-    8.6.1:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.1/docs/html/users_guide/8.6.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-src.tar.xz-        dlSubdir: ghc-8.6.1-        dlHash: 2c25c26d1e5c47c7cbb2a1d8e6456524033e7a71409184dd3125e3fc5a3c7036-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 6d8784401b7dd80c90fa17306ec0539920e3987399a2c7ef247989e53197dc42-            unknown_versioning: &ghc-861-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 97d44f303868d74e4d13a2e99c82ffce3d25fd54c704675e5a1939e0d824dbf0-          Linux_Ubuntu:-            unknown_versioning: &ghc-861-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: da903fbcf11ee6c977a8b7dac3f04dbc098d674def587880b6624b8f32588beb-            '( >= 16 && < 19 )': *ghc-861-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-861-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-861-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-861-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 9692cdfd202b0e039ea0c3dde5dbf653736c836ca1df46504b179b572100808c-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 51403b054a3a649039ac988e1d1112561f96750bfced63df864091a3fab36f08-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 7316d9cb5e486460476754f872c7bac30ee2082e42f46da4342f872d10b88099-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-861-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.1-              dlHash: 83573af96e3dec8f67c1a844512f92cbf7d51ae7ceca53d948fc2a3300abd05c-          Linux_Ubuntu:-            unknown_versioning: *ghc-861-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-861-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-861-32-deb8-    8.6.2:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.2/docs/html/users_guide/8.6.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-src.tar.xz-        dlSubdir: ghc-8.6.2-        dlHash: caaa819d21280ecde90a4773143dee188711e9ff175a27cfbaee56eb851d76d5-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            unknown_versioning: &ghc-862-64-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 13f96e8b83bb5bb60f955786ff9085744c24927a33be8a17773f84c7c248533a-          Linux_Ubuntu:-            unknown_versioning: &ghc-862-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 702aa5dfa1639c37953ceb7571a5057d9fb0562aecb197b277953a037d78047d-            '( >= 16 && < 19 )': *ghc-862-64-deb8-          Linux_Mint:-            unknown_versioning: *ghc-862-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-862-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-862-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 8ec46a25872226dd7e5cf7271e3f3450c05f32144b96e6b9cb44cc4079db50dc-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: 9a398e133cab09ff2610834337355d4e26c35e0665403fb9ff8db79315f74d3d-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-862-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.2/ghc-8.6.2-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.2-              dlHash: a288026d9ef22f7ac387edab6b29ef7dcb3b28945c8ea532a15c1fa35d4733ed-          Linux_Ubuntu:-            unknown_versioning: *ghc-862-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-862-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-862-32-deb8-    8.6.3:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.3/docs/html/users_guide/8.6.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-src.tar.xz-        dlSubdir: ghc-8.6.3-        dlHash: 9f9e37b7971935d88ba80426c36af14b1e0b3ec1d9c860f44a4391771bc07f23-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 291ca565374f4d51cc311488581f3279d3167a064fabfd4a6722fe2bd4532fd5-            unknown_versioning: &ghc-863-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: e7954c8ed9b422a09c6ab737e4a0865a2725d034ba0e272bd5c70db910797f99-          Linux_Ubuntu:-            unknown_versioning: &ghc-863-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 52ae92f4e8bb2ac0b7847287ea3da37081f5f7bf8bbb7c78ac35fde537d1a89f-            '( >= 16 && < 19 )': *ghc-863-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-863-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-863-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-863-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 355bd85c69933c31bbe99b4269ce719acfd0aad0b45e359ac39b9bb13996acc6-          Linux_RedHat:-            unknown_versioning: *ghc-863-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-863-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-863-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 79d069a1a7d74cfdd7ac2a2711c45d3ddc6265b988a0cefa342714b24f997fc1-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: bc2419fa180f8a7808c49775987866435995df9bdd9ce08bcd38352d63ba6031-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: 2fec383904e5fa79413e9afd328faf9bc700006c8c3d4bcdd8d4f2ccf0f7fa2a-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-863-32-deb8-              dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-i386-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.3-              dlHash: b57070ba8c70b1333a3e47ce124baf791be39c20a592954772532fd6dd51882f-          Linux_Ubuntu:-            unknown_versioning: *ghc-863-32-deb8-          Linux_Mint:-            unknown_versioning: *ghc-863-32-deb8-          Linux_UnknownLinux:-            unknown_versioning: *ghc-863-32-deb8-    8.6.4:-      viTags:-      - base-4.12.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.4/docs/html/users_guide/8.6.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-src.tar.xz-        dlSubdir: ghc-8.6.4-        dlHash: 5b5d07e4463203a433c3ed3df461ba6cce11b6d2b9b264db31f3429075d0303a-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: 34ef5fc8ddf2fc32a027180bea5b1c8a81ea840c87faace2977a572188d4b42d-            unknown_versioning: &ghc-864-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: ef74222ef3c01c3fc5b926f67e8b4ef612fe8efa40ac937317cff9b0eed8d863-          Linux_Ubuntu:-            unknown_versioning: &ghc-864-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: e0b1ada7a679d6c35f9d7a1192ed35fde054f3650bb0bd2570d103729ad3b846-            '( >= 16 && < 19 )': *ghc-864-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-864-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-864-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-864-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: cccb58f142fe41b601d73690809f6089f7715b6a50a09aa3d0104176ab4db09e-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: e8d021b7a90772fc559862079da20538498d991956d7557b468ca19ddda22a08-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-864-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.4-              dlHash: 5e2ce88f4d13d23ac37e278e0c7b51c801008931359b9fa8a631d804d2da552c-          Linux_Ubuntu:-            unknown_versioning: *ghc-864-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-864-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-864-32-deb9-    8.6.5:-      viTags:-      - base-4.12.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.6.5/docs/html/users_guide/8.6.5-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-src.tar.xz-        dlSubdir: ghc-8.6.5-        dlHash: 4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107-            unknown_versioning: &ghc-865-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: bc75f5601a9f41d58b2ba161b9e28fad52143a7229060f1e084168d9b2e914df-          Linux_Ubuntu:-            unknown_versioning: &ghc-865-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: cf78b53eaf336083e7a05f4a3000afbae4abe5bbc77ef80cc40e09d04ac5b4a1-            '( >= 16 && < 19 )': *ghc-865-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-865-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-865-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-865-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 80ab566f4411299f9e5922d60749ca80f989d697db19e03ed875619d699f0edf-          Linux_RedHat:-            unknown_versioning: *ghc-865-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: b9d3ed7f7aa24ef2d58bb579252289caa0b8877adee3685e3af2fb73d440afdc-          Linux_AmazonLinux:-            unknown_versioning: *ghc-865-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-865-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: dfc1bdb1d303a87a8552aa17f5b080e61351f2823c2b99071ec23d0837422169-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 83a3059a630d40a98e26cb5b520354e12094a96e36ba2f5ab002dad94cf2fb37-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 457024c6ea43bdce340af428d86319931f267089398b859b00efdfe2fd4ce93f-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-865-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc-          Linux_Ubuntu:-            unknown_versioning: *ghc-865-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-865-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.6.5/ghc-8.6.5-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 3737837550d9b177acfe150e3a3cd4545427ded020487c2ed5194d7b8f116349-          Linux_UnknownLinux:-            unknown_versioning: *ghc-865-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-aarch64-ubuntu18.04-linux.tar.xz-              dlSubdir: ghc-8.6.5-              dlHash: 1852589037e4b2805ab517bc430e25a3125c4a118a1674ffefbb443394a0c786-    8.8.1:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.1/docs/html/users_guide/8.8.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-src.tar.xz-        dlSubdir: ghc-8.8.1-        dlHash: 908a83d9b814da74585de9d39687189e6260ec3848131f9d9236cab8a123721a-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: fd96eb851971fbc3332bf2fa7821732cfa8b37e5a076a69f6a06f83f0ea7ccc5-            unknown_versioning: &ghc-881-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 620fd560535b63cac5f8c97354ccddf93fa940cca78e2d19f6f98b7e67c6a723-          Linux_Ubuntu:-            unknown_versioning: &ghc-881-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 851a78df620bc056c34b252c97040d5755e294993fa8afa5429708b5229204d6-            '( >= 16 && < 19 )': *ghc-881-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-881-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-881-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-881-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 6cdd34e4dbaeb801e805811f91cf43a2d5f64b22f884718ffbd3542a2f4dd14f-          Linux_RedHat:-            unknown_versioning: *ghc-881-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-881-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-881-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 38c8917b47c31bedf58c9305dfca3abe198d8d35570366f0773c4e2948bd8abe-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 29e56e6af38017a5a76b2b6995a39d3988fa58131e4b55b62dd317ba7186ac9b-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-881-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.1-              dlHash: 3d3bb75aff2dd79ec87ace10483368681fbc328ff00ebf15edad33420f00f7f5-          Linux_Ubuntu:-            unknown_versioning: *ghc-881-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-881-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-881-32-deb9-    8.8.2:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.2/docs/html/users_guide/8.8.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-src.tar.xz-        dlSubdir: ghc-8.8.2-        dlHash: 01cea54d90686b97bcc9960b108beaffccd4336dee930dcf9beaf52b1f370a0b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: fbe69652eba75dadb758d00292247d17fb018c29cac5acd79843e56311256c9f-            unknown_versioning: &ghc-882-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: 7b2d66c2d5d8c15750da5833d3018634a5eb792a5662282e3abfeb112c2a1cc3-          Linux_Ubuntu:-            unknown_versioning: &ghc-882-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: dbe2db717b33460f790e155e487d2a31c9b21a9d245f0c9490ad65844c3ea21f-            '( >= 16 && < 19 )': *ghc-882-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-882-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-882-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-882-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: f065a017d7a38f235f186ffe32d8261a4fd39c7e945d5cde85c0984c2569db99-          Linux_RedHat:-            unknown_versioning: *ghc-882-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-882-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-882-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: 25c5c1a70036abf3f22b2b19c10d26adfdb08e8f8574f89d4b2042de5947f990-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: e25d9b16ee62cafc7387af2cd021eea676a99cd2c32b83533b016162c63065d9-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-882-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.2-              dlHash: ad1c628082c32635a436905a7ff83eaa4246347d869be5ef6b33c3bf85e8f00c-          Linux_Ubuntu:-            unknown_versioning: *ghc-882-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-882-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-882-32-deb9-    8.8.3:-      viTags:-      - base-4.13.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.3/docs/html/users_guide/8.8.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-src.tar.xz-        dlSubdir: ghc-8.8.3-        dlHash: e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0-            unknown_versioning: &ghc-883-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 42fde2ef5a143e1e6b47ae8875162ea2d4d54b06f0f7fa32ee4f0eb86f2be7ad-          Linux_Ubuntu:-            unknown_versioning: &ghc-883-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 45ee1de3bfc98cbcc4886b65fc7651ade2d3820aa85eac2dbe9bc7bf91e7c818-            '( >= 16 && < 19 )': *ghc-883-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-883-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-883-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-883-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 4b2b5313f7c12b81e54efcb26705fa9e4ad5b98f2b58bfc76fb0c9ba1d55eb1f-          Linux_RedHat:-            unknown_versioning: *ghc-883-64-centos-          Linux_AmazonLinux:-            unknown_versioning: *ghc-883-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-883-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 7016de90dd226b06fc79d0759c5d4c83c2ab01d8c678905442c28bd948dbb782-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.3/ghc-8.8.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 569719075b4d14b3875a899df522090ae31e6fe085e6dffe518e875b09a2f0be-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: e22586762af0911c06e8140f1792e3ca381a3a482a20d67b9054883038b3a422-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-883-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae-          Linux_Ubuntu:-            unknown_versioning: *ghc-883-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-883-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-883-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.3-              dlHash: 2a6821d0e7326cfa7670851702924bbab3b092415ba41247c37419158327eed9-    8.8.4:-      viTags:-      - base-4.13.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.8.4/docs/html/users_guide/8.8.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-src.tar.xz-        dlSubdir: ghc-8.8.4-        dlHash: f0505e38b2235ff9f1090b51f44d6c8efd371068e5a6bb42a2a6d8b67b5ffc2d-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 8 && < 9 )':-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb8-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 51a36892f1264744195274187298d13ac62bce2da86d4ddf76d8054ab90f2feb-            unknown_versioning: &ghc-884-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 4862559d221153caf978f4bf2c15a82c114d1e1f43b298b2ecff2ac94b586d20-          Linux_Ubuntu:-            unknown_versioning: &ghc-884-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: f32e37f8aa03e74bad533ae02f62dc27a4521e78199576af490888ba34b515db-            '( >= 16 && < 19 )': *ghc-884-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-884-64-fedora-          Linux_Fedora:-            unknown_versioning: *ghc-884-64-fedora-          Linux_CentOS:-            unknown_versioning: &ghc-884-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: a12aa4b1fd3c64240a8a6d15196d33e1c0e0d55b51ff78c387242126d0ef7910-          Linux_RedHat:-            unknown_versioning: *ghc-884-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-x86_64-alpine-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 90c6a1661de7f20c7d169cd6270125035b3332063e45103ce028df0beecf434e-          Linux_AmazonLinux:-            unknown_versioning: *ghc-884-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-884-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: e80a789e9d8cfb41dd87f3284b75432427c4461c1731d220d04ead8733ccdb5e-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 8cebe5ccf454e82acd1ff52ca57590d1ab0f3f44a981b46257ec12158c8c447e-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: d185055d2c8dc3bfe5b88afd59d6877eb1e722b672d1c9649f18296e148ed71f-        A_32:-          Linux_Debian:-            unknown_versioning: &ghc-884-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 43dd954910c9027694312cef0aabc7774d102d0422b7172802cfb72f7d5da3a0-          Linux_Ubuntu:-            unknown_versioning: *ghc-884-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-884-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.8.4/ghc-8.8.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.8.4-              dlHash: 1d18e89ee031197e55c48683e78a7ffc67601ac5fd9f73aac555eb064b3859a2-          Linux_UnknownLinux:-            unknown_versioning: *ghc-884-32-deb9-    8.10.1:-      viTags:-      - base-4.14.0.0-      - old-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/8.10.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-src.tar.xz-        dlSubdir: ghc-8.10.1-        dlHash: 4e3b07f83a266b3198310f19f71e371ebce97c769b14f0d688f4cbf2a2a1edf5-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8101-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: d1cf7886f27af070f3b7dbe1975a78b43ef2d32b86362cbe953e79464fe70761-            '( >= 10 && < 11 )': &ghc-8101-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: c1e31d798b013699b3c0de4fda27fb4cda47f572df0e75e3bd598a3012060615-            unknown_versioning: *ghc-8101-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8101-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 3c4cd72b4806045779739e8f5d1658e30e57123d88c2c8966422cdbcae448470-            '( >= 16 && < 19 )': *ghc-8101-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8101-64-fedora-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8101-64-fedora-            unknown_versioning: *ghc-8101-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8101-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 0618b94854edc6be5302489df905e627820b71be6b66c950f5e3088fe92df0a1-            unknown_versioning: *ghc-8101-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8101-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.1-x86_64-unknown-linux-              dlHash: cb13b645d103e2fba2eb8dfcc4e5f2fbd9550c00c4df42f342b4210436dcb8a8-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8101-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8101-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 65b1ca361093de4804a7e40b3e68178e1ef720f84f743641ec8d95e56a45b3a8-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.1/ghc-8.10.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: e8646ec9b60fd40aa9505ee055f22f04601290ab7a1342c2cf37c34de9d3f142-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 38a3166ea50cccd5bae7e1680eae3aae2b4ae31b61f82a1d8168fb821f43bd67-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8101-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 8b53eef2c827b5f634d72920a93c0c9dd66ea288691a2bfe28def45d3c686ee2-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8101-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.1/ghc-8.10.1-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: 7360cc6b29e9b4ab08f6ea5bc3bcca6f5c216933e81ef1620dcdd700f1fdb289-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8101-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: c099011e07999db917e797fb5d89c31f075a562556ab99be8ab0accbf2a94db7-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-armv7-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.1-              dlHash: afe1bde2b0d6deb0320b9460fffe5d9427e302df85aec866b9c1458777d52b28-    8.10.2:-      viTags:-      - old-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.2/docs/html/users_guide/8.10.2-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-src.tar.xz-        dlSubdir: ghc-8.10.2-        dlHash: 9c573a4621a78723950617c223559bdc325ea6a3409264aedf68f05510b0880b-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8102-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 4dbe3b479e76767bfeb4cbb7a4db8b761c4720266193483ca370b2ace3f10f7c-            '( >= 10 && < 11 )': &ghc-8102-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 94513d82c38c848f489113a75fa5ef4e5a8e3ecfaa74ca90e2620d2193ff1632-            unknown_versioning: *ghc-8102-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8102-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 8c675da83e9b3c2f64ebb407b5f9ebb2c1f21aa5d701020614fdce644a542e3b-            '( >= 16 && < 19 )': *ghc-8102-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8102-64-fedora-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8102-64-fedora-            unknown_versioning: *ghc-8102-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8102-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: fd2dccd6f496915a5f962dab24e7eeb8bee49bcc38e74b17eac76159083538fa-            unknown_versioning: *ghc-8102-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8102-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.2-x86_64-unknown-linux-              dlHash: 14d09a508f2a3a11875c140be8e6c5f6982ac5cd448f089ca10b7adc955fec76-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8102-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8102-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: edb772b00c0d7f18bb56ad27765162ee09c508104d40f82128c9114a02f6cfc2-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-unknown-freebsd.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9e5957f3497f4b58ecd3699568d9caaa11a47a6d7e902032c261e450fa0f6686-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: dcae4c173b9896e07ff048de5509aa0a4537233150e06e5ce8848303dfadc176-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8102-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9dae2a86ad43d08f72c783542c944d1556b075aa20a8063efae5034ea88e7c2f-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8102-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.2/ghc-8.10.2-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 9ee1cf1e85e9536088b3c9e80e975074e525ea378cd4eb156071bbc4b7b38327-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: 5cf24189077e6e2dce2aa16367ad8a53f603e751a15010dfb23d067206e55593-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.2-              dlHash: bb9c97826b1f4d7a8ef8bce0616b612f1ded10480ef10fcf7fb4e6d10a6681c8-    8.10.3:-      viTags:-      - old-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.3/docs/html/users_guide/8.10.3-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-src.tar.xz-        dlSubdir: ghc-8.10.3-        dlHash: ccdc8319549028a708d7163e2967382677b1a5a379ff94d948195b5cf46eb931-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8103-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 95e4aadea30701fe5ab84d15f757926d843ded7115e11c4cd827809ca830718d-            '( >= 10 && < 11 )': &ghc-8103-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: c8f3d9f0e61a89eaba1d3ad8fb2eced1af0e81576811261b887993bee12538ac-            unknown_versioning: *ghc-8103-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8103-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f8739b12008712d6b6a9ffc6c39f9d05af77ef3bcb932c9aff20fa0893c8c159-            '( >= 16 && < 19 )': *ghc-8103-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8103-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8103-64-fedora-            unknown_versioning: *ghc-8103-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8103-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f562ca61979ff1d21e34e69e59028cb742a8eff8d84e46bbd3a750f2ac7d8ed1-            unknown_versioning: *ghc-8103-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8103-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.3-x86_64-unknown-linux-              dlHash: 8506c478ebbfb5441c3c36c07c36fc8532cacb2b3e13c6733bd44cb17b3ce96c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8103-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8103-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 2635f35d76e44e69afdfd37cae89d211975cc20f71f784363b72003e59f22015-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 749007e995104db05cf6e3ad5bc36238cab8afac8055145661e5730e8f8af040-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 927a6c699533a115cd49772ef2c753d9af2c13bf9f0b2d3bd13645cc6a144ee3-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8103-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: f0addd2a16b705f58ff9e8702c3ddf3e2d6bd0d3555707b5b5095e51bafee7b1-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8103-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.3/ghc-8.10.3-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: 309201cdefd2d13b8b3fd09c26c6137048c490d219a0a9c7407c3ce1d011f60c-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: a531432d505a1fe886cdc8639d168eb1c92d76464c1270713e01ce81891bbadb-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.3-              dlHash: b823b58cae36fbac0741680ca7605180fa4cf4c6ae439123d282184b94d32fd6-    8.10.4:-      viTags:-      - old-      - base-4.14.1.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.4/docs/html/users_guide/8.10.4-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-src.tar.xz-        dlSubdir: ghc-8.10.4-        dlHash: 52af871b4e08550257d720c2944ac85727d0b948407cef1bebfe7508c224910e-      viPostRemove: *ghc-post-remove-      viPreCompile: &ghc-pre-compile "If you have autoconf >= 2.70 you'll need this patch https://gitlab.haskell.org/ghc/ghc/-/snippets/2040 (see the --patchdir option)"-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8104-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 5694200a5c38f22c142baf850b1d2f3784211d2ec9302e11693259a1ae8e38b7-            '( >= 10 && < 11 )': &ghc-8104-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 816365565e9927459b035515a7db6a0db62f9796f327389b6f8a0035d12fbda0-            unknown_versioning: *ghc-8104-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8104-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: a189eed900a8717d6d7906bafd10b9a9a9688ad942d1c75e19df480376dff9ea-            '( >= 16 && < 19 )': *ghc-8104-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8104-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8104-64-fedora-            unknown_versioning: *ghc-8104-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8104-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: fb8a91f0cf06594172aff46c2f6f7486179e1c3760855c79fbdd3012598cc2cd-            unknown_versioning: *ghc-8104-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8104-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.4-x86_64-unknown-linux-              dlHash: 74c2c07537832708502716ef4ec40019f8e552ddda13c8eadf8f7c4b03a79359-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8104-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8104-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 725ecf6543e63b81a3581fb8c97afd21a08ae11bc0fa4f8ee25d45f0362ef6d5-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: c9776a2ccf9629b03e967206a507fcdcb6c5189800a626e9461ababf6733c357-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: e9175a276504c3390a5e0084954e6997d56078737dbe7158049518892cf6bfb2-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8104-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 0022c5b9ac22825bb7b4745af3d92cef0ba1ecd01fab3ef387ddbd47146569ad-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8104-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/8.10.4/ghc-8.10.4-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 9161a98bed763692101854d83af69c1316030cfe5ee6f6acde283d04ef139735-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 249da6310be799a5eefe0579b6dae1701eb984afb980fe08309d19cf704038ed-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.4-              dlHash: 0d18ef83593272f6196a41cc3abdc48dfe5e14372db75d71ea19fe35320c4e81-    8.10.5:-      viTags:-      - old-      - base-4.14.2.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.5/docs/html/users_guide/8.10.5-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-src.tar.xz-        dlSubdir: ghc-8.10.5-        dlHash: f10941f16e4fbd98580ab5241b9271bb0851304560c4d5ca127e3b0e20e3076f-      viPostRemove: *ghc-post-remove-      viPreCompile: *ghc-pre-compile-      viPostInstall: &ghc-8105-post-install |-        GHC 8.10.5 and 8.10.6 have several issues on Darwin, e.g.-          https://gitlab.haskell.org/ghc/ghc/-/issues/19950-        Consider upgrading to 8.10.7 via-          ghcup install ghc --set 8.10.7-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8105-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 15e71325c3bdfe3804be0f84c2fc5c913d811322d19b0f4d4cff20f29cdd804d-            '( >= 10 && < 11 )': &ghc-8105-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: bc623c20ca4c5c18e952071ba14aa0cfc5c94d34219bffaa615f7b491f376787-            unknown_versioning: *ghc-8105-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8105-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 73528ebfb219b50aa9042ee51a0a2bd764828d605f058404989d0b645752d210-            '( >= 16 && < 19 )': *ghc-8105-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8105-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8105-64-fedora-            unknown_versioning: *ghc-8105-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8105-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 4cdb259ec74d1408dab45dab20dcedc21690f39921c2ea4546486fb3e81f4fbd-            unknown_versioning: *ghc-8105-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8105-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.5-x86_64-unknown-linux-              dlHash: f4d7cd9ed12a4b8592219c9a63a86db1a256a09fa9e6ed755a60afc57dc782e2-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8105-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8105-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: ef0f47eff8962d58fa447123636cf8ef31c1e5b2d0ae90177d3388861ddf4a22-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.5/ghc-8.10.5-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 11a0b490bfb2f57b5bc87c69c197542eafce1b4991cc22f625179a6c6e567834-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 4443d989df4f2680f681a4d8b8db310ce9582d21743984016b0eb0163b0c9998-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8105-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 0ccb5b2c1222374874795c35410754dd650f649b774872abbea2a4ef21ac9c9d-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8105-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.5/ghc-8.10.5-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 0e91abe61607f9375d4e252ee9c261e4856df396f60641bb1b880ab8a3a83ea7-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 9a085cd8a7f8e0ace21ac67dbf659a56fcf41564b48817ba42cd8a1aac7f0ddc-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-aarch64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 03684e70ff03d041b9a4e0f84c177953a241ab8ec7a028c72fa21ac67e66cb09-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.5-              dlHash: 56170d1a8450e18b7eb9c23c94723da352815b27ec250bb23742a62f16dcab6c-    8.10.6:-      viTags:-      - old-      - base-4.14.3.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.6/docs/html/users_guide/8.10.6-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-src.tar.xz-        dlSubdir: ghc-8.10.6-        dlHash: 43afba72a533408b42c1492bd047b5e37e5f7204e41a5cedd3182cc841610ce9-      viPostRemove: *ghc-post-remove-      viPreCompile: *ghc-pre-compile-      viPostInstall: *ghc-8105-post-install-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8106-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: c14b631437ebc867f1fe1648579bc1dbe1a9b9ad31d7c801c3c77639523a83ae-            '( >= 10 && < 11 )': &ghc-8106-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: 95be925e310b8c419e1099d620a727a1ca2d8c918f33eb905a8221d7eb16467b-            unknown_versioning: *ghc-8106-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8106-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: c452b84565cfc07c476694dd0fd389ed6d2b83619490b3c238f6bded438eddb1-            '( >= 16 && < 19 )': *ghc-8106-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8106-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8106-64-fedora-            unknown_versioning: *ghc-8106-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8106-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: 71bb69b7185cbb44a941f5214b241a55e158f69b103f10214a05de7845f77e45-            unknown_versioning: *ghc-8106-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8106-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.6-x86_64-unknown-linux-              dlHash: f6c86909f665c9a01b9703450a500a5206a951ee43e6a0a227eebe1da0987d6a-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8106-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8106-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: 32ab41da04d56cae2297d6e45caa88180f99cec0e33f2756cfbc48c0c60b5721-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-unknown-freebsd.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: 268b9c0c55c70b0ebd7848c0e6c7f6c743b2f3082fb19f17b753c2536c354241-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: ff62f4a245c2427a1a5e6f5f1c2ad7521f69f9274a27ffb17c76f252ca573f3b-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8106-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: 31f934423d7971b462eaa53cf87b15265d11420578c5a8a04304348cb90f1c13-            unknown_versioning: *ghc-8106-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8106-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8106-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8106-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.6/ghc-8.10.6-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: f29974a67d76b64d0eb58603d60424c684a871e3107cebe45cf5b9b85f83b4c0-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: 1ea27a7776e3cbd0881ecf2eb03eb5176e2cef177a12271a1c33417f4fa48a59-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-aarch64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: 9e43fc3a39d2f2762262c63868653984e381e29eff6386f7325aad501b9190ad-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.6-              dlHash: d54de8306aa8b33afabf2ac94408e1f82c8e982a2a3346168c071b92bdb464c0-    8.10.7:-      viTags:-      - Recommended-      - base-4.14.3.0-      viChangeLog: https://downloads.haskell.org/~ghc/8.10.7/docs/html/users_guide/8.10.7-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-src.tar.xz-        dlSubdir: ghc-8.10.7-        dlHash: e3eef6229ce9908dfe1ea41436befb0455fefb1932559e860ad4c606b0d03c9d-      viPostRemove: *ghc-post-remove-      viPreCompile: *ghc-pre-compile-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8107-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: ced9870ea351af64fb48274b81a664cdb6a9266775f1598a79cbb6fdd5770a23-            '( >= 10 && < 11 )': &ghc-8107-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: a13719bca87a0d3ac0c7d4157a4e60887009a7f1a8dbe95c4759ec413e086d30-            unknown_versioning: *ghc-8107-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-8107-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: b6ed67049a23054a8042e65c9976d5e196e5ee4e83b29b2ee35c8a22ab1e5b73-            '( >= 16 && < 19 )': *ghc-8107-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8107-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-8107-64-fedora-            unknown_versioning: *ghc-8107-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-8107-64-centos-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: 262a50bfb5b7c8770e0d99f54d42e5876968da7bf93e2e4d6cfe397891a36d05-            unknown_versioning: *ghc-8107-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-8107-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-8.10.7-x86_64-unknown-linux-              dlHash: 16903df850ef73d5246f2ff169cbf57ecab76c2ac5acfa9928934282cfad575c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-8107-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8107-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: 287db0f9c338c9f53123bfa8731b0996803ee50f6ee847fe388092e5e5132047-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-unknown-freebsd.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: 45e35d24bc700e1093efa39189e9fa01498069881aed2fa8779c011941a80da1-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: b6515b0ea3f7a6e34d92e7fcd0c1fef50d6030fe8f46883000185289a4b8ea9a-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-8107-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-i386-deb9-linux.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: fbfc1ef194f4e7a4c0da8c11cc69b17458a4b928b609b3622c97acc4acd5c5ab-            unknown_versioning: *ghc-8107-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-8107-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-8107-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-8107-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.7/ghc-8.10.7-i386-alpine-linux.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: 3110e6ee029d9d8062158b54b06f71a21b0fac87bf0e085f9be5bbcf73f99e6d-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: fad2417f9b295233bf8ade79c0e6140896359e87be46cb61cd1d35863d9d0e55-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-aarch64-apple-darwin.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: dc469fc3c35fd2a33a5a575ffce87f13de7b98c2d349a41002e200a56d9bba1c-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-8.10.7-              dlHash: 3949c31bdf7d3b4afb765ea8246bca4ca9707c5d988d9961a244f0da100956a2-    9.0.1:-      viTags:-      - Latest-      - base-4.15.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-src.tar.xz-        dlSubdir: ghc-9.0.1-        dlHash: a5230314e4065f9fcc371dfe519748fd85c825b279abf72a24e09b83578a35f9-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-901-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 4ca6252492f59fe589029fadca4b6f922d6a9f0ff39d19a2bd9886fde4e183d5-            '( >= 10 && < 11 )': &ghc-901-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: c253e7eb62cc9da6524c491c85ec8d3727c2ca6035a8653388e636aaa30a2a0f-            unknown_versioning: *ghc-901-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-901-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 1fb8e27eeec51b4cdbfd1b3c16727adc5f77388d3e925e63799d8232647f316d-            '( >= 16 && < 19 )': *ghc-901-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-901-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-901-64-fedora-            unknown_versioning: *ghc-901-64-fedora-          Linux_CentOS:-            '( >= 7 && < 8 )': &ghc-901-64-centos-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-centos7-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: a23750950b6995a66ba59afe82bbc505bd3479d6ab59cf66f45bc6c056e4d87b-            unknown_versioning: *ghc-901-64-centos-          Linux_RedHat:-            unknown_versioning: *ghc-901-64-centos-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-alpine3.10-linux-integer-simple.tar.xz-              dlSubdir: ghc-9.0.1-x86_64-unknown-linux-              dlHash: 7c1a0154c9e361b75be6cb0305533bb8a3b963c54e8092ffd1759e5710805a5c-          Linux_AmazonLinux:-            unknown_versioning: *ghc-901-64-centos-          Linux_UnknownLinux:-            unknown_versioning: *ghc-901-64-fedora-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 122d60509147d0117779d275f0215bde2ff63a64cda9d88f149432d0cae71b22-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-portbld-freebsd.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 9dbc06d8832cae5c9f86dd7b2db729b3748a47beb4fd4b1e62bb66119817c3c1-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-9.0.1-x86_64-unknown-mingw32-              dlHash: 4f4ab118df01cbc7e7c510096deca0cb25025339a97730de0466416296202493-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-901-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-i386-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 880e37cea8328401bcfecfe4bb56eb85195f30135b140140b3f24094264f8ba5-            unknown_versioning: *ghc-901-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-901-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-901-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-901-32-deb9-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/9.0.1/ghc-9.0.1-i386-alpine-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: ebfeb3b91e6f2bb5a49fd3376746f7fd1b89e62e9838bf5b1530a8756ff1e6aa-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-aarch64-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: fac7a0bdfc83c05df94024a2d67b8f00a9cd2733b9cb41fb8ad76be399014906-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-armv7-deb9-linux.tar.xz-              dlSubdir: ghc-9.0.1-              dlHash: 6f404f9b88468407b3a9ec5800bcc2d01dd453ef3d63414853b4fbbd4d8df496-    9.2.0.20210821:-      viTags:-      - Prerelease-      - base-4.16.0.0-      viChangeLog: https://downloads.haskell.org/~ghc/9.2.1-rc1/docs/html/users_guide/index.html-      viSourceDL:-        dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-src.tar.xz-        dlSubdir: ghc-9.2.0.20210821-        dlHash: 7c4772d9a22a1774a13f67a570719c339f744b1607fbddfdf4702bb1fbbd57e0-      viPostRemove: *ghc-post-remove-      viArch:-        A_64:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-921-rc1-64-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-deb9-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210821-              dlHash: 4a561cb97f0cbe51de676d4e29968d49beb415a0190514d8f1a8f8ae0405f313-            '( >= 10 && < 11 )': &ghc-921-rc1-64-deb10-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210821-              dlHash: 28112271739b490635e7fd6ed1936949c3a3c41d4a7d95833bb47f420dd1a815-            unknown_versioning: *ghc-921-rc1-64-deb9-          Linux_Ubuntu:-            unknown_versioning: &ghc-921-rc1-64-fedora-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-fedora27-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210821-              dlHash: 3c4d3874e4438baf54bdf8bcbdca60a7416ca88c32da1823127dd3159bbede62-            '( >= 16 && < 19 )': *ghc-921-rc1-64-deb9-          Linux_Mint:-            unknown_versioning: *ghc-921-rc1-64-deb10-          Linux_Fedora:-            '( >= 27 && < 28 )': *ghc-921-rc1-64-fedora-            unknown_versioning: *ghc-921-rc1-64-fedora-          Linux_UnknownLinux:-            unknown_versioning: *ghc-921-rc1-64-fedora-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-unknown-freebsd.tar.xz-              dlSubdir: ghc-9.2.0.20210821-              dlHash: ed31d0ca40588fcbed4f03e83e49abea7babb37e528bb36ab3c1fb6191c4c422-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-apple-darwin.tar.xz-              dlSubdir: ghc-9.2.0.20210821-x86_64-apple-darwin-              dlHash: 38199ca35117cc1f4372a4b6692596f8639688c286d2a0d09bc7336826c05e10-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-unknown-mingw32.tar.xz-              dlSubdir: ghc-9.2.0.20210821-x86_64-unknown-mingw32-              dlHash: 3926620698cb43b9e9a5381b4c3b7b84d22c67b3509a546581aa17afecd6a846-        A_32:-          Linux_Debian:-            '( >= 9 && < 10 )': &ghc-921-rc1-32-deb9-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-i386-deb9-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210821-              dlHash: 30b25b787a787473988a785606b01099ce077f99d5c08940c0024537433f5084-            unknown_versioning: *ghc-921-rc1-32-deb9-          Linux_Ubuntu:-            unknown_versioning: *ghc-921-rc1-32-deb9-          Linux_Mint:-            unknown_versioning: *ghc-921-rc1-32-deb9-          Linux_UnknownLinux:-            unknown_versioning: *ghc-921-rc1-32-deb9-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-aarch64-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210821-              dlHash: 289fc361be4a3199ac15449e30405a9831454811dd454e81eab73bfcdd2c4088-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-aarch64-apple-darwin.tar.xz-              dlSubdir: ghc-9.2.0.20210821-aarch64-apple-darwin-              dlHash: 0d763fb619cfa32fa37c113c446e13bebc2215db5946e5fa8fd8400559cf4152-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-armv7-deb10-linux.tar.xz-              dlSubdir: ghc-9.2.0.20210821-              dlHash: 9ff0be63191181700a1f51c453056c2dab16e11ecb7a4b1dd72e4b7aad5999a6-  Cabal:-    2.4.1.0:-      viTags:-        - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-alpine-linux-musl.tar.xz-              dlSubdir:-              dlHash: 720bef015f834a03deb7180be2952a44e7c2e6c8429137570404c3de4f46b984-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-unknown-linux.tar.xz-              dlSubdir:-              dlHash: 6136c189ffccaa39916f9cb5788f757166444a2d0c473b987856a79ecbf0c714-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-apple-darwin-sierra.tar.xz-              dlSubdir:-              dlHash: 56361cf4b0d920fe23174751fea1fb82a8e1ce522bd9706a3fbe47a72e458c9c-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-portbld-freebsd.tar.xz-              dlSubdir:-              dlHash: 33b7d37ea0688c93436eac9ec139d9967687875aa1fa13f2bb73bf05a9a59a1d-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-x86_64-unknown-mingw32.zip-              dlSubdir:-              dlHash: 95f233efedb1ebf0e6db015fa2f55c1ed00b9938d207ec63c066f706fb4b6373-        A_32:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-2.4.1.0/cabal-install-2.4.1.0-i386-unknown-linux.tar.xz-              dlSubdir:-              dlHash: b2da736cc27609442b10f77fc1a687aba603a7a33045b722dbf1a0066fade198-    3.0.0.0:-      viTags:-        - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-alpine-linux-musl.tar.xz-              dlHash: 2b7ea63601e11a0db2941b96e6a7036a48efc2a1ab3849d7dfce08b45f5daa58-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-unknown-linux.tar.xz-              dlHash: ee911ba67a70756eedeac662955b896d7e89432a99372aa45d2c6e71fa95a5e4-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-apple-darwin17.7.0.tar.xz-              dlHash: d4857e068560515e4cbb0e8ca124c370e07892f2a28804d87152834e5fe2b845-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-portbld-freebsd.tar.xz-              dlHash: 2240842ab2ae7b955feb8b526aba1c7991248c803383107adf39990441294d2a-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-x86_64-unknown-mingw32.zip-              dlSubdir:-              dlHash: 8889963ebef5e829d86329fdb59832c107efd117cf7862a605f2fe2d2360de1f-        A_32:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-i386-alpine-linux-musl.tar.xz-              dlHash: ac018f061993d40bf146517e32629bcab274b4d9f5527b1c37a665ebdf3f5ac6-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-i386-unknown-linux.tar.xz-              dlHash: 6898ccd6e6dc0872999c06daaf61d546164e12f60a1880d09852c9f0c59c5cf6-    3.2.0.0:-      viTags:-      - old-      viChangeLog: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/changelog-      viArch:-        A_64:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-alpine-linux-musl.tar.xz-              dlHash: 8bae37a1ce8b5f10440b5591fed734935e1411c1b765258325ffe268e2cc2042-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-linux.tar.xz-              dlHash: 32d1f7cf1065c37cb0ef99a66adb405f409b9763f14c0926f5424ae408c738ac-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-apple-darwin17.7.0.tar.xz-              dlHash: 9197c17d2ece0f934f5b33e323cfcaf486e4681952687bc3d249488ce3cbe0e9-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-portbld-freebsd.tar.xz-              dlHash: f1e35151cca91541b0fb4bdb3ed18f3c348038eab751845ad19c11307d66c273-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-x86_64-unknown-mingw32.zip-              dlSubdir:-              dlHash: 17778c3ade0482bc37f451eec326f8fce8fbe1f12b1d6aacb2e2b9e34786c054-        A_32:-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-alpine-linux-musl.tar.xz-              dlHash: c2a419dedf730987b60daf8d24e871d115a09ea608d740d7c61b36e3f5b9c830-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.2.0.0/cabal-install-3.2.0.0-i386-unknown-linux.tar.xz-              dlHash: 2b3ac28549916de5f3379241797eaf60e84b6c001f2abbe73d9fadbbaf768e93-    3.4.0.0:-      viTags: []-      viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.0.0.md-      viArch:-        A_64:-          Linux_Ubuntu:-            unknown_versioning: &cabal-3400-ubuntu-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-ubuntu-16.04.tar.xz-              dlHash: cf28f9ffd763476aa2b1730d85cbf155d366fac541f78ee3951e8cb2d6de63e6-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-alpine-3.11.6-static-noofd.tar.xz-              dlHash: c74073fe79110946182e522fcadc8dcabf07c87583e8cf7801ed4e0c327241f6-          Linux_UnknownLinux:-            unknown_versioning: *cabal-3400-ubuntu-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-darwin-sierra.tar.xz-              dlHash: cb10be9a53e856aa2d852fd88fb6944f138783ffe0ea84d93c9a69244e34ea91-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz-              dlHash: a1e2db664ec00e42a1e071a4181f6476f6e0bad321f1ddc0cf27831119f4c6d4-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-x86_64-windows.zip-              dlSubdir:-              dlHash: c898496b199a3ebf41fb399c12a0cb55a470a67e758cee4b08b9f304c4be6979-        A_32:-          Linux_UnknownLinux:-            unknown_versioning: &cabal-3400-32-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-i386-unknown-linux.tar.xz-              dlHash: cc62a471e9e68a6a9933e54f75bf0cffae67a1d2220df1152ab887c38eb6bc8a-          Linux_Alpine:-            unknown_versioning: *cabal-3400-32-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.4.0.0/cabal-install-3.4.0.0-aarch64-ubuntu-18.04.tar.xz-              dlHash: 04d378347896dfdc3510b192b97489815cfa5d692f46e2758da0f789e682b8f0-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-aarch64-darwin-big-sur.tar.xz-              dlHash: 46d8f96446a6bcdb81b3a9fbc14b137dc4f08436b46fe6446c5fba7bcb9b3d75--        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-armv7-linux-bootstrapped.tar.xz-              dlHash: 16c0d1eaba24bed14f3e152970179a45d9f9bb5cc839b2c210ad06eb7d4826ed-    3.6.0.0:-      viTags:-      - Recommended-      - Latest-      viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.6.0.0.md-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.6.0.0/cabal-install-3.6.0.0-x86_64-linux.tar.xz-              dlHash: bfcb7350966dafe95051b5fc9fcb989c5708ab9e78191e71fc04647061668a11-          Linux_Alpine:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.6.0.0/cabal-install-3.6.0.0-x86_64-linux-alpine.tar.xz-              dlHash: 3203d71b7ee87fc9dce74b452ae07f420afe8817b5e6f84e54798442f4ccdda8-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.6.0.0/cabal-install-3.6.0.0-x86_64-darwin.tar.xz-              dlHash: 8e1367a4a1fc86ff0fd82ee057320a7b974595ba7999457b42035467ba06190c-          FreeBSD:-            '( >= 12 && < 13 )':-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.6.0.0/cabal-install-3.6.0.0-x86_64-freebsd.tar.xz-              dlHash: 56b5b37396c16a29f164a6963f24bd88f09e1d37448542ed61a683325f0a868b-            '( >= 13 )':-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.6.0.0/cabal-install-3.6.0.0-x86_64-freebsd13.tar.xz-              dlHash: a283aa498702a3e286aa08e004c2a389538cbb47ec7096a25682fb7d57f6bb7f-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.6.0.0/cabal-install-3.6.0.0-x86_64-windows.zip-              dlSubdir:-              dlHash: 8222b49b6eac3d06aaa390bc688f467e8f949a38943567f46246f8320fd72ded-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.6.0.0/cabal-install-3.6.0.0-aarch64-linux-deb10.tar.xz-              dlHash: 534f71cd4e1d9758dc73066cc5733c5838874710aeb3aa88541de6c6d042d9ec-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.6.0.0/cabal-install-3.6.0.0-aarch64-darwin-big-sur.tar.xz-              dlHash: 7acf740946d996ede835edf68887e6b2f1e16d1b95e94054d266463f38d136d9-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.6.0.0/cabal-install-3.6.0.0-armv7-linux.tar.xz-              dlHash: 11b5ca042a8bf45971224f2127a3e9d6b803f09210042ca80a254bea06f01a2e-  GHCup:-    0.1.17.2:-      viTags:-      - Recommended-      - Latest-      viChangeLog: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md-      viSourceDL:-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &ghcup-64-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-linux-ghcup-0.1.17.2-              dlHash: e9adb022b9bcfe501caca39e76ae7241af0f30fbb466a2202837a7a578607daf-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-apple-darwin-ghcup-0.1.17.2-              dlHash: 9418dab0f603b25f925739d66ca2328e876ce5197c131d7e75060f8edf7c57c9-          FreeBSD:-            '( >= 12 && < 13 )':-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-portbld-freebsd12-ghcup-0.1.17.2-              dlHash: b6f0558e66f95a0772a60902c2c96202d0271d8d963db436a1359f1c4e1d2947-            '( >= 13 )':-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-portbld-freebsd13-ghcup-0.1.17.2-              dlHash: 5bd5760dd29117ca2797a87b79f99b804743e7e64fcdcfe6ad6436314423ef84-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-mingw64-ghcup-0.1.17.2.exe-              dlHash: 17ab704551c691067d590760c513891d0d0d375efb59dc3c99219fdf352fed71-          Linux_Alpine:-            unknown_versioning: *ghcup-64-        A_32:-          Linux_UnknownLinux:-            unknown_versioning: &ghcup-32-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/i386-linux-ghcup-0.1.17.2-              dlHash: eb29a33ed9798c94ed05b10c66c2cd6690a4d5aa79ed7ce6a9b8564e0c095ff4-          Linux_Alpine:-            unknown_versioning: *ghcup-32-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/aarch64-linux-ghcup-0.1.17.2-              dlHash: ad72641877f91f1cc5142151dafad68566f439114f96a738837ed549430173a5-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/aarch64-apple-darwin-ghcup-0.1.17.2-              dlHash: bf8691a88627b02253c2068537dc16e7eb1d3dbb22bcb1342cb7f0d00df08fd5-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/armv7-linux-ghcup-0.1.17.2-              dlHash: 03f2f8aaa8393372e9f7e16061703eda3f497b9604171825995389f3d5cc8f8f-  HLS:-    1.1.0:-      viTags:-        - old-      viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#110-      viPostInstall: &hls-post-install |-        This is just the server part of your LSP configuration. Consult the README on how to-        configure HLS, your project and your LSP client in your editor:-          https://github.com/haskell/haskell-language-server/blob/master/README.md-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &hls-110-64-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.1.0/haskell-language-server-Linux-1.1.0.tar.gz-              dlHash: 0f0dadb0e9a08273658f565fd71c636801959b954be2737f38f2a1aac522208f-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.1.0/haskell-language-server-macOS-1.1.0.tar.gz-              dlHash: 4e89b192e2f49637d772e974f2c17b16da067ecd5912575eaa542551de97681b-          Windows:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/hls/1.1.0/haskell-language-server-Windows-1.1.0.tar.gz-              dlHash: a1d3f451e64a041aa527a25da29e4716a2de6ae347cef4ef9312fc7611e168cc-          Linux_Alpine:-            unknown_versioning: *hls-110-64-    1.2.0:-      viTags:-        - old-      viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#120-      viPostInstall: *hls-post-install-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &hls-120-64-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.2.0/haskell-language-server-Linux-1.2.0.tar.gz-              dlHash: d29ee22f7bd706da2e2a1bd7640e25bb9736adeafb34eef47d29ea143b0fa927-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.2.0/haskell-language-server-macOS-1.2.0.tar.gz-              dlHash: a310d8a3e9c5c4218210f750682c74a0f82ad0f59995adde0dbe775115b1e357-          Windows:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.2.0/haskell-language-server-Windows-1.2.0.tar.gz-              dlHash: 961c6ff12c9a9c7a4609f239c5ac70d7d16753cdb8c10348a6a51feeaa0b6aea-          Linux_Alpine:-            unknown_versioning: *hls-120-64-    1.3.0:-      viTags: []-      viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#130-      viPostInstall: *hls-post-install-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &hls-130-64-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.3.0/haskell-language-server-Linux-1.3.0.tar.gz-              dlHash: 0f232cd4316f5215eb82c6d8f568260e1862a9b39a68ec37662e5e87b714f271-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.3.0/haskell-language-server-macOS-1.3.0.tar.gz-              dlHash: 2ce9763718544c2e1ff6b005d9bdc86178dcdaf71e63dc68d3fcd23457abf180-          Windows:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.3.0/haskell-language-server-Windows-1.3.0.tar.gz-              dlHash: 46aac7be888e29a9907cf56698c1ce1475c148b5e6cc099513e9ef74a0520dcf-          Linux_Alpine:-            unknown_versioning: *hls-130-64-    1.4.0:-      viTags:-        - Recommended-        - Latest-      viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#140-      viPostInstall: *hls-post-install-      viSourceDL:-        dlUri: https://downloads.haskell.org/ghcup/src/haskell-language-server/1.4.0/haskell-language-server-1.4.0.tar.gz-        dlSubdir: haskell-language-server-1.4.0-        dlHash: c5d7dbf7fae9aa3ed2c1184b49e82d8ac623ca786494ef6602cfe11735d28db0-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &hls-140-64-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.4.0/haskell-language-server-Linux-1.4.0.tar.gz-              dlHash: f93c114441911ccce55649702adc9553cb4c9f953c37878321d2806a3525fee8-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.4.0/haskell-language-server-macOS-1.4.0.tar.gz-              dlHash: a7f0ac6be93ffb08cc239e5f5fead99b061061825f99566c1be33ee60cab62a4-          FreeBSD:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.4.0/haskell-language-server-freebsd-1.4.0.tar.gz-              dlHash: 6b2ad2398ed8c3964dea017e3d5e553b54c10ba1373d7653d2edd019854f4da2-          Windows:-            unknown_versioning:-              dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.4.0/haskell-language-server-Windows-1.4.0.tar.gz-              dlHash: 0ec77cee750037b7a0ede817b46a913a702821f4098c6a858bcb686cb30f7efd-          Linux_Alpine:-            unknown_versioning: *hls-140-64-        A_ARM64:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.4.0/haskell-language-server-linux-aarch64-1.4.0.tar.gz-              dlHash: 8ad97e2bf1c538e637edec194e1cd9939019955bb749cb470f34bbe5a067b001-          Darwin:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.4.0/haskell-language-server-macOS-aarch64-1.4.0.tar.gz-              dlHash: 70c6fe38e987ba44c1e19173486c01f666ffb30a74cd5a7968296a5aba4c2dd0-        A_ARM:-          Linux_UnknownLinux:-            unknown_versioning:-              dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.4.0/haskell-language-server-linux-armv7-1.4.0.tar.gz-              dlHash: 4a921fbca06b02f3b1c0930cec5e65e9362b603e7715680ec7b150f18bd703d6-  Stack:-    2.5.1:-      viTags:-        - old-      viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v251-      viPostInstall: &stack-post |-        Stack manages GHC versions internally by default. In order to make it use ghcup installed-        GHC versions you can run the following commands:-          stack config set install-ghc false --global-          stack config set system-ghc  true  --global-        -        On windows, you may find the following config options useful too:-          skip-msys, extra-path, extra-include-dirs, extra-lib-dirs--        Also check out: https://docs.haskellstack.org/en/stable/yaml_configuration--        !!! Additionally, you should upgrade stack only through ghcup and not use 'stack upgrade' !!!-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &stack-251-64-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.5.1/stack-2.5.1-linux-x86_64.tar.gz-              dlHash: c83b6c93d6541c0bce2175085a04062020f4160a86116e20f3b343b562f2d1e8-              dlSubdir:-                RegexDir: "stack-.*"-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.5.1/stack-2.5.1-osx-x86_64.tar.gz-              dlHash: f4aedfa8fbe371f77286ee97ec5c3c553842e7ae15b2952a8b8442dccba04bf0-              dlSubdir:-                RegexDir: "stack-.*"-          Windows:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.5.1/stack-2.5.1-windows-x86_64.tar.gz-              dlHash: 57150b422cfd42249f5e629d0eb678df6d95dabe486ced57e8298d300b940d41-              dlSubdir:-                RegexDir: "stack-.*"-          Linux_Alpine:-            unknown_versioning: *stack-251-64-    2.7.1:-      viTags:-        - old-      viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v271-      viPostInstall: *stack-post-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &stack-271-64-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.1/stack-2.7.1-linux-x86_64.tar.gz-              dlHash: 2bc47749ee4be5eccb52a2d4a6a00b0f3b28b92517742b40c675836d7db2777d-              dlSubdir:-                RegexDir: "stack-.*"-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.1/stack-2.7.1-osx-x86_64.tar.gz-              dlHash: 4248c6fbc87e8a2c06f39e867eb5ef28eae0d99470137cb415356c631c0dcbf2-              dlSubdir:-                RegexDir: "stack-.*"-          Windows:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.1/stack-2.7.1-windows-x86_64.tar.gz-              dlHash: 8452f5fc9235620a84863f2f68e5f681c72d0d181cde50482f178a966ee0ceb9-              dlSubdir:-                RegexDir: "stack-.*"-          Linux_Alpine:-            unknown_versioning: *stack-271-64-    2.7.3:-      viTags:-        - Latest-        - Recommended-      viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v273-      viPostInstall: *stack-post-      viArch:-        A_64:-          Linux_UnknownLinux:-            unknown_versioning: &stack-273-64-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.3/stack-2.7.3-linux-x86_64.tar.gz-              dlHash: a6c090555fa1c64aa61c29aa4449765a51d79e870cf759cde192937cd614e72b-              dlSubdir:-                RegexDir: "stack-.*"-          Darwin:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.3/stack-2.7.3-osx-x86_64.tar.gz-              dlHash: 42e5000a00af44a7b26852421ac63ce75f510ad1a97742cb131107088ee9fe30-              dlSubdir:-                RegexDir: "stack-.*"-          Windows:-            unknown_versioning:-              dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.3/stack-2.7.3-windows-x86_64.tar.gz-              dlHash: e6ba12e0ecabf0df2567d88a0d247da238bc114bcccfca4195f5e86472c9330c-              dlSubdir:-                RegexDir: "stack-.*"-          Linux_Alpine:-            unknown_versioning: *stack-273-64-
− docs/CHANGELOG.md
@@ -1,210 +0,0 @@-# Revision history for ghcup--## 0.1.17.2 -- 2021-09-30--* Honour GHC bootstrap compiler during git clone stages wrt [#250](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/250)-* Speed up `unset` command-* Fix `--overwrite-version` for `ghcup compile ghc` wrt [#253](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/253)-* Apply patches before bootstrap--## 0.1.17.1 -- 2021-09-26--* Fix `NO_COLOR`-* Fix `ghcup list -t` for hls/stack, wrt [#244](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/244)-* Get rid of concurrent-output-* Improve cli interface with partial versions (e.g. `ghcup install ghc 8`)-* Fix HLS compilation builds-* Implement `ghcup gc` (garbage collection) command--## 0.1.17 -- 2021-09-20--* Add `--force` option to install/compile wrt [#210](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/210) by Arjun Kathuria-* Implement compiling HLS from source wrt [#201](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/201)-* Implement experimental GPG verification of the metadata file (see README) wrt [#263](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/236)-* Add `ghcup unset` command wrt [#145](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/145)-* Add `ghcup whereis bindir` etc wrt [#221](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/221)-* Greatly reduce dependency footprint wrt [#212](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/212)-* Add `ghcup --plan-json`-* Improve `--patchdir` option for GHC compilation wrt [#226](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/226)-* Try to improve logging and failure modes, especially during downloads-* Add descriptive warnings when HLS and GHC versions are incompatible-* Improve curl header parsing wrt [#213](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/213)--## 0.1.16.2 -- 2021-08-12--* Add isolated installations wrt [#141](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/141) by Arjun Kathuria-* Implement config cli MVP wrt [#134](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/134) by Oleksii Dorozhkin-* Fix `ghcup compile ghc --flavor`-* Fix minor installation bug causing increased disk space wrt [#139](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/139)-* Improved error handling wrt [#136](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/136)-* Various improvements to metadata download when using `file://` and `--offline` wrt [#137](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/137)--## 0.1.16.1 -- 2021-07-29--* Add 'nuke' subcommand wrt [#135](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/135), implemented by Arjun Kathuria-* Add uninstallation powershell script on windows wrt [#150](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/150)-* Improve logging-* Fix building GHC cross compiler wrt [#180](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/180)-* Allow to use hadrian as build system (for git based versions only) wrt [#35](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/35)-* Allow passing `--flavor` to `ghcup compile ghc`-* Support new GHC `bin/` directory format wrt [ghc/ghc#20074](https://gitlab.haskell.org/ghc/ghc/-/issues/20074#note_363720)-* Implement `whereis` subcommand wrt [#173](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/173)-* Add `--offline` switch and `prefetch` subcommand wrt [#186](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/186)-* Implement ETAGs hashing for metadata downloads to speed up `ghcup list` wrt [#193](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/193)-* Avoid unnecessary fetching of ghcup metadata in some commands-* Avoid unnecessary update checks for some commands-* Preserve mtimes on unpacked GHC tarballs on windows wrt [#187](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/187), fixing issues with `ghc-pkg`-* Fix lesser bug in `ghcup list` for stray stack versions wrt [#183](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/183)-* Major redo on how file removal on windows works, avoiding partial removals etc, wrt [#165](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/165)-* Improve ghcup tui for screen readers wrt [github/#4](https://github.com/haskell/ghcup-hs/pull/4), thanks to Mario Lang--## 0.1.15.2 -- 2021-06-13--* Remove legacy handling of cabal binary and be more graceful about binaries not installed by ghcup (e.g. stack)-* Fix GHC compilation from git-* Fix 'ghcup upgrade' on windows-* Allow to skip update checks via `GHCUP_SKIP_UPDATE_CHECK`-* Use libarchive on windows as well, fixing unpack errors wrt [#147](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/147)--## 0.1.15.1 -- 2021-06-11--* Add Apple Silicon support-* Add windows support wrt [#130](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/130)-* Add stack support-* Warn when /tmp doesn't have 5GB or more of disk space-* Allow to compile GHC from git repo wrt [#126](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/126)-* Allow to set custom ghc version when running 'ghcup compile ghc' wrt [#136](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/136)-* Add date to GHC bindist names created by ghcup--## 0.1.14.2 -- 2021-05-12--* Remove dead dependency on ascii-string--## 0.1.14.1 -- 2021-04-11--* Make internal symlink target parser more lax, fixes [#119](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/119)-* Prepare for hackage release--## 0.1.14 -- 2021-03-07--* Major bugfix: fix handling of stray versions wrt [#116](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/116)-* Fix error messages and overhaul pretty printing wrt [#115](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/115)--## 0.1.13 -- 2021-02-26--* Support ARMv7/AARCH64-* Add command line completions for installed and available versions wrt [MR #70](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/70)-* Allow to cycle through set tools wrt [#114](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/114)-* Fix item selection with unavailable versions wrt [#107](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/107)-* Allow for dynamic post-install, post-remove and pre-compile msgs wrt [MR #68](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/68)-* Alert user if upgraded ghcup is shadowed by old ghcup wrt [#111](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/111)-* Fix to `ghcup` directory creation and placement for the XDG install mode ([MR #49](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/49))-* Do 755 permissions on executables, wrt #97-* Add [NO_COLOR](https://no-color.org/) support wrt [MR #47](https://gitlab.haskell.org/haskell/ghcup-hs/-/merge_requests/47)--## 0.1.12 -- 2020-11-21--* Fix disappearing HLS symlinks wrt #91-* improve TUI:-  - separators between tools sections-  - reverse list order so latest is on top-  - expand the blues selected bar-  - show new latest versions in bright white-* allow configuration file and setting TUI hotkeys wrt #41-  - see https://gitlab.haskell.org/haskell/ghcup-hs#configuration for a more in-depth explanation-* add a `--set` switch to `ghcup install ghc` to automatically set as default after install-* emit warnings when CC/LD is set wrt #82-* add support for version ranges in distro specifiers wrt #84-  - e.g. `"(>= 19 && <= 20) || ==0.2.2"` is a valid version key for distro--## 0.1.11 -- 2020-09-23--* Add support for installing haskell-language-server, wrt #65-* When compiling GHC from source create a bindist first, store that bindist in `~/.ghcup/cache` and install it, wrt #51-* Allow to compile over existing version (`ghcup compile ghc -v 8.6.5 -b 8.6.5`) and replace it wrt #59-* simplify installing from custom bindist wrt #60-  - `ghcup install ghc -u <url> <version>`-* fix bug when cabal isn't marked executable in bindist-* fix bug when `~/.ghcup` is a valid symlink wrt #49-* Drop support for compiling cabal from source (the old bootstrap script is discontinued)--## 0.1.10 -- 2020-08-14--* Show stray Cabals (useful for pre-releases or compiled ones)--## 0.1.9 -- 2020-08-14--* Fix bug when uninstalling all cabal versions-* Fix bug when setting a non-installed ghc version as current default-* Use yaml instead of generated json for download info for ease of adding new GHC versions #44-* Allow pre-release versions of GHC/cabal-* Add XDG dirs support (set `GHCUP_USE_XDG_DIRS`) wrt #39-* Allow to specify regex for tarball subdir (e.g. `ghc-.*`)-* Allow installing arbitrary bindists more seamlessly:-  - e.g. installing GHC HEAD: `ghcup -n install ghc -u '{"dlHash": "", "dlSubdir": { "RegexDir": "ghc-.*"}, "dlUri": "https://gitlab.haskell.org/api/v4/projects/1/jobs/artifacts/master/raw/ghc-x86_64-fedora27-linux.tar.xz?job=validate-x86_64-linux-fedora27" }' head`-* Avoid duplicate edits to .bashrc/.zshrc wrt #43--## 0.1.8 -- 2020-07-21--* Fix bug in logging thread dying on newlines-* Allow to install from arbitrary bindists: `ghcup -n install ghc -u '{"dlHash": "", "dlSubdir": "ghc-8.10.1", "dlUri": "https://github.com/commercialhaskell/ghc/releases/download/ghc-8.10.1-release/ghc-8.10.1-x86_64-deb9-linux.tar.xz"}' 8.10.1`--## 0.1.7 -- 2020-07-20--* Fix a bug in libarchive not unpacking some uncleanly packed bindists-* Improved fish support in bootstrap-haskell-* Only check for upgrades when not upgrading-* Fix platform detection for i386 docker images-* Improve alpine support-  - more/proper bindists-  - don't fall back to glibc based bindists-  - install bindists with `--disable-ld-override` to avoid ld.gold bugs--## 0.1.6 -- 2020-07-13--* Create a new curses (brick) based TUI, accessible via `ghcup tui` #24-* Support multiple installed versions of cabal #23-* Improvements to `ghcup list` (show unavailable bindists for platform)-* Fix redhat downloads #29-* Support for hadrian bindists (fixes alpine-8.10.1) #31-* Add FreeBSD bindists 8.6.5 and 8.8.3-* Fix memory leak during unpack--## 0.1.5 -- 2020-04-30--* Fix errors when PATH variable contains path components that are actually files-* Add `--version` and `--numeric-version` options-* Add `changelog` command-* Also check for available GHC and Cabal updates on start-* Add base versions as tags for every GHC version (these are "installable" tags and the latest GHC version matching the tag will be picked)-* Added `--format-raw` to list subcommand-* Allow to install X.Y versions (e.g.: ghcup install 8.8)-* Implement `--keep=<always|errors|never>` to control temporary build directories cleanup-* Add proper shell completions to the repo-* Fix building of documentation-* Allow to work in offline mode and use cached files if possible-* Allow to set the downloader via `--downloader=<curl|wget>`-* Support for compiling and installing a cross GHC (see README). This is experimental.--## 0.1.4 -- 2020-04-16--* build on all platforms with curl (as a binary), wrt https://gitlab.haskell.org/haskell/ghcup-hs/issues/6-* Fix unlinking of ghc symlinks after new installation, wrt https://gitlab.haskell.org/haskell/ghcup-hs/issues/7--## 0.1.3 -- 2020-04-15--* Fix lesser bug when skipping ghcup update--## 0.1.2 -- 2020-04-15--* Fix bug when removing the set GHC version-* Fix use of undocumented `GHCUP_INSTALL_BASE_PREFIX` variable-* skip upgrade if ghcup is already latest version--## 0.1.1 -- 2020-04-15--* fix awful fdopendir bug on mac bug by updating hpath-posix--## 0.1.0--* First version. Released on an unsuspecting world.
− docs/HACKING.md
@@ -1,75 +0,0 @@-# HACKING--## Design decisions--### Using [Excepts](https://hackage.haskell.org/package/haskus-utils-variant-3.0/docs/Haskus-Utils-Variant-Excepts.html) as a beefed up ExceptT--This is an open variant, similar to [plucky](https://hackage.haskell.org/package/plucky) or [oops](https://github.com/i-am-tom/oops) and allows us to combine different error types. Maybe it is too much and it's a little bit [unergonomic](https://github.com/haskus/packages/issues/32) at times. If it really hurts maintenance, it will be removed. It was more of an experiment.--### No use of haskell-TLS--I consider haskell-TLS an interesting experiment, but not a battle-tested and peer-reviewed crypto implementation. There is little to no research about what the intricacies of using haskell for low-level crypto are and how vulnerable such binaries are. Instead, we use either curl the binary (for FreeBSD and mac) or http-io-streams, which works with OpenSSL bindings.--### Optics instead of lens--They're a little safer (less Monoid weirdness with view) and have better error messages. Consider the following wit lens--```-> view (_Just . to (++ "abc")) Nothing-""-```--vs optics--```-> view (_Just % to (++ "abc")) Nothing--<interactive>:2:1: error:-    • An_AffineFold cannot be used as A_Getter-    • In the expression: view (_Just % to (++ "abc")) Nothing-      In an equation for ‘it’: it = view (_Just % to (++ "abc")) Nothing-```--### Strict and StrictData on by default--Kazu Yamamoto [explained it in his PR](https://github.com/yesodweb/wai/pull/752#issuecomment-501531386) very well. I like to agree with him. The instances where we need non-strict behavior, we annotate it.--## Code style and formatting--1. Brittany-2. mtl-style preferred-3. no overly pointfree style--## Code structure--Main functionality is in `GHCup` module. Utility functions are-organised tree-ish in `GHCup.Utils` and `GHCup.Utils.*`.--Anything dealing with ghcup specific directories is in-`GHCup.Utils.Dirs`.--Download information on where to fetch bindists from is in the appropriate-yaml files: `ghcup-<yaml-ver>.yaml`.--## Common Tasks--### Adding a new GHC version--1. open the latest `ghcup-<yaml-ver>.yaml`-2. find the latest ghc version (in yaml tree e.g. `ghcupDownloads -> GHC -> 8.10.3`)-3. copy-paste it-4. adjust the version, tags, changelog, source url-5. adjust the various bindist urls (make sure to also change the yaml anchors)-6. run `cabal run exe:ghcup-gen -- check-tarballs -f ghcup-<yaml-ver>.yaml -u 'ghc-8\.10\.4'`--## Major refactors--1. First major refactor included adding cross support. This added-   `GHCTargetVersion`, which includes the target in addition to the version.-   Most of the `Version` parameters to functions had to be replaced with-   that and ensured the logic is consistent for cross and non-cross-   installs.-2. This refactor added windows support wrt [#130](https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/130).-   The major changes here were switching `hpath` library out for `filepath`/`directory` (sadly) and-   introducing a non-unix way of handling processes via the `process` library. It also introduced considerable-   amounts of CPP wrt file handling, installation etc.
− docs/RELEASING.md
@@ -1,21 +0,0 @@-# RELEASING--1. Update version in `ghcup.cabal` and `boostrap-haskell` (`ghver` variable at the top of the script)--2. Update `GHCup.Version` module. `ghcupURL` must only be updated if we change the `GHCupInfo` type or the YAML representation of it. The version of the YAML represents the change increments. `ghcUpVer` is the current application version, read from `ghcup.cabal`.--3. Add ChangeLog entry--4. Add/fix downloads in `ghcup-<ver>.yaml` (under `data/metadata`), then verify with `ghcup-gen check -f ghcup-<ver>.yaml` and possibly (example only) `ghcup-gen check-tarballs -f ghcup-<ver>.yaml -u 'ghc-8.10.7'`. Generally, new GHC/cabal/stack/hls versions are only added to the latest yaml file. New GHCup versions are added to all (great care must be taken here to not break the parser... e.g. ARM platforms don't parse in all older formats).--5. Commit and git push with tag. Wait for tests to succeed and release artifacts to build.--6. Download release artifacts and upload them `downloads.haskell.org/ghcup` along with checksum files (`sha256sum --tag * > SHA256SUMS && gpg --detach-sign -u <your-email> SHA256SUMS`)--7. Add ghcup release artifacts to ALL yaml files (see point 4.)--8. Upload the final `ghcup-<ver>.yaml` to `webhost.haskell.org/ghcup/data/`.--9. Update `bootstrap-haskell` and `bootstrap-haskell.ps1` to `webhost.haskell.org/ghcup/sh/`--10. Update the ghcup symlinks at `downloads.haskell.org/ghcup`
ghcup.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               ghcup-version:            0.1.17.2+version:            0.1.17.3 license:            LGPL-3.0-only license-file:       LICENSE copyright:          Julian Ospald 2020@@ -16,18 +16,14 @@ category:           System build-type:         Simple extra-doc-files:+  CHANGELOG.md   data/config.yaml-  data/metadata/ghcup-0.0.4.yaml-  data/metadata/ghcup-0.0.5.yaml-  data/metadata/ghcup-0.0.6.yaml-  docs/CHANGELOG.md-  docs/HACKING.md-  docs/RELEASING.md   README.md  extra-source-files:   data/build_mk/cross   data/build_mk/default+  test/golden/GHCupInfo.json  source-repository head   type:     git@@ -93,13 +89,13 @@     -fwarn-incomplete-record-updates    build-depends:-    , aeson                 >=1.4        && <1.6+    , aeson                 >=1.4     , async                 >=0.8        && <2.3     , base                  >=4.13       && <5     , base16-bytestring     >=0.1.1.6    && <1.1     , binary                ^>=0.8.6.0     , bytestring            ^>=0.10-    , Cabal+    , Cabal                 ^>=3.6.2.0     , case-insensitive      ^>=1.2.1.0     , casing                ^>=0.1.4.1     , containers            ^>=0.6@@ -110,7 +106,6 @@     , filepath              ^>=1.4.2.1     , haskus-utils-types    ^>=1.5     , haskus-utils-variant  >=3.0        && <3.2-    , HsYAML-aeson          ^>=0.2.0.0     , libarchive            ^>=3.0.3.0     , lzma-static           ^>=5.2.5.3     , megaparsec            >=8.0.0      && <9.1@@ -121,6 +116,7 @@     , pretty-terminal       ^>=0.1.0.0     , regex-posix           ^>=0.96     , resourcet             ^>=1.2.2+    , retry                 ^>=0.8.1.2     , safe                  ^>=0.3.18     , safe-exceptions       ^>=0.1     , split                 ^>=0.2.3.4@@ -136,6 +132,7 @@     , vector                ^>=0.12     , versions              >=4.0.1      && <5.1     , word8                 ^>=0.1.3+    , yaml-streamly         ^>=0.12.0     , zlib                  ^>=0.6.2.2    if (flag(internal-downloader) && !os(windows))@@ -149,16 +146,21 @@    if os(windows)     cpp-options:   -DIS_WINDOWS-    other-modules: GHCup.Utils.File.Windows+    other-modules:+      GHCup.Utils.File.Windows+      GHCup.Utils.Prelude.Windows+      GHCup.Utils.Windows+     build-depends:       , bzlib       , process  ^>=1.6.11.0-      , retry    ^>=0.8.1.2       , Win32    ^>=2.10    else     other-modules:       GHCup.Utils.File.Posix+      GHCup.Utils.Posix+      GHCup.Utils.Prelude.Posix       System.Console.Terminal.Common       System.Console.Terminal.Posix @@ -173,6 +175,25 @@  executable ghcup   main-is:            Main.hs+  other-modules:+    GHCup.OptParse+    GHCup.OptParse.ChangeLog+    GHCup.OptParse.Common+    GHCup.OptParse.Compile+    GHCup.OptParse.Config+    GHCup.OptParse.DInfo+    GHCup.OptParse.GC+    GHCup.OptParse.Install+    GHCup.OptParse.List+    GHCup.OptParse.Nuke+    GHCup.OptParse.Prefetch+    GHCup.OptParse.Rm+    GHCup.OptParse.Set+    GHCup.OptParse.ToolRequirements+    GHCup.OptParse.UnSet+    GHCup.OptParse.Upgrade+    GHCup.OptParse.Whereis+   hs-source-dirs:     app/ghcup   default-language:   Haskell2010   default-extensions:@@ -190,7 +211,7 @@     -fwarn-incomplete-record-updates -threaded    build-depends:-    , aeson                 >=1.4      && <1.6+    , aeson                 >=1.4     , aeson-pretty          ^>=0.8.8     , async                 ^>=2.2.3     , base                  >=4.13     && <5@@ -201,7 +222,6 @@     , filepath              ^>=1.4.2.1     , ghcup     , haskus-utils-variant  >=3.0      && <3.2-    , HsYAML-aeson          ^>=0.2.0.0     , libarchive            ^>=3.0.3.0     , megaparsec            >=8.0.0    && <9.1     , mtl                   ^>=2.2@@ -216,6 +236,7 @@     , uri-bytestring        ^>=0.3.2.2     , utf8-string           ^>=1.0     , versions              >=4.0.1    && <5.1+    , yaml-streamly         ^>=0.12.0    if flag(internal-downloader)     cpp-options: -DINTERNAL_DOWNLOADER@@ -263,7 +284,6 @@     , filepath              ^>=1.4.2.1     , ghcup     , haskus-utils-variant  >=3.0      && <3.2-    , HsYAML-aeson          ^>=0.2.0.0     , libarchive            ^>=3.0.3.0     , mtl                   ^>=2.2     , optics                ^>=0.4@@ -276,6 +296,7 @@     , text                  ^>=1.2.4.0     , transformers          ^>=0.5     , versions              >=4.0.1    && <5.1+    , yaml-streamly         ^>=0.12.0  test-suite ghcup-test   type:               exitcode-stdio-1.0
lib/GHCup.hs view
@@ -52,9 +52,7 @@ import           Control.Monad.Reader import           Control.Monad.Trans.Resource                                          hiding ( throwM )-#if defined(IS_WINDOWS) import           Control.Monad.IO.Unlift        ( MonadUnliftIO( withRunInIO ) )-#endif import           Data.ByteString                ( ByteString ) import           Data.Either import           Data.List@@ -96,9 +94,6 @@ import qualified Data.Text                     as T import qualified Data.Text.IO                  as T import qualified Data.Text.Encoding            as E-#if defined(IS_WINDOWS)-import qualified System.Win32.File             as Win32-#endif import qualified Text.Megaparsec               as MP import GHCup.Utils.MegaParsec import Control.Concurrent (threadDelay)@@ -205,6 +200,7 @@                         , TarDirDoesNotExist                         , DirNotEmpty                         , ArchiveResult+                        , ProcessError                         ]                        m                        ()@@ -283,6 +279,7 @@                        , TarDirDoesNotExist                        , DirNotEmpty                        , ArchiveResult+                       , ProcessError                        ] m () installPackedGHC dl msubdir inst ver forceInstall = do   PlatformRequest {..} <- lift getPlatformReq@@ -292,7 +289,7 @@    -- unpack   tmpUnpack <- lift mkGhcupTmpDir-  liftE $ unpackToDir tmpUnpack dl+  liftE $ cleanUpOnError tmpUnpack (unpackToDir tmpUnpack dl)   liftE $ catchWarn $ lEM @_ @'[ProcessError] $ darwinNotarization _rPlatform tmpUnpack    -- the subdir of the archive where we do the work@@ -337,36 +334,35 @@                    -> FilePath      -- ^ Path to install to                    -> Version       -- ^ The GHC version                    -> Excepts '[ProcessError] m ()-installUnpackedGHC path inst ver = do-#if defined(IS_WINDOWS)-  lift $ logInfo "Installing GHC (this may take a while)"-  -- Windows bindists are relocatable and don't need-  -- to run configure.-  -- We also must make sure to preserve mtime to not confuse ghc-pkg.-  lift $ withRunInIO $ \run -> flip onException (run $ recyclePathForcibly inst) $ copyDirectoryRecursive path inst $ \source dest -> do-    mtime <- getModificationTime source-    Win32.moveFile source dest-    setModificationTime dest mtime-#else-  PlatformRequest {..} <- lift getPlatformReq+installUnpackedGHC path inst ver+  | isWindows = do+      lift $ logInfo "Installing GHC (this may take a while)"+      -- Windows bindists are relocatable and don't need+      -- to run configure.+      -- We also must make sure to preserve mtime to not confuse ghc-pkg.+      lift $ withRunInIO $ \run -> flip onException (run $ recyclePathForcibly inst) $ copyDirectoryRecursive path inst $ \source dest -> do+        mtime <- getModificationTime source+        moveFilePortable source dest+        setModificationTime dest mtime+  | otherwise = do+      PlatformRequest {..} <- lift getPlatformReq -  let alpineArgs-       | ver >= [vver|8.2.2|], Linux Alpine <- _rPlatform-       = ["--disable-ld-override"]-       | otherwise-       = []+      let alpineArgs+           | ver >= [vver|8.2.2|], Linux Alpine <- _rPlatform+           = ["--disable-ld-override"]+           | otherwise+           = [] -  lift $ logInfo "Installing GHC (this may take a while)"-  lEM $ execLogged "sh"-                   ("./configure" : ("--prefix=" <> inst) -                    : alpineArgs-                   )-                   (Just path)-                   "ghc-configure"-                   Nothing-  lEM $ make ["install"] (Just path)-  pure ()-#endif+      lift $ logInfo "Installing GHC (this may take a while)"+      lEM $ execLogged "sh"+                       ("./configure" : ("--prefix=" <> inst) +                        : alpineArgs+                       )+                       (Just path)+                       "ghc-configure"+                       Nothing+      lEM $ make ["install"] (Just path)+      pure ()   -- | Installs GHC into @~\/.ghcup\/ghc/\<ver\>@ and places the@@ -402,12 +398,13 @@                     , TarDirDoesNotExist                     , DirNotEmpty                     , ArchiveResult+                    , ProcessError                     ]                    m                    () installGHCBin ver isoFilepath forceInstall = do   dlinfo <- liftE $ getDownloadInfo GHC ver-  installGHCBindist dlinfo ver isoFilepath forceInstall+  liftE $ installGHCBindist dlinfo ver isoFilepath forceInstall   -- | Like 'installCabalBin', except takes the 'DownloadInfo' as@@ -472,7 +469,7 @@    -- unpack   tmpUnpack <- lift withGHCupTmpDir-  liftE $ unpackToDir tmpUnpack dl+  liftE $ cleanUpOnError tmpUnpack (unpackToDir tmpUnpack dl)   liftE $ catchWarn $ lEM @_ @'[ProcessError] $ darwinNotarization _rPlatform tmpUnpack    -- the subdir of the archive where we do the work@@ -614,7 +611,7 @@    -- unpack   tmpUnpack <- lift withGHCupTmpDir-  liftE $ unpackToDir tmpUnpack dl+  liftE $ cleanUpOnError tmpUnpack (unpackToDir tmpUnpack dl)   liftE $ catchWarn $ lEM @_ @'[ProcessError] $ darwinNotarization _rPlatform tmpUnpack    -- the subdir of the archive where we do the work@@ -784,7 +781,7 @@        -- unpack       tmpUnpack <- lift mkGhcupTmpDir-      liftE $ unpackToDir tmpUnpack dl+      liftE $ cleanUpOnError tmpUnpack (unpackToDir tmpUnpack dl)       liftE $ catchWarn $ lEM @_ @'[ProcessError] $ darwinNotarization _rPlatform tmpUnpack        workdir <- maybe (pure tmpUnpack)@@ -1001,7 +998,7 @@    -- unpack   tmpUnpack <- lift withGHCupTmpDir-  liftE $ unpackToDir tmpUnpack dl+  liftE $ cleanUpOnError tmpUnpack (unpackToDir tmpUnpack dl)   liftE $ catchWarn $ lEM @_ @'[ProcessError] $ darwinNotarization _rPlatform tmpUnpack    -- the subdir of the archive where we do the work@@ -1137,21 +1134,24 @@       SetGHCOnly -> do         let sharedir     = "share"         let fullsharedir = ghcdir </> sharedir+        logDebug $ "Checking for sharedir existence: " <> T.pack fullsharedir         whenM (liftIO $ doesDirectoryExist fullsharedir) $ do           let fullF   = destdir </> sharedir           let targetF = "." </> "ghc" </> ver' </> sharedir           logDebug $ "rm -f " <> T.pack fullF           hideError doesNotExistErrorType $ rmDirectoryLink fullF           logDebug $ "ln -s " <> T.pack targetF <> " " <> T.pack fullF-          liftIO-#if defined(IS_WINDOWS)-            -- On windows we need to be more permissive-            -- in case symlinks can't be created, be just-            -- give up here. This symlink isn't strictly necessary.-            $ hideError permissionErrorType-            $ hideError illegalOperationErrorType-#endif-            $ createDirectoryLink targetF fullF++          if isWindows+          then liftIO+                 -- On windows we need to be more permissive+                 -- in case symlinks can't be created, be just+                 -- give up here. This symlink isn't strictly necessary.+                 $ hideError permissionErrorType+                 $ hideError illegalOperationErrorType+                 $ createDirectoryLink targetF fullF+          else liftIO+                 $ createDirectoryLink targetF fullF       _ -> pure ()  unsetGHC :: ( MonadReader env m@@ -1872,17 +1872,17 @@    unless areEqualPaths $ logWarn $ nonStandardInstallLocationMsg currentRunningExecPath -#if defined(IS_WINDOWS)-  -- since it doesn't seem possible to delete a running exe on windows-  -- we move it to temp dir, to be deleted at next reboot-  tempFilepath <- mkGhcupTmpDir-  hideError UnsupportedOperation $-            liftIO $ hideError NoSuchThing $-            Win32.moveFileEx ghcupFilepath (Just (tempFilepath </> "ghcup")) 0-#else-  -- delete it.-  hideError doesNotExistErrorType $ rmFile ghcupFilepath-#endif+  if isWindows+  then do+    -- since it doesn't seem possible to delete a running exe on windows+    -- we move it to temp dir, to be deleted at next reboot+    tempFilepath <- mkGhcupTmpDir+    hideError UnsupportedOperation $+              liftIO $ hideError NoSuchThing $+              moveFile ghcupFilepath (tempFilepath </> "ghcup")+  else+    -- delete it.+    hideError doesNotExistErrorType $ rmFile ghcupFilepath    where     handlePathNotPresent fp _err = do@@ -1942,10 +1942,9 @@    handleRm $ rmBinDir binDir   handleRm $ rmDir recycleDir-#if defined(IS_WINDOWS)-  logInfo $ "removing " <> T.pack (baseDir </> "msys64")-  handleRm $ rmPathForcibly (baseDir </> "msys64")-#endif+  when isWindows $ do+    logInfo $ "removing " <> T.pack (baseDir </> "msys64")+    handleRm $ rmPathForcibly (baseDir </> "msys64")    handleRm $ removeEmptyDirsRecursive baseDir @@ -1979,15 +1978,13 @@         forM_ contents (deleteFile . (dir </>))      rmBinDir :: (MonadReader env m, HasDirs env, MonadMask m, MonadIO m, MonadCatch m) => FilePath -> m ()-    rmBinDir binDir = do-#if !defined(IS_WINDOWS)-      isXDGStyle <- liftIO useXDG-      if not isXDGStyle-        then removeDirIfEmptyOrIsSymlink binDir-        else pure ()-#else-      removeDirIfEmptyOrIsSymlink binDir-#endif+    rmBinDir binDir+      | isWindows = removeDirIfEmptyOrIsSymlink binDir+      | otherwise = do+          isXDGStyle <- liftIO useXDG+          if not isXDGStyle+            then removeDirIfEmptyOrIsSymlink binDir+            else pure ()      reportRemainingFiles :: MonadIO m => FilePath -> m [FilePath]     reportRemainingFiles dir = do@@ -2113,6 +2110,12 @@                  , NotInstalled                  , DirNotEmpty                  , ArchiveResult+                 , FileDoesNotExistError+                 , HadrianNotFound+                 , InvalidBuildConfig+                 , ProcessError+                 , CopyError+                 , BuildFailed                  ]                 m                 GHCTargetVersion@@ -2121,10 +2124,6 @@     PlatformRequest { .. } <- lift getPlatformReq     GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo -    bghc <- case bstrap of-      Right g    -> pure $ Right g-      Left  bver -> pure $ Left ("ghc-" <> (T.unpack . prettyVer $ bver) <> exeExt)-     (workdir, tmpUnpack, tver) <- case targetGhc of       -- unpack from version tarball       Left tver -> do@@ -2138,7 +2137,7 @@          -- unpack         tmpUnpack <- lift mkGhcupTmpDir-        liftE $ unpackToDir tmpUnpack dl+        liftE $ cleanUpOnError tmpUnpack (unpackToDir tmpUnpack dl)         liftE $ catchWarn $ lEM @_ @'[ProcessError] $ darwinNotarization _rPlatform tmpUnpack          workdir <- maybe (pure tmpUnpack)@@ -2173,9 +2172,8 @@           lEM $ git [ "checkout", "FETCH_HEAD" ]           lEM $ git [ "submodule", "update", "--init", "--depth", "1" ]           forM_ patchdir (\dir -> liftE $ applyPatches dir tmpUnpack)-          env <- liftE $ ghcEnv bghc-          lEM $ execLogged "python3" ["./boot"] (Just tmpUnpack) "ghc-bootstrap" (Just env)-          lEM $ execLogged "sh" ["./configure"] (Just tmpUnpack) "ghc-bootstrap" (Just env)+          lEM $ execWithGhcEnv "python3" ["./boot"] (Just tmpUnpack) "ghc-bootstrap"+          lEM $ execWithGhcEnv "sh" ["./configure"] (Just tmpUnpack) "ghc-bootstrap"           CapturedProcess {..} <- lift $ makeOut             ["show!", "--quiet", "VALUE=ProjectVersion" ] (Just tmpUnpack)           case _exitCode of@@ -2212,8 +2210,8 @@       Nothing       (do         b <- if hadrian-             then compileHadrianBindist bghc tver workdir ghcdir-             else compileMakeBindist bghc tver workdir ghcdir+             then compileHadrianBindist tver workdir ghcdir+             else compileMakeBindist tver workdir ghcdir         bmk <- liftIO $ handleIO (\_ -> pure "") $ B.readFile (build_mk workdir)         pure (b, bmk)       )@@ -2265,8 +2263,7 @@                            , MonadIO m                            , MonadFail m                            )-                        => Either FilePath FilePath-                        -> GHCTargetVersion+                        => GHCTargetVersion                         -> FilePath                         -> FilePath                         -> Excepts@@ -2279,19 +2276,19 @@                               , CopyError]                              m                              (Maybe FilePath)  -- ^ output path of bindist, None for cross-  compileHadrianBindist bghc tver workdir ghcdir = do-    lEM $ execLogged "python3" ["./boot"] (Just workdir) "ghc-bootstrap" Nothing+  compileHadrianBindist tver workdir ghcdir = do+    lEM $ execWithGhcEnv "python3" ["./boot"] (Just workdir) "ghc-bootstrap" -    liftE $ configureBindist bghc tver workdir ghcdir+    liftE $ configureBindist tver workdir ghcdir      lift $ logInfo "Building (this may take a while)..."     hadrian_build <- liftE $ findHadrianFile workdir-    lEM $ execLogged hadrian_build+    lEM $ execWithGhcEnv hadrian_build                           ( maybe [] (\j  -> ["-j" <> show j]         ) jobs                          ++ maybe [] (\bf -> ["--flavour=" <> bf]) buildFlavour                          ++ ["binary-dist"]                           )-                          (Just workdir) "ghc-make" Nothing+                          (Just workdir) "ghc-make"     [tar] <- liftIO $ findFiles       (workdir </> "_build" </> "bindist")       (makeRegexOpts compExtended@@ -2307,11 +2304,9 @@                        m                        FilePath   findHadrianFile workdir = do-#if defined(IS_WINDOWS)-    let possible_files = ((workdir </> "hadrian") </>) <$> ["build.bat"]-#else   -    let possible_files = ((workdir </> "hadrian") </>) <$> ["build", "build.sh"]-#endif+    let possible_files = if isWindows+                         then ((workdir </> "hadrian") </>) <$> ["build.bat"]+                         else ((workdir </> "hadrian") </>) <$> ["build", "build.sh"]     exsists <- forM possible_files (\f -> liftIO (doesFileExist f) <&> (,f))     case filter fst exsists of       [] -> throwE HadrianNotFound@@ -2327,8 +2322,7 @@                         , MonadIO m                         , MonadFail m                         )-                     => Either FilePath FilePath-                     -> GHCTargetVersion+                     => GHCTargetVersion                      -> FilePath                      -> FilePath                      -> Excepts@@ -2341,8 +2335,8 @@                            , CopyError]                           m                        (Maybe FilePath)  -- ^ output path of bindist, None for cross-  compileMakeBindist bghc tver workdir ghcdir = do-    liftE $ configureBindist bghc tver workdir ghcdir+  compileMakeBindist tver workdir ghcdir = do+    liftE $ configureBindist tver workdir ghcdir      case mbuildConfig of       Just bc -> liftIOException@@ -2463,8 +2457,7 @@                       , MonadIO m                       , MonadFail m                       )-                   => Either FilePath FilePath-                   -> GHCTargetVersion+                   => GHCTargetVersion                    -> FilePath                    -> FilePath                    -> Excepts@@ -2477,25 +2470,21 @@                          ]                         m                         ()-  configureBindist bghc tver workdir ghcdir = do+  configureBindist tver workdir ghcdir = do     lift $ logInfo [s|configuring build|]      if | _tvVersion tver >= [vver|8.8.0|] -> do-          env <- liftE $ ghcEnv bghc-          lEM $ execLogged+          lEM $ execWithGhcEnv             "sh"             ("./configure" :  maybe mempty                       (\x -> ["--target=" <> T.unpack x])                       (_tvTarget tver)             ++ ["--prefix=" <> ghcdir]-#if defined(IS_WINDOWS)-            ++ ["--enable-tarballs-autodownload"]-#endif+            ++ (if isWindows then ["--enable-tarballs-autodownload"] else [])             ++ fmap T.unpack aargs             )             (Just workdir)             "ghc-conf"-            (Just env)        | otherwise -> do         lEM $ execLogged           "sh"@@ -2505,9 +2494,7 @@                    (\x -> ["--target=" <> T.unpack x])                    (_tvTarget tver)           ++ ["--prefix=" <> ghcdir]-#if defined(IS_WINDOWS)-          ++ ["--enable-tarballs-autodownload"]-#endif+          ++ (if isWindows then ["--enable-tarballs-autodownload"] else [])           ++ fmap T.unpack aargs           )           (Just workdir)@@ -2515,14 +2502,32 @@           Nothing     pure () -  ghcEnv :: MonadIO m => Either FilePath FilePath -> Excepts '[NotFoundInPATH] m [(String, String)]-  ghcEnv bghc = do+  execWithGhcEnv :: ( MonadReader env m+                    , HasSettings env+                    , HasDirs env+                    , MonadIO m+                    , MonadThrow m)+                 => FilePath         -- ^ thing to execute+                 -> [String]         -- ^ args for the thing+                 -> Maybe FilePath   -- ^ optionally chdir into this+                 -> FilePath         -- ^ log filename (opened in append mode)+                 -> m (Either ProcessError ())+  execWithGhcEnv fp args dir logf = do+    env <- ghcEnv+    execLogged fp args dir logf (Just env)++  bghc = case bstrap of+           Right g    -> Right g+           Left  bver -> Left ("ghc-" <> (T.unpack . prettyVer $ bver) <> exeExt)++  ghcEnv :: (MonadThrow m, MonadIO m) => m [(String, String)]+  ghcEnv = do     cEnv <- liftIO getEnvironment     bghcPath <- case bghc of       Right ghc' -> pure ghc'       Left  bver -> do         spaths <- liftIO getSearchPath-        liftIO (searchPath spaths bver) !? NotFoundInPATH bver+        throwMaybeM (NotFoundInPATH bver) $ liftIO (searchPath spaths bver)     pure (("GHC", bghcPath) : cEnv)  
lib/GHCup/Download.hs view
@@ -49,7 +49,6 @@ import           Control.Monad.Trans.Resource                                          hiding ( throwM ) import           Data.Aeson-import           Data.Bifunctor import           Data.ByteString                ( ByteString ) #if defined(INTERNAL_DOWNLOADER) import           Data.CaseInsensitive           ( mk )@@ -87,7 +86,7 @@ import qualified Data.Text                     as T import qualified Data.Text.IO                  as T import qualified Data.Text.Encoding            as E-import qualified Data.YAML.Aeson               as Y+import qualified Data.Yaml.Aeson               as Y   @@ -183,15 +182,14 @@    -- if we didn't get a filepath from the download, use the cached yaml   actualYaml <- maybe (lift $ yamlFromCache uri) pure mYaml-  yamlContents <- liftIOException doesNotExistErrorType (FileDoesNotExistError actualYaml) $ liftIO $ L.readFile actualYaml   lift $ logDebug $ "Decoding yaml at: " <> T.pack actualYaml    liftE     . onE_ (onError actualYaml)-    . lE' @_ @_ @'[JSONError] JSONDecodeError-    . first (\(_, e) -> unlines [e, "Consider removing " <> actualYaml <> " manually."])-    . Y.decode1-    $ yamlContents+    . lEM' @_ @_ @'[JSONError] (\(displayException -> e) -> JSONDecodeError $ unlines [e, "Consider removing " <> actualYaml <> " manually."])+    . liftIO +    . Y.decodeFileEither+    $ actualYaml  where   -- On error, remove the etags file and set access time to 0. This should ensure the next invocation   -- may re-download and succeed.
lib/GHCup/Errors.hs view
@@ -149,6 +149,8 @@ data NotFoundInPATH = NotFoundInPATH FilePath   deriving Show +instance Exception NotFoundInPATH+ instance Pretty NotFoundInPATH where   pPrint (NotFoundInPATH exe) =     text $ "The exe " <> exe <> " was not found in PATH."
lib/GHCup/Types/JSON.hs view
@@ -28,9 +28,9 @@                                                    -- This is due to the boot file.  import           Control.Applicative            ( (<|>) )-import           Data.Aeson+import           Data.Aeson              hiding (Key) import           Data.Aeson.TH-import           Data.Aeson.Types+import           Data.Aeson.Types        hiding (Key) import           Data.List.NonEmpty             ( NonEmpty(..) ) import           Data.Text.Encoding            as E import           Data.Versions
lib/GHCup/Utils.hs view
@@ -22,13 +22,21 @@ module GHCup.Utils   ( module GHCup.Utils.Dirs   , module GHCup.Utils+#if defined(IS_WINDOWS)+  , module GHCup.Utils.Windows+#else+  , module GHCup.Utils.Posix+#endif   ) where   #if defined(IS_WINDOWS)-import           GHCup.Download+import GHCup.Utils.Windows+#else+import GHCup.Utils.Posix #endif+import           GHCup.Download import           GHCup.Errors import           GHCup.Types import           GHCup.Types.Optics@@ -51,9 +59,6 @@ import           Control.Monad.Trans.Resource                                          hiding ( throwM ) import           Control.Monad.IO.Unlift        ( MonadUnliftIO( withRunInIO ) )-#if defined(IS_WINDOWS)-import           Data.Bits-#endif import           Data.ByteString                ( ByteString ) import           Data.Either import           Data.Foldable@@ -69,12 +74,6 @@ import           System.Directory      hiding   ( findFiles ) import           System.FilePath import           System.IO.Error-#if defined(IS_WINDOWS)-import           System.Win32.Console-import           System.Win32.File     hiding ( copyFile )-import           System.Win32.Types-#endif-import           Text.PrettyPrint.HughesPJClass hiding ( (<>) ) import           Text.Regex.Posix import           URI.ByteString @@ -926,11 +925,7 @@ -- --   1. the build directory, depending on the KeepDirs setting --   2. the install destination, depending on whether the build failed-runBuildAction :: ( Pretty (V e)-                  , Show (V e)-                  , PopVariant BuildFailed e-                  , ToVariantMaybe BuildFailed e-                  , MonadReader env m+runBuildAction :: ( MonadReader env m                   , HasDirs env                   , HasSettings env                   , MonadIO m@@ -943,26 +938,43 @@                => FilePath        -- ^ build directory (cleaned up depending on Settings)                -> Maybe FilePath  -- ^ dir to *always* clean up on exception                -> Excepts e m a-               -> Excepts '[BuildFailed] m a+               -> Excepts e m a runBuildAction bdir instdir action = do   Settings {..} <- lift getSettings   let exAction = do         forM_ instdir $ \dir ->-          lift $ hideError doesNotExistErrorType $ recyclePathForcibly dir+          hideError doesNotExistErrorType $ recyclePathForcibly dir         when (keepDirs == Never)-          $ lift $ rmBDir bdir+          $ rmBDir bdir   v <--    flip onException exAction-    $ catchAllE-        (\es -> do-          exAction-          throwE (BuildFailed bdir es)-        ) action-+    flip onException (lift exAction)+    $ onE_ exAction action   when (keepDirs == Never || keepDirs == Errors) $ lift $ rmBDir bdir   pure v  +-- | Clean up the given directory if the action fails,+-- depending on the Settings.+cleanUpOnError :: ( MonadReader env m+                  , HasDirs env+                  , HasSettings env+                  , MonadIO m+                  , MonadMask m+                  , HasLog env+                  , MonadUnliftIO m+                  , MonadFail m+                  , MonadCatch m+                  )+               => FilePath        -- ^ build directory (cleaned up depending on Settings)+               -> Excepts e m a+               -> Excepts e m a+cleanUpOnError bdir action = do+  Settings {..} <- lift getSettings+  let exAction = when (keepDirs == Never) $ rmBDir bdir+  flip onException (lift exAction) $ onE_ exAction action+++ -- | Remove a build directory, ignoring if it doesn't exist and gracefully -- printing other errors without crashing. rmBDir :: (MonadReader env m, HasLog env, MonadUnliftIO m, MonadIO m) => FilePath -> m ()@@ -988,85 +1000,46 @@  -- | The file extension for executables. exeExt :: String-#if defined(IS_WINDOWS)-exeExt = ".exe"-#else-exeExt = ""-#endif+exeExt+  | isWindows = ".exe"+  | otherwise = ""  -- | The file extension for executables. exeExt' :: ByteString-#if defined(IS_WINDOWS)-exeExt' = ".exe"-#else-exeExt' = ""-#endif+exeExt'+  | isWindows = ".exe"+  | otherwise = ""  --- | Enables ANSI support on windows, does nothing on unix.------ Returns 'Left str' on errors and 'Right bool' on success, where--- 'bool' markes whether ansi support was already enabled.------ This function never crashes.------ Rip-off of https://docs.rs/ansi_term/0.12.1/x86_64-pc-windows-msvc/src/ansi_term/windows.rs.html#10-61-enableAnsiSupport :: IO (Either String Bool)-#if defined(IS_WINDOWS)-enableAnsiSupport = handleIO (pure . Left . displayException) $ do-  -- ref: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew-  -- Using `CreateFileW("CONOUT$", ...)` to retrieve the console handle works correctly even if STDOUT and/or STDERR are redirected-  h <- createFile "CONOUT$" (gENERIC_WRITE .|. gENERIC_READ)-    fILE_SHARE_WRITE Nothing oPEN_EXISTING 0 Nothing-  when (h == iNVALID_HANDLE_VALUE ) $ fail "invalid handle value" -  -- ref: https://docs.microsoft.com/en-us/windows/console/getconsolemode-  m <- getConsoleMode h -  -- VT processing not already enabled?-  if ((m .&. eNABLE_VIRTUAL_TERMINAL_PROCESSING) == 0)-  -- https://docs.microsoft.com/en-us/windows/console/setconsolemode-  then setConsoleMode h (m .|. eNABLE_VIRTUAL_TERMINAL_PROCESSING)-    >> pure (Right False)-  else pure (Right True)-#else-enableAnsiSupport = pure (Right True)-#endif-- -- | On unix, we can use symlinks, so we just get the -- symbolic link target. -- -- On windows, we have to emulate symlinks via shims, -- see 'createLink'. getLinkTarget :: FilePath -> IO FilePath-getLinkTarget fp = do-#if defined(IS_WINDOWS)-  content <- readFile (dropExtension fp <.> "shim")-  [p] <- pure . filter ("path = " `isPrefixOf`) . lines $ content-  pure $ stripNewline $ dropPrefix "path = " p-#else-  getSymbolicLinkTarget fp-#endif+getLinkTarget fp+  | isWindows = do+      content <- readFile (dropExtension fp <.> "shim")+      [p] <- pure . filter ("path = " `isPrefixOf`) . lines $ content+      pure $ stripNewline $ dropPrefix "path = " p+  | otherwise = getSymbolicLinkTarget fp   -- | Checks whether the path is a link. pathIsLink :: FilePath -> IO Bool-#if defined(IS_WINDOWS)-pathIsLink fp = doesPathExist (dropExtension fp <.> "shim")-#else-pathIsLink = pathIsSymbolicLink-#endif+pathIsLink fp+  | isWindows = doesPathExist (dropExtension fp <.> "shim")+  | otherwise = pathIsSymbolicLink fp   rmLink :: (MonadReader env m, HasDirs env, MonadIO m, MonadMask m) => FilePath -> m ()-#if defined(IS_WINDOWS)-rmLink fp = do-  hideError doesNotExistErrorType . recycleFile $ fp-  hideError doesNotExistErrorType . recycleFile $ (dropExtension fp <.> "shim")-#else-rmLink = hideError doesNotExistErrorType . recycleFile-#endif+rmLink fp+  | isWindows = do+      hideError doesNotExistErrorType . recycleFile $ fp+      hideError doesNotExistErrorType . recycleFile $ (dropExtension fp <.> "shim")+  | otherwise = hideError doesNotExistErrorType . recycleFile $ fp   -- | Creates a symbolic link on unix and a fake symlink on windows for@@ -1090,31 +1063,30 @@            => FilePath      -- ^ path to the target executable            -> FilePath      -- ^ path to be created            -> m ()-createLink link exe = do-#if defined(IS_WINDOWS)-  dirs <- getDirs-  let shimGen = cacheDir dirs </> "gs.exe"+createLink link exe+  | isWindows = do+      dirs <- getDirs+      let shimGen = cacheDir dirs </> "gs.exe" -  let shim = dropExtension exe <.> "shim"-      -- For hardlinks, link needs to be absolute.-      -- If link is relative, it's relative to the target exe.-      -- Note that (</>) drops lhs when rhs is absolute.-      fullLink = takeDirectory exe </> link-      shimContents = "path = " <> fullLink+      let shim = dropExtension exe <.> "shim"+          -- For hardlinks, link needs to be absolute.+          -- If link is relative, it's relative to the target exe.+          -- Note that (</>) drops lhs when rhs is absolute.+          fullLink = takeDirectory exe </> link+          shimContents = "path = " <> fullLink -  logDebug $ "rm -f " <> T.pack exe-  rmLink exe+      logDebug $ "rm -f " <> T.pack exe+      rmLink exe -  logDebug $ "ln -s " <> T.pack fullLink <> " " <> T.pack exe-  liftIO $ copyFile shimGen exe-  liftIO $ writeFile shim shimContents-#else-  logDebug $ "rm -f " <> T.pack exe-  hideError doesNotExistErrorType $ recycleFile exe+      logDebug $ "ln -s " <> T.pack fullLink <> " " <> T.pack exe+      liftIO $ copyFile shimGen exe+      liftIO $ writeFile shim shimContents+  | otherwise = do+      logDebug $ "rm -f " <> T.pack exe+      hideError doesNotExistErrorType $ recycleFile exe -  logDebug $ "ln -s " <> T.pack link <> " " <> T.pack exe-  liftIO $ createFileLink link exe-#endif+      logDebug $ "ln -s " <> T.pack link <> " " <> T.pack exe+      liftIO $ createFileLink link exe   ensureGlobalTools :: ( MonadMask m@@ -1129,23 +1101,20 @@                      , MonadFail m                      )                   => Excepts '[GPGError, DigestError , DownloadFailed, NoDownload] m ()-ensureGlobalTools = do-#if defined(IS_WINDOWS)-  (GHCupInfo _ _ gTools) <- lift getGHCupInfo-  dirs <- lift getDirs-  shimDownload <- liftE $ lE @_ @'[NoDownload]-    $ maybe (Left NoDownload) Right $ Map.lookup ShimGen gTools-  let dl = downloadCached' shimDownload (Just "gs.exe") Nothing-  void $ (\(DigestError _ _ _) -> do-      lift $ logWarn "Digest doesn't match, redownloading gs.exe..."-      lift $ logDebug ("rm -f " <> T.pack (cacheDir dirs </> "gs.exe"))-      lift $ hideError doesNotExistErrorType $ recycleFile (cacheDir dirs </> "gs.exe")-      liftE @'[GPGError, DigestError , DownloadFailed] $ dl-    ) `catchE` (liftE @'[GPGError, DigestError , DownloadFailed] dl)-  pure ()-#else-  pure ()-#endif+ensureGlobalTools+  | isWindows = do+      (GHCupInfo _ _ gTools) <- lift getGHCupInfo+      dirs <- lift getDirs+      shimDownload <- liftE $ lE @_ @'[NoDownload]+        $ maybe (Left NoDownload) Right $ Map.lookup ShimGen gTools+      let dl = downloadCached' shimDownload (Just "gs.exe") Nothing+      void $ (\DigestError{} -> do+          lift $ logWarn "Digest doesn't match, redownloading gs.exe..."+          lift $ logDebug ("rm -f " <> T.pack (cacheDir dirs </> "gs.exe"))+          lift $ hideError doesNotExistErrorType $ recycleFile (cacheDir dirs </> "gs.exe")+          liftE @'[GPGError, DigestError , DownloadFailed] $ dl+        ) `catchE` liftE @'[GPGError, DigestError , DownloadFailed] dl+  | otherwise = pure ()   -- | Ensure ghcup directory structure exists.
lib/GHCup/Utils/Dirs.hs view
@@ -25,9 +25,7 @@   , relativeSymlink   , withGHCupTmpDir   , getConfigFilePath-#if !defined(IS_WINDOWS)   , useXDG-#endif   , cleanupTrash   ) where@@ -59,7 +57,7 @@  import qualified Data.ByteString               as BS import qualified Data.Text                     as T-import qualified Data.YAML.Aeson               as Y+import qualified Data.Yaml.Aeson               as Y import qualified Text.Megaparsec               as MP import Control.Concurrent (threadDelay) @@ -75,26 +73,25 @@ -- If 'GHCUP_USE_XDG_DIRS' is set (to anything), -- then uses 'XDG_DATA_HOME/ghcup' as per xdg spec. ghcupBaseDir :: IO FilePath-ghcupBaseDir = do-#if defined(IS_WINDOWS)-  bdir <- fromMaybe "C:\\" <$> lookupEnv "GHCUP_INSTALL_BASE_PREFIX"-  pure (bdir </> "ghcup")-#else-  xdg <- useXDG-  if xdg-    then do-      bdir <- lookupEnv "XDG_DATA_HOME" >>= \case-        Just r  -> pure r-        Nothing -> do-          home <- liftIO getHomeDirectory-          pure (home </> ".local" </> "share")+ghcupBaseDir+  | isWindows = do+      bdir <- fromMaybe "C:\\" <$> lookupEnv "GHCUP_INSTALL_BASE_PREFIX"       pure (bdir </> "ghcup")-    else do-      bdir <- lookupEnv "GHCUP_INSTALL_BASE_PREFIX" >>= \case-        Just r  -> pure r-        Nothing -> liftIO getHomeDirectory-      pure (bdir </> ".ghcup")-#endif+  | otherwise = do+      xdg <- useXDG+      if xdg+        then do+          bdir <- lookupEnv "XDG_DATA_HOME" >>= \case+            Just r  -> pure r+            Nothing -> do+              home <- liftIO getHomeDirectory+              pure (home </> ".local" </> "share")+          pure (bdir </> "ghcup")+        else do+          bdir <- lookupEnv "GHCUP_INSTALL_BASE_PREFIX" >>= \case+            Just r  -> pure r+            Nothing -> liftIO getHomeDirectory+          pure (bdir </> ".ghcup")   -- | ~/.ghcup by default@@ -102,45 +99,41 @@ -- If 'GHCUP_USE_XDG_DIRS' is set (to anything), -- then uses 'XDG_CONFIG_HOME/ghcup' as per xdg spec. ghcupConfigDir :: IO FilePath-ghcupConfigDir = do-#if defined(IS_WINDOWS)-  ghcupBaseDir-#else-  xdg <- useXDG-  if xdg-    then do-      bdir <- lookupEnv "XDG_CONFIG_HOME" >>= \case-        Just r  -> pure r-        Nothing -> do-          home <- liftIO getHomeDirectory-          pure (home </> ".config")-      pure (bdir </> "ghcup")-    else do-      bdir <- lookupEnv "GHCUP_INSTALL_BASE_PREFIX" >>= \case-        Just r  -> pure r-        Nothing -> liftIO getHomeDirectory-      pure (bdir </> ".ghcup")-#endif+ghcupConfigDir+  | isWindows = ghcupBaseDir+  | otherwise = do+      xdg <- useXDG+      if xdg+        then do+          bdir <- lookupEnv "XDG_CONFIG_HOME" >>= \case+            Just r  -> pure r+            Nothing -> do+              home <- liftIO getHomeDirectory+              pure (home </> ".config")+          pure (bdir </> "ghcup")+        else do+          bdir <- lookupEnv "GHCUP_INSTALL_BASE_PREFIX" >>= \case+            Just r  -> pure r+            Nothing -> liftIO getHomeDirectory+          pure (bdir </> ".ghcup")   -- | If 'GHCUP_USE_XDG_DIRS' is set (to anything), -- then uses 'XDG_BIN_HOME' env var or defaults to '~/.local/bin' -- (which, sadly is not strictly xdg spec). ghcupBinDir :: IO FilePath-ghcupBinDir = do-#if defined(IS_WINDOWS)-  ghcupBaseDir <&> (</> "bin")-#else-  xdg <- useXDG-  if xdg-    then do-      lookupEnv "XDG_BIN_HOME" >>= \case-        Just r  -> pure r-        Nothing -> do-          home <- liftIO getHomeDirectory-          pure (home </> ".local" </> "bin")-    else ghcupBaseDir <&> (</> "bin")-#endif+ghcupBinDir+  | isWindows = ghcupBaseDir <&> (</> "bin")+  | otherwise = do+      xdg <- useXDG+      if xdg+        then do+          lookupEnv "XDG_BIN_HOME" >>= \case+            Just r  -> pure r+            Nothing -> do+              home <- liftIO getHomeDirectory+              pure (home </> ".local" </> "bin")+        else ghcupBaseDir <&> (</> "bin")   -- | Defaults to '~/.ghcup/cache'.@@ -148,21 +141,19 @@ -- If 'GHCUP_USE_XDG_DIRS' is set (to anything), -- then uses 'XDG_CACHE_HOME/ghcup' as per xdg spec. ghcupCacheDir :: IO FilePath-ghcupCacheDir = do-#if defined(IS_WINDOWS)-  ghcupBaseDir <&> (</> "cache")-#else-  xdg <- useXDG-  if xdg-    then do-      bdir <- lookupEnv "XDG_CACHE_HOME" >>= \case-        Just r  -> pure r-        Nothing -> do-          home <- liftIO getHomeDirectory-          pure (home </> ".cache")-      pure (bdir </> "ghcup")-    else ghcupBaseDir <&> (</> "cache")-#endif+ghcupCacheDir+  | isWindows = ghcupBaseDir <&> (</> "cache")+  | otherwise = do+      xdg <- useXDG+      if xdg+        then do+          bdir <- lookupEnv "XDG_CACHE_HOME" >>= \case+            Just r  -> pure r+            Nothing -> do+              home <- liftIO getHomeDirectory+              pure (home </> ".cache")+          pure (bdir </> "ghcup")+        else ghcupBaseDir <&> (</> "cache")   -- | Defaults to '~/.ghcup/logs'.@@ -170,21 +161,19 @@ -- If 'GHCUP_USE_XDG_DIRS' is set (to anything), -- then uses 'XDG_CACHE_HOME/ghcup/logs' as per xdg spec. ghcupLogsDir :: IO FilePath-ghcupLogsDir = do-#if defined(IS_WINDOWS)-  ghcupBaseDir <&> (</> "logs")-#else-  xdg <- useXDG-  if xdg-    then do-      bdir <- lookupEnv "XDG_CACHE_HOME" >>= \case-        Just r  -> pure r-        Nothing -> do-          home <- liftIO getHomeDirectory-          pure (home </> ".cache")-      pure (bdir </> "ghcup" </> "logs")-    else ghcupBaseDir <&> (</> "logs")-#endif+ghcupLogsDir+  | isWindows = ghcupBaseDir <&> (</> "logs")+  | otherwise = do+      xdg <- useXDG+      if xdg+        then do+          bdir <- lookupEnv "XDG_CACHE_HOME" >>= \case+            Just r  -> pure r+            Nothing -> do+              home <- liftIO getHomeDirectory+              pure (home </> ".cache")+          pure (bdir </> "ghcup" </> "logs")+        else ghcupBaseDir <&> (</> "logs")   -- | '~/.ghcup/trash'.@@ -222,7 +211,7 @@   contents <- liftIO $ handleIO' NoSuchThing (\_ -> pure Nothing) $ Just <$> BS.readFile filepath   case contents of       Nothing -> pure defaultUserSettings-      Just contents' -> lE' JSONDecodeError . first snd . Y.decode1Strict $ contents'+      Just contents' -> lE' JSONDecodeError . first displayException . Y.decodeEither' $ contents'       -------------------------@@ -320,10 +309,8 @@     --------------  -#if !defined(IS_WINDOWS) useXDG :: IO Bool useXDG = isJust <$> lookupEnv "GHCUP_USE_XDG_DIRS"-#endif   relativeSymlink :: FilePath  -- ^ the path in which to create the symlink
+ lib/GHCup/Utils/Posix.hs view
@@ -0,0 +1,14 @@+module GHCup.Utils.Posix where+++-- | Enables ANSI support on windows, does nothing on unix.+--+-- Returns 'Left str' on errors and 'Right bool' on success, where+-- 'bool' markes whether ansi support was already enabled.+--+-- This function never crashes.+--+-- Rip-off of https://docs.rs/ansi_term/0.12.1/x86_64-pc-windows-msvc/src/ansi_term/windows.rs.html#10-61+enableAnsiSupport :: IO (Either String Bool)+enableAnsiSupport = pure (Right True)+
lib/GHCup/Utils/Prelude.hs view
@@ -17,14 +17,25 @@  GHCup specific prelude. Lots of Excepts functionality. -}-module GHCup.Utils.Prelude where-+module GHCup.Utils.Prelude+  (module GHCup.Utils.Prelude, #if defined(IS_WINDOWS)-import           GHCup.Types+   module GHCup.Utils.Prelude.Windows+#else+   module GHCup.Utils.Prelude.Posix #endif+  )+where++import           GHCup.Types import           GHCup.Errors import           GHCup.Types.Optics import {-# SOURCE #-} GHCup.Utils.Logger+#if defined(IS_WINDOWS)+import           GHCup.Utils.Prelude.Windows+#else+import           GHCup.Utils.Prelude.Posix+#endif  import           Control.Applicative import           Control.Exception.Safe@@ -45,17 +56,13 @@ import           Haskus.Utils.Variant.Excepts import           Text.PrettyPrint.HughesPJClass ( prettyShow, Pretty ) import           System.IO.Error-#if defined(IS_WINDOWS) import           System.IO.Temp-#endif import           System.IO.Unsafe import           System.Directory import           System.FilePath -#if defined(IS_WINDOWS) import           Control.Retry import           GHC.IO.Exception-#endif  import qualified Data.ByteString               as B import qualified Data.ByteString.Lazy          as L@@ -69,9 +76,6 @@ import qualified Data.Text.Lazy.Builder        as B import qualified Data.Text.Lazy.Builder.Int    as B import qualified Data.Text.Lazy.Encoding       as TLE-#if defined(IS_WINDOWS)-import qualified System.Win32.File             as Win32-#endif   -- $setup@@ -283,7 +287,17 @@   Left  _ -> throwM e   Right r -> pure r +throwMaybe :: (Exception a, MonadThrow m) => a -> Maybe b -> m b+throwMaybe a m = case m of+  Nothing -> throwM a+  Just r -> pure r +throwMaybeM :: (Exception a, MonadThrow m) => a -> m (Maybe b) -> m b+throwMaybeM a am = do+  m <- am+  throwMaybe a m++ verToBS :: Version -> ByteString verToBS = E.encodeUtf8 . prettyVer @@ -428,19 +442,17 @@                        )                     => FilePath                     -> m ()-recyclePathForcibly fp = do-#if defined(IS_WINDOWS)-  Dirs { recycleDir } <- getDirs-  tmp <- liftIO $ createTempDirectory recycleDir "recyclePathForcibly"-  let dest = tmp </> takeFileName fp-  liftIO (Win32.moveFileEx fp (Just dest) 0)-      `catch`-      (\e -> if isPermissionError e {- EXDEV on windows -} then recover (liftIO $ removePathForcibly fp) else throwIO e)-      `finally`-        (liftIO $ handleIO (\_ -> pure ()) $ removePathForcibly tmp)-#else-  liftIO $ removePathForcibly fp-#endif+recyclePathForcibly fp+  | isWindows = do+      Dirs { recycleDir } <- getDirs+      tmp <- liftIO $ createTempDirectory recycleDir "recyclePathForcibly"+      let dest = tmp </> takeFileName fp+      liftIO (moveFile fp dest)+          `catch`+          (\e -> if isPermissionError e {- EXDEV on windows -} then recover (liftIO $ removePathForcibly fp) else throwIO e)+          `finally`+            liftIO (handleIO (\_ -> pure ()) $ removePathForcibly tmp)+  | otherwise = liftIO $ removePathForcibly fp   rmPathForcibly :: ( MonadIO m@@ -448,23 +460,17 @@                   )                => FilePath                -> m ()-rmPathForcibly fp =-#if defined(IS_WINDOWS)-  recover (liftIO $ removePathForcibly fp)-#else-  liftIO $ removePathForcibly fp-#endif+rmPathForcibly fp+  | isWindows = recover (liftIO $ removePathForcibly fp)+  | otherwise = liftIO $ removePathForcibly fp   rmDirectory :: (MonadIO m, MonadMask m)             => FilePath             -> m ()-rmDirectory fp =-#if defined(IS_WINDOWS)-  recover (liftIO $ removeDirectory fp)-#else-  liftIO $ removeDirectory fp-#endif+rmDirectory fp+  | isWindows = recover (liftIO $ removeDirectory fp)+  | otherwise = liftIO $ removeDirectory fp   -- https://www.sqlite.org/src/info/89f1848d7f@@ -476,20 +482,18 @@                )             => FilePath             -> m ()-recycleFile fp = do-#if defined(IS_WINDOWS)-  Dirs { recycleDir } <- getDirs-  liftIO $ whenM (doesDirectoryExist fp) $ ioError (IOError Nothing InappropriateType "recycleFile" "" Nothing (Just fp))-  tmp <- liftIO $ createTempDirectory recycleDir "recycleFile"-  let dest = tmp </> takeFileName fp-  liftIO (Win32.moveFileEx fp (Just dest) 0)-    `catch`-      (\e -> if isPermissionError e {- EXDEV on windows -} then recover (liftIO $ removePathForcibly fp) else throwIO e)-    `finally`-      (liftIO $ handleIO (\_ -> pure ()) $ removePathForcibly tmp)-#else-  liftIO $ removeFile fp-#endif+recycleFile fp+  | isWindows = do+      Dirs { recycleDir } <- getDirs+      liftIO $ whenM (doesDirectoryExist fp) $ ioError (IOError Nothing InappropriateType "recycleFile" "" Nothing (Just fp))+      tmp <- liftIO $ createTempDirectory recycleDir "recycleFile"+      let dest = tmp </> takeFileName fp+      liftIO (moveFile fp dest)+        `catch`+          (\e -> if isPermissionError e {- EXDEV on windows -} then recover (liftIO $ removePathForcibly fp) else throwIO e)+        `finally`+          liftIO (handleIO (\_ -> pure ()) $ removePathForcibly tmp)+  | otherwise = liftIO $ removeFile fp   rmFile :: ( MonadIO m@@ -497,26 +501,19 @@           )       => FilePath       -> m ()-rmFile fp =-#if defined(IS_WINDOWS)-  recover (liftIO $ removeFile fp)-#else-  liftIO $ removeFile fp-#endif+rmFile fp+  | isWindows = recover (liftIO $ removeFile fp)+  | otherwise = liftIO $ removeFile fp   rmDirectoryLink :: (MonadIO m, MonadMask m, MonadReader env m, HasDirs env)                 => FilePath                 -> m ()-rmDirectoryLink fp = -#if defined(IS_WINDOWS)-  recover (liftIO $ removeDirectoryLink fp)-#else-  liftIO $ removeDirectoryLink fp-#endif+rmDirectoryLink fp+  | isWindows = recover (liftIO $ removeDirectoryLink fp)+  | otherwise = liftIO $ removeDirectoryLink fp  -#if defined(IS_WINDOWS) recover :: (MonadIO m, MonadMask m) => m a -> m a recover action =    recovering (fullJitterBackoff 25000 <> limitRetries 10)@@ -525,7 +522,6 @@     ,\_ -> Handler (\e -> pure (ioeGetErrorType e == UnsatisfiedConstraints))     ]     (\_ -> action)-#endif   copyFileE :: (CopyError :< xs, MonadCatch m, MonadIO m) => FilePath -> FilePath -> Excepts xs m ()@@ -741,6 +737,4 @@ breakOn needle haystack | needle `isPrefixOf` haystack = ([], haystack) breakOn _ [] = ([], []) breakOn needle (x:xs) = first (x:) $ breakOn needle xs-- 
+ lib/GHCup/Utils/Prelude/Posix.hs view
@@ -0,0 +1,20 @@+module GHCup.Utils.Prelude.Posix where++import System.Directory+import System.Posix.Files+++isWindows, isNotWindows :: Bool+isWindows = False+isNotWindows = not isWindows+++moveFile :: FilePath -> FilePath -> IO ()+moveFile = rename+++moveFilePortable :: FilePath -> FilePath -> IO ()+moveFilePortable from to = do+  copyFile from to+  removeFile from+  
+ lib/GHCup/Utils/Prelude/Windows.hs view
@@ -0,0 +1,17 @@+module GHCup.Utils.Prelude.Windows where++import qualified System.Win32.File             as Win32+++isWindows, isNotWindows :: Bool+isWindows = True+isNotWindows = not isWindows+++moveFile :: FilePath -> FilePath -> IO ()+moveFile from to = Win32.moveFileEx from (Just to) 0+++moveFilePortable :: FilePath -> FilePath -> IO ()+moveFilePortable = Win32.moveFile+
+ lib/GHCup/Utils/Windows.hs view
@@ -0,0 +1,48 @@+{-# LANGUAGE CPP                   #-}+{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE OverloadedStrings     #-}++module GHCup.Utils.Windows where+++import           Control.Exception.Safe+import           Control.Monad+#if !MIN_VERSION_base(4,13,0)+import           Control.Monad.Fail             ( MonadFail )+#endif+import           Data.Bits++import           System.Win32.Console+import           System.Win32.File     hiding ( copyFile )+import           System.Win32.Types+++++-- | Enables ANSI support on windows, does nothing on unix.+--+-- Returns 'Left str' on errors and 'Right bool' on success, where+-- 'bool' markes whether ansi support was already enabled.+--+-- This function never crashes.+--+-- Rip-off of https://docs.rs/ansi_term/0.12.1/x86_64-pc-windows-msvc/src/ansi_term/windows.rs.html#10-61+enableAnsiSupport :: IO (Either String Bool)+enableAnsiSupport = handleIO (pure . Left . displayException) $ do+  -- ref: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew+  -- Using `CreateFileW("CONOUT$", ...)` to retrieve the console handle works correctly even if STDOUT and/or STDERR are redirected+  h <- createFile "CONOUT$" (gENERIC_WRITE .|. gENERIC_READ)+    fILE_SHARE_WRITE Nothing oPEN_EXISTING 0 Nothing+  when (h == iNVALID_HANDLE_VALUE ) $ fail "invalid handle value"++  -- ref: https://docs.microsoft.com/en-us/windows/console/getconsolemode+  m <- getConsoleMode h++  -- VT processing not already enabled?+  if m .&. eNABLE_VIRTUAL_TERMINAL_PROCESSING == 0+  -- https://docs.microsoft.com/en-us/windows/console/setconsolemode+  then setConsoleMode h (m .|. eNABLE_VIRTUAL_TERMINAL_PROCESSING)+    >> pure (Right False)+  else pure (Right True)+
lib/GHCup/Version.hs view
@@ -28,7 +28,7 @@ -- Note that when updating this, CI requires that the file exsists AND the same file exists at -- 'https://www.haskell.org/ghcup/exp/ghcup-<ver>.yaml' with some newlines added. ghcupURL :: URI-ghcupURL = [uri|https://www.haskell.org/ghcup/data/ghcup-0.0.6.yaml|]+ghcupURL = [uri|https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-0.0.6.yaml|]  -- | The current ghcup version. ghcUpVer :: PVP
+ test/golden/GHCupInfo.json view
@@ -0,0 +1,16026 @@+{+    "samples": [+        {+            "ghcupDownloads": {+                "GHC": {+                    "1.5.5": {+                        "viArch": {+                            "A_64": {+                                "Darwin": {+                                    "( < 7.7.6 && > 4.1.5 )": {+                                        "dlHash": "mxda",+                                        "dlSubdir": "풗(cf(\u0014",+                                        "dlUri": "http:"+                                    }+                                },+                                "FreeBSD": {+                                    "( == 1.7.3 && >= 1.2.7 && > 7.1.7 && >= 7.7.8 && > 7.8.2 && >= 8.7.4 ) || ( == 1.4.1 && >= 1.4.3 && < 5.4.1 && >= 1.5.3 && == 2.5.5 && >= 3.5.2 && == 3.7.6 && <= 3.6.5 ) || ( < 7.6.7 && < 5.7.4 && < 4.8.2 && < 8.8.2 && <= 3.8.2 && <= 1.6.6 )": {+                                        "dlHash": "adjgqhno",+                                        "dlSubdir": null,+                                        "dlUri": "http:jsv"+                                    },+                                    "( >= 7.3.6 && >= 4.7.3 && >= 2.1.4 && >= 7.7.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u000c*H<d5"+                                        },+                                        "dlUri": "http:jikksrxk"+                                    }+                                },+                                "Windows": {}+                            },+                            "A_ARM": {+                                "Darwin": {+                                    "( <= 2.1.9 && > 3.2.3 && > 3.1.4 && <= 2.3.4 )": {+                                        "dlHash": "sd",+                                        "dlSubdir": "𩏺\u0006󶔆*&𥳟m:",+                                        "dlUri": "https:mcompak"+                                    },+                                    "( == 1.5.3 && >= 6.5.3 && > 7.3.5 && == 2.2.8 && < 3.6.3 && >= 7.1.8 ) || ( <= 4.5.1 )": {+                                        "dlHash": "bwml",+                                        "dlSubdir": null,+                                        "dlUri": "http:ertm"+                                    },+                                    "( == 3.5.9 && >= 5.1.8 && < 6.4.6 ) || ( <= 2.5.2 && < 5.1.1 && == 2.5.4 && <= 8.5.2 ) || ( <= 6.1.7 ) || ( >= 4.6.4 && >= 3.5.9 && <= 2.4.8 )": {+                                        "dlHash": "eys",+                                        "dlSubdir": null,+                                        "dlUri": "https:tyfiky"+                                    },+                                    "( > 3.1.5 && < 5.3.1 && == 4.1.4 && == 5.7.1 && <= 3.6.7 && == 2.5.7 ) || ( > 1.6.1 && <= 4.8.7 && >= 8.4.7 && == 5.6.2 && >= 6.5.4 && >= 1.2.8 && == 7.2.6 && < 8.7.4 && == 5.6.5 )": {+                                        "dlHash": "ngh",+                                        "dlSubdir": "}󺒡j\u0015Qu",+                                        "dlUri": "http:s"+                                    },+                                    "( > 7.1.4 && < 8.6.4 && > 8.6.8 && == 6.2.3 && <= 3.5.6 && <= 6.4.7 && == 6.3.4 ) || ( <= 5.6.8 && <= 2.8.6 && <= 7.1.3 && >= 6.8.2 && == 2.6.7 && < 8.8.8 && < 6.8.8 ) || ( > 1.1.4 && >= 2.5.4 && == 7.8.5 && == 8.2.8 )": {+                                        "dlHash": "acwsftsf",+                                        "dlSubdir": null,+                                        "dlUri": "http:zlyj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "sfywdw",+                                        "dlSubdir": "5Q󳥒d\"𧙩",+                                        "dlUri": "http:jd"+                                    }+                                },+                                "FreeBSD": {},+                                "Linux_Alpine": {+                                    "( <= 6.2.6 && < 5.2.2 && >= 3.1.5 && < 1.4.3 && < 7.1.1 ) || ( >= 4.6.7 && == 1.3.4 && < 1.5.6 && <= 1.2.4 && >= 2.3.8 ) || ( <= 1.5.7 && >= 5.3.6 && < 8.3.6 && >= 5.7.6 && > 7.8.3 ) || ( < 3.5.8 && == 3.8.8 && == 4.4.2 && > 3.8.4 && > 2.1.5 && <= 4.6.6 && < 3.5.3 ) || ( < 8.1.6 && == 5.8.1 && >= 3.3.5 && <= 4.7.2 )": {+                                        "dlHash": "s",+                                        "dlSubdir": "\u001b",+                                        "dlUri": "http:vtkcqf"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( < 6.2.6 && < 5.2.3 && > 3.1.5 && < 3.1.2 && < 6.8.6 && == 8.3.7 )": {+                                        "dlHash": "szx",+                                        "dlSubdir": {+                                            "RegexDir": "VGs󵕢"+                                        },+                                        "dlUri": "https:xikz"+                                    },+                                    "( <= 6.6.4 )": {+                                        "dlHash": "mave",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:scyue"+                                    },+                                    "( == 2.5.8 && < 5.2.2 && == 7.2.6 && < 3.6.8 && >= 4.8.5 && >= 7.6.4 && > 2.5.2 ) || ( == 6.8.1 && >= 2.6.5 ) || ( >= 9.4.8 && < 7.4.8 && > 2.8.1 && >= 2.7.4 && > 5.7.5 && < 5.6.6 )": {+                                        "dlHash": "cgdtdiam",+                                        "dlSubdir": {+                                            "RegexDir": "M\u0010)\u0006􈍳.\u0007"+                                        },+                                        "dlUri": "http:smwqbtcb"+                                    },+                                    "( == 4.3.5 && > 6.1.3 && > 8.5.8 && < 5.3.3 ) || ( >= 8.1.7 && < 6.6.1 && > 3.1.8 && >= 4.8.8 && > 2.7.8 && > 5.1.5 && < 4.5.3 && < 1.7.8 ) || ( >= 4.8.2 && >= 7.1.4 && > 5.2.2 && <= 3.2.1 && < 6.7.8 && > 2.2.7 && > 5.8.6 )": {+                                        "dlHash": "our",+                                        "dlSubdir": "ٜਲ਼I",+                                        "dlUri": "https:sqm"+                                    },+                                    "( == 8.3.5 && >= 9.4.7 && >= 2.3.3 && < 5.1.4 && <= 7.6.6 && < 3.6.4 && == 4.6.4 && > 6.6.8 && >= 1.2.5 )": {+                                        "dlHash": "ey",+                                        "dlSubdir": {+                                            "RegexDir": "5"+                                        },+                                        "dlUri": "https:hez"+                                    },+                                    "( >= 4.5.3 && > 7.1.1 && >= 6.5.8 && < 5.5.7 && <= 3.8.2 && <= 7.6.7 )": {+                                        "dlHash": "r",+                                        "dlSubdir": null,+                                        "dlUri": "https:wkefnppd"+                                    },+                                    "( >= 6.5.6 && < 7.4.3 && < 7.8.8 && >= 7.3.4 && > 2.6.6 && < 3.7.2 && == 3.5.8 )": {+                                        "dlHash": "rhy",+                                        "dlSubdir": {+                                            "RegexDir": "\u0014S"+                                        },+                                        "dlUri": "https:czr"+                                    },+                                    "( >= 7.1.3 && <= 6.8.3 && <= 1.3.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u001ef(\u0017]",+                                        "dlUri": "http:gulqjp"+                                    }+                                },+                                "Windows": {+                                    "( < 2.4.5 && == 1.2.3 && > 6.4.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u0008/\u001a\u001dG󹸥",+                                        "dlUri": "https:dcxnra"+                                    },+                                    "( < 2.5.5 && == 3.7.7 )": {+                                        "dlHash": "lyto",+                                        "dlSubdir": {+                                            "RegexDir": "/"+                                        },+                                        "dlUri": "http:opby"+                                    },+                                    "( < 8.1.2 && == 1.1.3 && < 5.1.7 && < 1.8.3 && == 5.3.2 && == 1.7.3 && <= 2.5.1 )": {+                                        "dlHash": "tjmplbb",+                                        "dlSubdir": "󴏭󰁮rKo9( ",+                                        "dlUri": "https:zecvva"+                                    },+                                    "( <= 3.6.8 && >= 6.2.8 && < 6.2.4 && >= 7.1.6 && > 1.5.1 && <= 5.4.6 && <= 7.5.9 ) || ( >= 6.2.8 && <= 1.4.1 && >= 5.8.4 && > 6.2.7 && > 3.8.8 && <= 7.2.5 && >= 5.2.1 && >= 2.5.6 && >= 7.7.8 ) || ( > 8.4.2 && > 6.2.8 && > 6.4.1 && < 7.1.4 && > 2.3.8 && >= 7.4.1 && <= 8.5.6 )": {+                                        "dlHash": "vytqlx",+                                        "dlSubdir": {+                                            "RegexDir": "EY𖦫W"+                                        },+                                        "dlUri": "https:nhipycil"+                                    },+                                    "( == 8.2.2 ) || ( == 7.6.2 && <= 3.8.8 && == 7.6.1 && > 7.5.5 && == 7.7.2 && == 4.8.5 && <= 4.2.8 && < 2.7.5 && >= 8.1.1 )": {+                                        "dlHash": "szquv",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:mtld"+                                    },+                                    "( >= 3.7.7 ) || ( >= 5.5.1 && == 8.1.6 && >= 8.7.5 && < 5.4.6 && > 1.2.3 && < 8.2.3 && >= 2.5.3 )": {+                                        "dlHash": "yqtvjn",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "FreeBSD": {+                                    "( <= 5.6.5 && >= 4.8.8 && >= 9.8.8 && < 6.1.1 && == 4.1.8 && < 6.4.2 && >= 3.3.6 && == 3.4.7 )": {+                                        "dlHash": "jsknyx",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:haopbt"+                                    },+                                    "( <= 5.7.4 && < 2.6.6 && > 4.1.6 ) || ( >= 1.1.7 && == 8.3.4 )": {+                                        "dlHash": "tjprwf",+                                        "dlSubdir": {+                                            "RegexDir": "{􍗷𫝴􆙢𭌯[i"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( == 3.5.3 ) || ( > 1.1.3 && >= 8.5.1 && <= 6.6.6 && == 2.5.4 )": {+                                        "dlHash": "xtbnnhq",+                                        "dlSubdir": {+                                            "RegexDir": "."+                                        },+                                        "dlUri": "https:no"+                                    },+                                    "( > 3.7.3 && >= 7.3.6 )": {+                                        "dlHash": "qp",+                                        "dlSubdir": "^",+                                        "dlUri": "https:rwy"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "sknlx",+                                        "dlSubdir": "꩐󷨢􉸩[􌲹𡡙;-",+                                        "dlUri": "https:tg"+                                    }+                                },+                                "Linux_RedHat": {+                                    "( < 8.1.3 && < 6.4.7 && > 4.2.3 && >= 4.6.5 && > 6.1.3 && > 5.4.4 && <= 5.8.3 ) || ( == 8.8.4 && <= 9.5.1 && > 8.2.3 && == 5.1.7 && == 2.6.5 && < 3.5.7 && < 2.4.3 && <= 6.6.8 && <= 6.1.3 ) || ( <= 2.1.2 && < 1.2.3 )": {+                                        "dlHash": "jskagf",+                                        "dlSubdir": "",+                                        "dlUri": "http:aypeaihv"+                                    },+                                    "( <= 5.2.6 )": {+                                        "dlHash": "zrjivx",+                                        "dlSubdir": "燕\u0012S~痁%𗪭",+                                        "dlUri": "https:lkoygod"+                                    },+                                    "( <= 7.7.7 && > 8.4.2 && >= 6.4.8 && <= 3.1.4 && == 2.8.1 && <= 6.5.1 && <= 8.1.3 && < 4.5.7 )": {+                                        "dlHash": "mhohccfp",+                                        "dlSubdir": {+                                            "RegexDir": "ꢩ8"+                                        },+                                        "dlUri": "https:rwjigrn"+                                    },+                                    "( == 2.4.8 && > 4.1.8 && <= 4.7.3 && < 7.6.7 && <= 5.8.3 && < 6.4.8 && >= 8.7.1 && <= 6.3.7 && >= 6.1.1 )": {+                                        "dlHash": "nrnhm",+                                        "dlSubdir": {+                                            "RegexDir": "𪭱𖽅\u0008𮊽􄲥"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( > 1.6.4 && < 8.6.8 && == 4.1.1 && > 4.8.7 && <= 4.8.8 && <= 8.1.1 && == 5.8.3 && <= 1.7.8 ) || ( == 2.2.3 ) || ( == 1.3.4 && > 6.3.2 && <= 6.2.2 && == 7.3.6 && < 8.4.5 && <= 2.1.5 && <= 2.5.7 && > 7.4.6 )": {+                                        "dlHash": "qs",+                                        "dlSubdir": {+                                            "RegexDir": "􂼙󲕸𝨞qi󹠙\u001f"+                                        },+                                        "dlUri": "https:xdl"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "khfmumk",+                                        "dlSubdir": "bJ􏂐H",+                                        "dlUri": "http:"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:waouwhj",+                        "viPostInstall": "voj",+                        "viPostRemove": null,+                        "viPreCompile": "yma",+                        "viSourceDL": {+                            "dlHash": "wv",+                            "dlSubdir": "Py𗁫\\@东~",+                            "dlUri": "https:"+                        },+                        "viTags": [+                            "<hd>N",+                            "base-8.7.6",+                            "Latest",+                            "Prerelease"+                        ]+                    },+                    "7.5.5": {+                        "viArch": {+                            "A_ARM64": {+                                "Darwin": {+                                    "( == 4.3.2 && < 4.6.4 )": {+                                        "dlHash": "vdurp",+                                        "dlSubdir": {+                                            "RegexDir": "l~"+                                        },+                                        "dlUri": "http:g"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "w*O󺲲IL󲺘\u001b"+                                        },+                                        "dlUri": "https:kb"+                                    }+                                },+                                "Linux_Alpine": {+                                    "( == 6.4.4 && > 1.4.5 && <= 8.8.7 )": {+                                        "dlHash": "bch",+                                        "dlSubdir": {+                                            "RegexDir": "sVN\tᔼ\u0007\u0018B"+                                        },+                                        "dlUri": "https:eotnqxx"+                                    },+                                    "( > 6.6.6 && > 4.3.6 && < 2.4.7 && > 7.3.8 && > 8.2.6 && <= 8.5.4 && > 1.3.2 && < 5.2.2 && == 6.3.3 )": {+                                        "dlHash": "mvzcesc",+                                        "dlSubdir": null,+                                        "dlUri": "http:dm"+                                    },+                                    "( >= 1.1.7 && >= 4.6.7 && < 2.5.2 && > 6.1.7 && >= 2.7.4 && == 3.1.1 && == 1.3.2 && < 2.4.8 && >= 4.2.8 )": {+                                        "dlHash": "wbxig",+                                        "dlSubdir": {+                                            "RegexDir": "𒌙􀑲]\\r>-"+                                        },+                                        "dlUri": "https:qia"+                                    }+                                },+                                "Linux_Exherbo": {+                                    "( < 9.6.7 && > 2.1.5 && > 4.4.5 && <= 1.6.1 && <= 5.8.5 && < 2.8.5 && >= 8.2.8 && > 6.3.8 && >= 3.5.4 )": {+                                        "dlHash": "jgm",+                                        "dlSubdir": "8",+                                        "dlUri": "https:sqa"+                                    },+                                    "( > 2.4.7 && <= 2.5.8 && < 4.5.7 && >= 3.5.6 && <= 8.8.6 && >= 5.7.3 ) || ( == 7.7.7 && >= 8.4.8 ) || ( > 7.5.1 && == 5.8.7 && < 3.3.1 && <= 1.4.4 && < 6.8.3 && <= 5.4.1 && == 2.5.7 && > 3.6.7 ) || ( <= 6.3.6 && >= 6.3.3 && >= 2.2.4 && == 2.1.1 ) || ( == 6.1.8 && >= 3.1.1 && > 3.2.8 && > 4.8.5 ) || ( <= 7.3.8 && >= 7.5.7 )": {+                                        "dlHash": "zbdvf",+                                        "dlSubdir": null,+                                        "dlUri": "https:cznvqbr"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( <= 6.4.1 && < 7.1.3 && >= 1.1.3 && == 1.7.4 && < 3.4.6 && > 8.5.2 && >= 3.6.2 ) || ( == 5.8.1 && >= 8.2.1 && < 5.7.1 && == 4.6.7 && >= 5.1.5 && == 3.1.3 && > 5.5.1 && > 4.8.7 ) || ( < 4.5.7 && >= 6.5.5 && >= 5.7.2 && <= 4.6.1 ) || ( <= 9.8.3 ) || ( >= 2.1.3 && <= 6.8.1 && < 7.1.5 && > 4.2.2 && > 7.8.5 && > 8.5.3 ) || ( == 3.4.1 && > 7.2.8 && == 5.4.3 && <= 6.6.2 && < 2.5.2 && == 9.6.2 && <= 6.6.5 && == 8.6.8 && < 7.1.6 )": {+                                        "dlHash": "ikui",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( > 1.5.6 && >= 6.6.5 && <= 5.4.2 ) || ( >= 4.7.2 && < 1.5.5 && >= 8.7.8 && > 2.3.6 && == 7.6.7 && < 5.7.4 && <= 6.8.8 && > 4.3.4 && > 6.8.8 )": {+                                        "dlHash": "zllopcph",+                                        "dlSubdir": null,+                                        "dlUri": "http:apteyol"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "hrd",+                                        "dlSubdir": "n𦒪M\u0004o",+                                        "dlUri": "https:ae"+                                    }+                                }+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": "drbiff",+                        "viPostRemove": "lk",+                        "viPreCompile": "thzbtj",+                        "viSourceDL": {+                            "dlHash": "jpouxbme",+                            "dlSubdir": "",+                            "dlUri": "https:uyk"+                        },+                        "viTags": [+                            "Latest",+                            "base-4.7.6",+                            "\u0001+n𫛚\r",+                            "Latest"+                        ]+                    },+                    "7.7.6": {+                        "viArch": {+                            "A_64": {+                                "Darwin": {+                                    "unknown_versioning": {+                                        "dlHash": "vborgjm",+                                        "dlSubdir": {+                                            "RegexDir": "JK{"+                                        },+                                        "dlUri": "https:"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( < 7.3.7 && <= 6.6.2 && >= 9.2.8 && == 7.4.2 && == 6.7.2 && >= 3.5.8 && > 4.6.3 )": {+                                        "dlHash": "nzgc",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:j"+                                    },+                                    "( <= 5.2.1 && > 2.2.7 && < 5.2.6 && >= 4.1.2 && >= 2.4.8 )": {+                                        "dlHash": "mhzp",+                                        "dlSubdir": null,+                                        "dlUri": "https:e"+                                    },+                                    "( <= 8.8.1 && > 8.3.3 && <= 1.8.7 && <= 7.3.8 && > 5.6.5 )": {+                                        "dlHash": "mlfacqf",+                                        "dlSubdir": {+                                            "RegexDir": "ὼ{-𧟯􋣠^살["+                                        },+                                        "dlUri": "http:pb"+                                    },+                                    "( > 1.6.5 && == 2.5.5 && == 4.5.3 )": {+                                        "dlHash": "mcg",+                                        "dlSubdir": {+                                            "RegexDir": "Z8=P"+                                        },+                                        "dlUri": "http:sfd"+                                    },+                                    "( >= 4.5.8 && >= 6.6.5 )": {+                                        "dlHash": "wrbrxm",+                                        "dlSubdir": null,+                                        "dlUri": "https:i"+                                    },+                                    "( >= 6.1.2 && >= 5.3.8 && <= 4.7.7 && == 1.8.8 && == 4.5.8 && == 7.2.5 ) || ( == 2.4.1 && <= 6.6.1 && == 3.5.6 ) || ( < 6.3.7 && >= 5.4.2 && > 1.6.1 && == 4.3.4 && >= 3.7.5 && == 1.1.5 && > 3.2.8 && == 5.6.7 && <= 4.1.4 ) || ( >= 2.6.2 && >= 6.6.4 && <= 2.1.7 && >= 8.5.2 && <= 2.3.6 && == 4.4.8 && < 3.4.1 && > 4.1.6 )": {+                                        "dlHash": "pwm",+                                        "dlSubdir": {+                                            "RegexDir": "󾁬`􉗏%<উ"+                                        },+                                        "dlUri": "https:e"+                                    },+                                    "( >= 8.6.4 && > 4.6.1 && <= 4.6.3 && == 3.2.5 && == 1.4.8 && >= 3.1.6 && > 3.4.3 )": {+                                        "dlHash": "iiwcotym",+                                        "dlSubdir": {+                                            "RegexDir": "\"\u0003Q\u000b\u0001𥘏篖"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "lwki",+                                        "dlSubdir": null,+                                        "dlUri": "http:wi"+                                    }+                                },+                                "Linux_RedHat": {+                                    "( == 4.7.8 && >= 2.4.1 && == 6.1.7 && > 1.1.7 && == 8.2.3 && >= 2.6.2 )": {+                                        "dlHash": "rjsoubbx",+                                        "dlSubdir": {+                                            "RegexDir": "\u000f𛆎O\n"+                                        },+                                        "dlUri": "http:r"+                                    },+                                    "( >= 5.1.6 && <= 7.2.7 && > 3.4.2 && <= 1.2.1 && > 1.8.3 && <= 6.7.5 && <= 5.4.3 && > 8.4.1 && < 7.1.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": "nF\u000fK󺍒",+                                        "dlUri": "https:wvo"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "pfcnlz",+                                        "dlSubdir": "\u0007祔]\u000e\u000c\u001d_",+                                        "dlUri": "https:fqmmhx"+                                    }+                                },+                                "Windows": {+                                    "( > 7.6.6 && < 5.1.1 && >= 2.3.7 && > 1.5.9 && < 6.1.7 && == 5.5.6 )": {+                                        "dlHash": "sfjpzt",+                                        "dlSubdir": "󴻦𫎀󻮍",+                                        "dlUri": "https:bhe"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:laspdcu",+                        "viPostInstall": "uogkghr",+                        "viPostRemove": null,+                        "viPreCompile": "nmkj",+                        "viSourceDL": {+                            "dlHash": "d",+                            "dlSubdir": "\u0019Nt:`􀍖􉖃",+                            "dlUri": "http:qfj"+                        },+                        "viTags": [+                            "Prerelease",+                            "old",+                            "base-3.1.4",+                            "Prerelease"+                        ]+                    },+                    "8.8.6": {+                        "viArch": {+                            "A_64": {+                                "Darwin": {+                                    "( <= 7.4.7 && >= 5.4.8 && > 3.5.2 && > 5.2.5 && > 4.3.8 && > 2.5.3 ) || ( < 8.6.5 && == 2.3.2 && < 2.2.1 && <= 2.6.3 )": {+                                        "dlHash": "t",+                                        "dlSubdir": {+                                            "RegexDir": "}\t\u000b"+                                        },+                                        "dlUri": "https:j"+                                    },+                                    "( > 4.2.1 && == 8.2.6 && == 8.6.4 && <= 6.8.6 && <= 3.7.6 && == 6.1.8 ) || ( == 2.5.4 && == 5.4.3 && >= 3.5.1 && == 5.8.7 && > 2.6.5 && == 4.9.1 && <= 7.6.7 && == 7.5.4 )": {+                                        "dlHash": "qdafay",+                                        "dlSubdir": null,+                                        "dlUri": "https:mo"+                                    },+                                    "( >= 8.2.7 && < 1.1.7 && == 8.9.2 )": {+                                        "dlHash": "dhyiyl",+                                        "dlSubdir": null,+                                        "dlUri": "https:rye"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 8.1.4 && < 3.6.7 && > 5.8.4 && < 8.2.3 && == 1.5.3 && <= 1.3.1 ) || ( > 5.8.7 && >= 4.6.5 && > 8.3.6 && <= 6.1.3 && >= 5.2.4 && == 4.4.1 && <= 5.6.3 && < 5.1.5 ) || ( > 7.2.8 && <= 8.5.2 )": {+                                        "dlHash": "uxo",+                                        "dlSubdir": {+                                            "RegexDir": "|Tj"+                                        },+                                        "dlUri": "https:shh"+                                    },+                                    "( == 1.2.1 && <= 4.2.3 && > 2.3.2 && <= 2.2.2 && == 1.3.8 && == 3.5.3 && < 4.7.1 && >= 6.5.2 )": {+                                        "dlHash": "kiej",+                                        "dlSubdir": null,+                                        "dlUri": "http:bybwhq"+                                    },+                                    "( >= 5.3.5 && < 8.8.3 && <= 7.4.6 )": {+                                        "dlHash": "b",+                                        "dlSubdir": null,+                                        "dlUri": "http:ftwmljs"+                                    }+                                },+                                "Linux_Alpine": {+                                    "( < 6.3.6 && < 5.6.6 && <= 4.5.7 && == 7.4.8 && < 7.1.2 && >= 6.5.3 && >= 7.3.2 )": {+                                        "dlHash": "hmkks",+                                        "dlSubdir": {+                                            "RegexDir": "󸹁;럾"+                                        },+                                        "dlUri": "http:jdlglba"+                                    },+                                    "( == 1.8.1 && >= 6.8.4 && > 4.2.6 && == 1.2.4 && <= 2.4.4 ) || ( <= 1.3.3 ) || ( < 5.1.3 && > 8.5.5 ) || ( == 2.2.3 && <= 8.5.2 && < 6.3.4 && > 3.1.5 && <= 1.6.2 && < 1.7.2 && <= 5.8.3 && > 7.8.3 && > 1.2.5 )": {+                                        "dlHash": "bmawuq",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:e"+                                    },+                                    "( == 8.8.1 && > 3.4.6 && == 6.3.3 && <= 5.7.6 && < 4.6.3 ) || ( > 7.9.2 && <= 2.1.1 && == 2.1.8 && >= 1.7.4 && >= 6.2.6 && < 3.6.1 && > 7.1.2 && < 6.9.6 && > 7.8.1 ) || ( > 5.6.1 && == 2.6.6 && >= 1.2.2 && >= 7.7.7 && >= 7.4.8 && < 3.6.5 ) || ( > 5.7.4 && <= 6.6.1 && > 5.5.6 && <= 2.8.9 && >= 8.1.3 )": {+                                        "dlHash": "hijazj",+                                        "dlSubdir": null,+                                        "dlUri": "http:q"+                                    }+                                },+                                "Linux_Gentoo": {+                                    "( <= 8.2.8 )": {+                                        "dlHash": "tno",+                                        "dlSubdir": "m%꤀K\u000f{,",+                                        "dlUri": "https:dd"+                                    },+                                    "( == 6.6.3 && <= 5.5.5 && > 3.2.4 && <= 7.6.1 && == 7.5.8 && > 3.6.5 && == 1.1.3 && <= 7.2.1 && > 5.5.4 ) || ( > 2.5.2 && > 2.3.4 && > 2.1.1 && >= 3.4.8 && < 8.8.4 && > 6.5.6 )": {+                                        "dlHash": "mwuc",+                                        "dlSubdir": "Gu\u0016F\u0015i",+                                        "dlUri": "https:v"+                                    },+                                    "( == 8.4.2 && >= 4.7.3 && == 3.2.4 && > 2.3.2 && == 6.3.4 && >= 5.4.3 && <= 6.5.7 )": {+                                        "dlHash": "kpik",+                                        "dlSubdir": null,+                                        "dlUri": "https:tomtxkvs"+                                    },+                                    "( > 1.6.6 && == 8.1.3 && == 1.6.6 )": {+                                        "dlHash": "lblq",+                                        "dlSubdir": null,+                                        "dlUri": "http:h"+                                    },+                                    "( > 1.6.7 && == 2.1.4 )": {+                                        "dlHash": "cecdjcm",+                                        "dlSubdir": {+                                            "RegexDir": "\u001b4V?"+                                        },+                                        "dlUri": "https:hzcccsaj"+                                    },+                                    "( >= 1.5.1 )": {+                                        "dlHash": "tzoshosf",+                                        "dlSubdir": "\u0000󷬺\u0001.^",+                                        "dlUri": "https:inf"+                                    },+                                    "( >= 6.4.7 && <= 8.5.6 ) || ( >= 6.6.4 && > 1.5.5 && >= 1.2.1 && >= 4.4.8 && > 3.7.4 && >= 7.6.7 ) || ( >= 7.1.1 && > 1.8.7 && <= 3.7.2 )": {+                                        "dlHash": "grv",+                                        "dlSubdir": "",+                                        "dlUri": "http:ezejgeg"+                                    },+                                    "( >= 6.6.5 && <= 5.8.1 ) || ( > 4.7.4 && >= 8.6.4 && >= 6.2.1 && > 6.1.6 && > 6.2.3 && == 5.2.2 && > 4.3.5 ) || ( == 7.7.2 && > 6.1.2 && == 1.5.4 && == 3.3.2 ) || ( > 6.5.1 )": {+                                        "dlHash": "ncaxkwny",+                                        "dlSubdir": null,+                                        "dlUri": "https:habwgvm"+                                    }+                                },+                                "Windows": {+                                    "( <= 2.6.8 && < 8.4.1 && < 4.7.3 && < 4.4.7 && == 8.1.2 && == 3.6.5 && >= 7.4.4 ) || ( > 4.4.8 && == 8.2.2 && == 7.4.7 && == 1.4.2 && == 4.8.4 && > 2.4.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u001f`𦅆h\u000fM",+                                        "dlUri": "https:fxec"+                                    },+                                    "( <= 5.5.4 && < 2.4.2 && > 3.3.3 && > 8.3.3 && == 4.8.3 && > 7.7.8 && > 7.7.5 && > 6.1.7 && < 4.7.8 ) || ( < 3.2.3 && < 6.2.8 && == 8.3.3 && < 1.5.1 && == 3.8.5 && == 7.8.1 && < 5.7.3 && >= 7.1.5 && == 6.3.1 )": {+                                        "dlHash": "ntwd",+                                        "dlSubdir": "&􁬛R",+                                        "dlUri": "http:zptpal"+                                    },+                                    "( == 2.5.4 && < 3.6.7 && >= 3.6.7 ) || ( == 1.5.3 && <= 8.6.1 && <= 7.5.8 && < 4.2.6 ) || ( <= 6.7.7 && >= 5.1.1 && == 8.2.4 && > 6.6.2 && <= 3.3.4 && < 5.4.7 ) || ( <= 6.2.3 && >= 7.8.6 && > 8.7.8 && <= 2.6.5 && < 5.2.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": "𧊥M#$T\u0014\u0001\u0016",+                                        "dlUri": "https:wrfj"+                                    },+                                    "( == 3.5.1 && <= 2.5.5 && >= 1.3.5 ) || ( < 3.8.7 && > 5.1.7 && > 6.7.8 && < 2.3.7 && < 1.3.7 )": {+                                        "dlHash": "sd",+                                        "dlSubdir": null,+                                        "dlUri": "https:ozjuh"+                                    },+                                    "( > 4.3.1 && > 6.5.8 && < 6.7.1 && < 5.4.1 && == 3.5.7 && <= 6.3.7 && <= 4.7.3 ) || ( < 6.5.7 && == 7.7.5 && <= 3.8.1 && == 3.8.8 && <= 6.1.5 && > 2.6.3 && > 8.6.1 && == 3.2.7 && < 6.3.4 ) || ( == 1.6.2 && == 1.8.4 )": {+                                        "dlHash": "guh",+                                        "dlSubdir": "<󳯃",+                                        "dlUri": "https:egpux"+                                    },+                                    "( >= 7.6.3 && <= 2.4.2 && > 7.5.7 && == 8.3.3 && == 6.2.8 && == 5.1.7 && >= 4.4.4 && == 3.5.4 && >= 2.1.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": "ꊆGS\u0004b\u0014\u0004",+                                        "dlUri": "http:jj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "orxh",+                                        "dlSubdir": "",+                                        "dlUri": "https:slhif"+                                    }+                                }+                            },+                            "A_ARM64": {+                                "Darwin": {+                                    "( < 3.6.6 && <= 6.1.7 && >= 2.5.5 && >= 7.7.1 ) || ( > 7.1.5 && < 2.6.2 && < 5.3.5 && < 1.2.5 && < 5.5.3 && == 6.5.4 && < 4.1.4 ) || ( == 2.8.1 && <= 7.6.1 && > 6.7.3 && > 2.6.7 && == 7.1.4 && == 3.4.1 && == 7.4.2 ) || ( > 5.2.1 && <= 3.5.5 && > 1.4.2 && == 7.6.5 && < 5.3.3 && < 1.1.3 && < 4.1.4 && <= 3.3.7 && >= 4.7.7 ) || ( >= 3.5.4 && >= 5.5.5 && == 5.7.7 && < 4.1.4 && < 7.7.2 && < 8.5.4 )": {+                                        "dlHash": "dt",+                                        "dlSubdir": null,+                                        "dlUri": "https:jotjqo"+                                    },+                                    "( < 6.6.8 && < 1.6.1 && == 5.8.6 && > 5.3.1 && == 4.1.6 && <= 3.5.7 && <= 5.2.2 )": {+                                        "dlHash": "lqaggx",+                                        "dlSubdir": "",+                                        "dlUri": "https:ajrayagb"+                                    },+                                    "( > 1.7.7 && < 4.6.4 && <= 4.6.1 && < 8.6.4 && == 7.7.1 && >= 5.7.3 && < 3.2.7 && < 1.7.1 && <= 3.1.3 ) || ( >= 8.3.4 && < 8.8.7 && > 6.8.4 && > 6.3.6 && <= 7.4.8 && <= 4.3.1 && == 5.5.7 && > 6.1.5 ) || ( > 2.3.8 ) || ( >= 1.4.5 && == 1.6.7 && < 1.3.4 && > 1.6.4 ) || ( > 1.2.3 && <= 1.7.7 && <= 5.2.2 && > 7.4.8 && == 10.6.7 && <= 6.3.6 && == 8.2.4 ) || ( < 4.6.4 && == 1.5.5 && < 8.8.1 && == 7.8.7 && <= 7.3.3 && <= 5.2.5 && > 7.1.3 && >= 7.1.4 && >= 1.4.7 ) || ( >= 5.1.2 && <= 7.6.1 && <= 5.2.3 && >= 1.3.8 && < 6.3.2 && <= 7.4.4 && == 2.5.7 && >= 6.5.8 ) || ( == 2.6.5 && > 1.2.6 && == 4.6.8 && <= 5.6.5 )": {+                                        "dlHash": "aieky",+                                        "dlSubdir": null,+                                        "dlUri": "https:xedvkh"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "lrjoqdia",+                                        "dlSubdir": null,+                                        "dlUri": "http:txi"+                                    }+                                },+                                "Windows": {+                                    "( <= 6.9.7 && < 8.7.7 && > 5.8.7 && < 6.3.2 && > 4.3.8 && >= 3.8.1 && == 6.5.1 && <= 8.2.5 ) || ( > 1.8.1 && > 8.3.4 && < 2.6.6 ) || ( >= 5.4.3 && == 3.5.5 && == 5.4.5 && < 6.4.5 && > 7.1.3 && == 5.6.8 && > 7.6.5 && <= 4.6.4 ) || ( >= 1.4.5 && >= 4.3.7 && <= 6.8.1 ) || ( > 6.5.5 && < 2.5.7 && > 6.2.6 && < 6.7.2 ) || ( >= 2.5.5 && == 7.2.7 && > 4.3.3 && > 2.8.1 && == 4.8.4 && < 6.7.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "https:lxun"+                                    },+                                    "( <= 8.1.8 && > 8.2.6 && < 4.4.3 && == 4.3.5 && == 9.8.8 && < 3.2.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u0008UJS",+                                        "dlUri": "http:"+                                    },+                                    "( > 1.1.5 && >= 6.6.2 && <= 5.8.4 ) || ( > 5.1.2 && <= 2.1.8 ) || ( >= 7.4.8 && == 5.6.5 && >= 5.4.3 && > 6.6.6 && <= 7.1.2 )": {+                                        "dlHash": "olrlyer",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "vf",+                                        "dlSubdir": "7\u0003_H",+                                        "dlUri": "http:b"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "Darwin": {+                                    "( < 7.7.8 && <= 3.1.7 && == 8.9.6 )": {+                                        "dlHash": "m",+                                        "dlSubdir": {+                                            "RegexDir": "3"+                                        },+                                        "dlUri": "http:y"+                                    }+                                },+                                "Linux_Debian": {+                                    "( < 1.2.7 && < 6.3.5 && > 6.1.2 && < 8.3.8 && >= 3.6.3 && < 5.6.1 && >= 1.4.2 && > 3.4.8 && <= 5.8.5 )": {+                                        "dlHash": "tr",+                                        "dlSubdir": {+                                            "RegexDir": "\u000e􁘳"+                                        },+                                        "dlUri": "http:ivrypir"+                                    },+                                    "( <= 8.7.3 && == 5.5.3 && < 6.3.7 && > 4.3.4 && <= 2.1.5 && <= 5.2.4 ) || ( <= 2.6.6 && == 4.4.5 && >= 4.7.4 && <= 5.7.3 && >= 3.7.5 && < 7.3.2 && > 4.1.2 )": {+                                        "dlHash": "wkv",+                                        "dlSubdir": "꩝!`~Lo!",+                                        "dlUri": "http:dpwkgdsq"+                                    },+                                    "( == 5.6.7 && == 3.4.2 && == 8.2.1 && <= 8.3.3 && <= 1.8.4 && <= 7.3.3 ) || ( > 5.7.8 && >= 2.3.3 && >= 4.8.4 && <= 5.2.2 && > 4.6.7 && > 1.1.8 && > 1.5.6 && < 1.5.8 ) || ( <= 7.2.4 && <= 3.7.5 && >= 4.5.4 && <= 8.1.7 && < 1.4.1 && <= 6.2.5 && <= 6.2.7 && > 9.3.7 && == 8.4.1 )": {+                                        "dlHash": "odci",+                                        "dlSubdir": {+                                            "RegexDir": "Zh"+                                        },+                                        "dlUri": "https:ysmh"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( <= 3.6.2 && > 2.6.5 && > 8.4.8 && >= 2.7.1 && <= 5.5.2 && < 8.7.4 )": {+                                        "dlHash": "slg",+                                        "dlSubdir": "𓀩",+                                        "dlUri": "http:r"+                                    },+                                    "( == 3.5.4 && == 4.3.2 && >= 6.2.5 ) || ( == 2.3.5 && >= 8.5.7 && == 8.7.6 && < 8.4.5 ) || ( == 4.1.4 && == 7.3.5 && == 1.2.7 && < 3.4.8 && > 5.6.3 )": {+                                        "dlHash": "dac",+                                        "dlSubdir": {+                                            "RegexDir": "𧱂󾚈\u000f:J"+                                        },+                                        "dlUri": "http:ibvnrx"+                                    },+                                    "( == 4.7.5 && >= 2.4.4 && == 3.2.5 && < 4.2.3 && > 5.2.8 && < 6.8.5 ) || ( == 7.1.2 && <= 8.1.4 && > 6.2.6 && == 3.5.6 && <= 1.4.4 && > 5.5.5 && > 1.3.1 && >= 7.3.7 ) || ( <= 3.1.1 && > 2.5.2 && == 8.8.2 && >= 7.1.1 && < 2.2.6 && == 2.5.2 )": {+                                        "dlHash": "fjbinjfh",+                                        "dlSubdir": {+                                            "RegexDir": "1􈑰=󼕉👠\r"+                                        },+                                        "dlUri": "http:ax"+                                    },+                                    "( == 5.5.4 ) || ( <= 4.2.1 && >= 7.8.7 && <= 3.5.5 && <= 2.1.7 && == 6.1.8 && == 5.7.2 && <= 6.4.1 && > 8.8.6 && <= 7.2.3 ) || ( < 7.8.2 && == 3.6.2 && <= 8.6.6 && < 4.4.8 && >= 3.7.3 && < 3.5.7 && >= 2.7.8 && == 2.6.6 && < 8.5.4 ) || ( > 1.3.2 && <= 8.3.3 && < 2.6.5 && == 8.2.1 )": {+                                        "dlHash": "zkwhkv",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "lkqmiew",+                                        "dlSubdir": {+                                            "RegexDir": "L:?󻦽O"+                                        },+                                        "dlUri": "http:odwylqt"+                                    }+                                }+                            },+                            "A_Sparc64": {}+                        },+                        "viChangeLog": "http:wuszg",+                        "viPostInstall": "pvhnmsmi",+                        "viPostRemove": "jkc",+                        "viPreCompile": "y",+                        "viSourceDL": {+                            "dlHash": "edqa",+                            "dlSubdir": null,+                            "dlUri": "https:"+                        },+                        "viTags": [+                            "\u0012z\u0011",+                            "base-5.2.3",+                            "Prerelease",+                            "Latest"+                        ]+                    }+                },+                "HLS": {+                    "1.3.6": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {+                                    "( <= 4.4.7 && <= 2.6.1 && < 3.5.5 && <= 4.1.7 && < 5.2.2 && <= 6.4.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( > 7.4.7 && >= 8.3.5 && < 1.4.1 && < 1.2.6 && >= 1.1.7 && <= 5.3.3 && >= 1.5.6 && > 2.4.3 && >= 3.5.6 )": {+                                        "dlHash": "zn",+                                        "dlSubdir": "􃕌\u0015w𬴨\u000eS",+                                        "dlUri": "https:htnmnvis"+                                    },+                                    "( >= 3.4.6 )": {+                                        "dlHash": "lttzd",+                                        "dlSubdir": {+                                            "RegexDir": "g\u0017"+                                        },+                                        "dlUri": "https:ajnpwaut"+                                    },+                                    "( >= 4.5.8 ) || ( <= 7.1.4 && > 7.3.1 && > 2.5.3 && == 1.8.1 && >= 3.6.6 && <= 4.7.6 ) || ( >= 6.5.8 && < 2.4.1 && >= 3.1.6 && <= 2.3.3 && >= 8.7.7 && == 2.5.1 ) || ( < 1.2.6 && == 3.3.1 && <= 8.4.2 )": {+                                        "dlHash": "nmej",+                                        "dlSubdir": "RWeg>",+                                        "dlUri": "http:tavrgmd"+                                    },+                                    "( >= 6.4.1 && > 1.8.6 && < 2.5.3 && >= 5.1.3 && == 2.5.8 && <= 4.1.9 ) || ( <= 6.6.1 && >= 8.7.7 && >= 6.3.1 && == 1.4.3 && == 3.3.2 && > 2.3.3 && <= 1.2.7 )": {+                                        "dlHash": "mtcuo",+                                        "dlSubdir": ",W󼎄媎[|=:",+                                        "dlUri": "https:rjnpk"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "gemnel",+                                        "dlSubdir": {+                                            "RegexDir": "e󽡊\u001ctBFv"+                                        },+                                        "dlUri": "http:owqgbcu"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 4.8.5 && <= 6.1.4 && <= 2.2.2 )": {+                                        "dlHash": "zaeflh",+                                        "dlSubdir": "",+                                        "dlUri": "https:tzrhwen"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "kefo",+                                        "dlSubdir": {+                                            "RegexDir": "\u001a\nev󻴓"+                                        },+                                        "dlUri": "http:zunll"+                                    }+                                },+                                "Linux_RedHat": {+                                    "( <= 5.4.8 && == 6.8.7 && <= 1.3.6 && >= 4.4.5 && > 6.2.6 ) || ( <= 7.1.4 && > 3.4.5 && <= 3.4.3 && == 1.7.8 && < 2.1.6 && > 8.2.8 && >= 6.5.7 && <= 2.6.1 && > 6.5.5 )": {+                                        "dlHash": "vjs",+                                        "dlSubdir": "2",+                                        "dlUri": "http:sssrlc"+                                    },+                                    "( > 1.8.2 && <= 3.8.7 )": {+                                        "dlHash": "tbccq",+                                        "dlSubdir": "%m",+                                        "dlUri": "https:hht"+                                    },+                                    "( >= 6.7.6 ) || ( <= 4.3.6 && >= 7.2.8 && > 8.6.4 && >= 7.8.1 )": {+                                        "dlHash": "ylzomkhp",+                                        "dlSubdir": {+                                            "RegexDir": "󴗚\u0006\u0018𑀃"+                                        },+                                        "dlUri": "https:fcnsg"+                                    },+                                    "( >= 7.1.8 && > 5.5.2 && > 2.2.1 && == 7.8.7 && >= 4.3.2 && < 2.4.8 && <= 3.8.8 && <= 2.3.7 )": {+                                        "dlHash": "osr",+                                        "dlSubdir": {+                                            "RegexDir": "by?]IKI"+                                        },+                                        "dlUri": "https:rgvkwvj"+                                    },+                                    "( >= 7.2.7 && > 5.6.5 && > 7.8.4 && <= 1.5.2 && > 5.2.5 && > 5.4.6 )": {+                                        "dlHash": "wcxzmpj",+                                        "dlSubdir": {+                                            "RegexDir": "M"+                                        },+                                        "dlUri": "http:hfcq"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "pfsaxb",+                                        "dlSubdir": {+                                            "RegexDir": "Zr󶏖"+                                        },+                                        "dlUri": "http:v"+                                    }+                                },+                                "Windows": {+                                    "( < 5.4.8 && <= 8.7.5 && > 4.5.8 && < 5.7.8 ) || ( < 1.7.4 && >= 4.6.3 ) || ( == 2.4.2 && >= 3.3.7 && == 5.6.6 && >= 7.6.5 && == 2.7.5 && == 2.6.8 )": {+                                        "dlHash": "x",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:gzgffln"+                                    },+                                    "( <= 1.3.6 && > 5.3.6 && < 5.8.8 && > 2.5.1 && == 6.5.8 && > 8.7.3 && > 8.3.7 && == 8.4.3 && <= 6.1.3 )": {+                                        "dlHash": "ypfmt",+                                        "dlSubdir": null,+                                        "dlUri": "http:bqtx"+                                    },+                                    "( <= 2.6.4 && <= 1.3.6 && > 1.5.4 ) || ( < 7.5.7 && <= 1.4.1 && <= 8.4.7 && >= 6.1.1 && == 4.2.5 ) || ( >= 6.6.7 && == 7.7.1 ) || ( < 8.5.6 && == 6.7.1 && == 7.7.6 && >= 7.5.3 && <= 5.7.1 && >= 8.5.3 && > 7.1.1 && > 6.7.3 && < 5.6.6 ) || ( > 2.8.2 && >= 6.3.1 && < 7.5.5 && < 8.3.2 && <= 2.1.2 )": {+                                        "dlHash": "hulmmu",+                                        "dlSubdir": {+                                            "RegexDir": "\u0017"+                                        },+                                        "dlUri": "https:b"+                                    },+                                    "( > 6.5.8 && < 4.6.7 && <= 1.7.7 && <= 8.7.7 && < 6.1.8 ) || ( < 3.6.7 )": {+                                        "dlHash": "wolmvfh",+                                        "dlSubdir": "ax",+                                        "dlUri": "https:"+                                    },+                                    "( >= 2.3.6 && == 5.2.8 && > 5.8.3 && <= 7.6.4 ) || ( == 7.5.8 )": {+                                        "dlHash": "epmu",+                                        "dlSubdir": "iML",+                                        "dlUri": "http:u"+                                    },+                                    "( >= 5.3.2 && > 1.1.3 && <= 4.2.1 && == 1.6.2 && >= 5.1.7 && >= 6.4.7 )": {+                                        "dlHash": "rsneldcs",+                                        "dlSubdir": null,+                                        "dlUri": "https:vlrgx"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "hvj",+                                        "dlSubdir": null,+                                        "dlUri": "http:xjxo"+                                    }+                                }+                            },+                            "A_64": {+                                "FreeBSD": {}+                            },+                            "A_ARM": {},+                            "A_ARM64": {+                                "Darwin": {+                                    "( <= 3.2.5 && >= 4.1.9 && <= 7.5.2 && == 6.1.3 && <= 4.4.8 )": {+                                        "dlHash": "yi",+                                        "dlSubdir": "􁲐𡤩<",+                                        "dlUri": "https:mtxhcpli"+                                    },+                                    "( <= 6.4.1 && > 8.4.5 && > 1.8.6 && >= 5.2.3 && >= 3.4.8 && > 8.4.4 )": {+                                        "dlHash": "pe",+                                        "dlSubdir": null,+                                        "dlUri": "http:kdhmcd"+                                    },+                                    "( > 8.2.5 && >= 6.4.1 )": {+                                        "dlHash": "dttg",+                                        "dlSubdir": {+                                            "RegexDir": "\u00073𭍞H\u000f"+                                        },+                                        "dlUri": "https:jnsou"+                                    },+                                    "( >= 1.1.2 && >= 8.1.4 && > 4.8.1 )": {+                                        "dlHash": "odj",+                                        "dlSubdir": {+                                            "RegexDir": "%=䜔"+                                        },+                                        "dlUri": "http:dmzv"+                                    },+                                    "( >= 6.2.7 && < 5.7.2 && > 2.6.1 )": {+                                        "dlHash": "vv",+                                        "dlSubdir": "!b𥅮C.a",+                                        "dlUri": "https:xw"+                                    },+                                    "( >= 8.3.1 && == 3.3.7 && == 1.6.3 && <= 4.8.1 && > 4.7.4 && <= 3.1.4 && <= 5.3.2 && == 6.4.4 ) || ( > 2.7.7 && > 2.3.7 ) || ( <= 6.8.5 && == 6.3.5 && <= 8.8.1 && >= 2.6.7 && == 7.1.4 && <= 8.4.5 )": {+                                        "dlHash": "b",+                                        "dlSubdir": "􏵫\u0003󺀌𓏳",+                                        "dlUri": "http:xnxh"+                                    }+                                },+                                "Windows": {+                                    "( < 5.7.2 && > 3.5.7 && >= 7.1.2 && >= 8.2.5 && >= 2.1.7 && < 5.6.8 && >= 2.3.3 && >= 7.5.2 )": {+                                        "dlHash": "gez",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:umkv"+                                    },+                                    "( < 7.8.4 && == 7.7.6 && < 4.3.1 && >= 2.8.4 && > 2.1.4 && <= 2.4.4 && >= 4.1.6 )": {+                                        "dlHash": "iqg",+                                        "dlSubdir": "!",+                                        "dlUri": "http:"+                                    },+                                    "( <= 8.2.4 && > 4.4.5 && < 8.8.4 && < 7.2.5 && <= 8.7.6 && == 2.4.2 && > 6.1.6 ) || ( < 2.5.8 && > 7.2.6 && == 2.4.3 && == 1.1.1 ) || ( < 4.5.4 && == 7.1.1 && >= 8.8.5 && >= 8.3.1 ) || ( < 3.1.7 )": {+                                        "dlHash": "heeipj",+                                        "dlSubdir": "ᩲඵ𩎡k",+                                        "dlUri": "https:qs"+                                    },+                                    "( > 4.4.3 && < 4.6.1 && == 4.3.2 && <= 8.1.7 && == 1.8.8 ) || ( >= 1.4.8 && < 8.1.7 && == 4.2.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:zaad"+                                    },+                                    "( >= 4.5.6 && < 6.2.8 && < 1.8.5 && <= 5.8.1 && < 3.7.1 && < 6.6.4 && < 2.8.1 && > 8.8.6 && > 4.6.6 )": {+                                        "dlHash": "m",+                                        "dlSubdir": "󶒵苭3󵿓}3{",+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "w",+                                        "dlSubdir": "F\u0006lZ<[\u0011",+                                        "dlUri": "https:lwnbjrn"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:rreum",+                        "viPostInstall": "",+                        "viPostRemove": null,+                        "viPreCompile": "hnakh",+                        "viSourceDL": null,+                        "viTags": [+                            "base-7.3.6",+                            "old",+                            "Latest",+                            "Latest",+                            "Recommended"+                        ]+                    },+                    "2.1.4": {+                        "viArch": {+                            "A_ARM": {+                                "Darwin": {+                                    "( <= 8.5.7 && > 5.1.2 && >= 5.1.2 && > 3.7.2 && <= 3.2.2 && >= 4.2.1 && <= 2.3.7 && == 7.4.1 && == 8.1.1 ) || ( >= 7.4.4 && <= 3.7.8 && == 7.2.3 && >= 4.5.8 && == 1.8.2 )": {+                                        "dlHash": "cstomidb",+                                        "dlSubdir": {+                                            "RegexDir": "C$\u001f?􄪙F0"+                                        },+                                        "dlUri": "https:q"+                                    },+                                    "( >= 5.6.5 && < 2.6.1 && <= 8.2.6 && <= 7.7.2 && <= 8.6.3 && < 3.6.3 && >= 4.6.3 && == 6.5.1 && > 6.7.8 ) || ( > 1.4.2 && <= 2.1.3 && <= 6.4.7 && < 1.8.8 && < 5.7.6 && == 7.2.3 && < 7.3.8 ) || ( < 2.6.3 && >= 2.8.6 && >= 7.2.3 && > 8.7.8 && >= 7.8.3 ) || ( >= 1.6.7 && > 5.6.5 && >= 5.8.3 && == 6.3.2 && == 5.2.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u0018🃃锋􌅥sj\u0018"+                                        },+                                        "dlUri": "https:aisewm"+                                    }+                                },+                                "Linux_AmazonLinux": {},+                                "Windows": {+                                    "( < 8.3.7 && >= 8.4.2 && == 7.5.3 && >= 6.3.8 && >= 8.5.7 && == 8.8.7 && < 7.8.1 )": {+                                        "dlHash": "a",+                                        "dlSubdir": null,+                                        "dlUri": "https:be"+                                    },+                                    "( == 2.3.7 && == 7.8.4 && >= 4.8.6 && > 2.7.8 && <= 7.8.5 && < 2.5.7 && <= 4.3.1 && == 1.5.2 )": {+                                        "dlHash": "lja",+                                        "dlSubdir": "xm \u000f篡)󲖵",+                                        "dlUri": "http:yn"+                                    },+                                    "( == 6.1.7 && > 5.6.8 && >= 3.2.1 && < 2.5.4 && == 5.2.3 )": {+                                        "dlHash": "lzfn",+                                        "dlSubdir": null,+                                        "dlUri": "http:yadwmf"+                                    },+                                    "( >= 7.2.5 && >= 4.6.3 )": {+                                        "dlHash": "r",+                                        "dlSubdir": {+                                            "RegexDir": "k\u00192^"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "sx",+                                        "dlSubdir": {+                                            "RegexDir": "P"+                                        },+                                        "dlUri": "https:wnpjqsv"+                                    }+                                }+                            },+                            "A_PowerPC": {},+                            "A_Sparc64": {+                                "FreeBSD": {+                                    "( < 8.8.5 && > 7.4.3 && == 8.4.5 && >= 5.4.2 && <= 7.3.3 && >= 4.7.2 && == 4.1.3 )": {+                                        "dlHash": "btgp",+                                        "dlSubdir": "栁l穏#b)A뼲",+                                        "dlUri": "http:eautjwz"+                                    },+                                    "( <= 4.7.3 && < 7.4.4 && >= 4.3.4 && > 2.6.3 && >= 4.2.8 && >= 4.1.1 && == 3.2.4 && < 4.2.8 && <= 4.1.1 ) || ( == 7.1.3 && < 2.1.2 && > 2.5.7 && > 7.7.1 ) || ( < 3.7.8 && > 1.4.7 && <= 2.4.6 && <= 1.8.5 && > 2.2.6 ) || ( <= 4.3.2 && <= 6.1.8 )": {+                                        "dlHash": "rvp",+                                        "dlSubdir": "$",+                                        "dlUri": "http:urexo"+                                    },+                                    "( <= 7.1.8 && < 8.5.2 && == 4.1.1 && <= 6.7.6 )": {+                                        "dlHash": "twgbbuo",+                                        "dlSubdir": null,+                                        "dlUri": "http:keilwqsu"+                                    },+                                    "( > 8.6.2 && < 7.1.8 && >= 4.4.7 && >= 2.4.7 && == 2.2.3 && < 1.2.7 ) || ( <= 4.7.1 && <= 3.9.7 && == 6.2.4 && > 5.8.1 && == 1.4.6 ) || ( == 1.5.7 && == 5.4.2 && <= 7.8.6 && > 1.6.2 && > 7.4.2 && < 5.2.5 && > 6.1.8 )": {+                                        "dlHash": "bcaqnpn",+                                        "dlSubdir": "󲸁\u0006􆆥E",+                                        "dlUri": "https:e"+                                    },+                                    "( >= 2.5.7 && >= 3.8.1 && == 2.3.3 && < 5.3.6 && <= 8.7.3 && == 5.5.4 ) || ( == 7.7.1 ) || ( <= 8.7.3 && < 3.8.4 && >= 8.6.6 && >= 6.2.4 && < 5.6.2 )": {+                                        "dlHash": "aiva",+                                        "dlSubdir": "𠾓<K󺁔𪹣{u",+                                        "dlUri": "https:tecfb"+                                    },+                                    "( >= 9.8.9 && >= 8.2.5 && < 6.3.3 ) || ( > 5.4.7 && <= 1.3.6 && <= 6.7.6 && == 7.3.6 ) || ( >= 8.3.4 && < 8.7.5 && <= 1.5.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:uovnp"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( < 1.7.2 && <= 5.5.7 && >= 2.8.6 && >= 8.3.4 && > 7.3.7 ) || ( < 4.7.7 && == 6.6.1 && == 5.6.2 )": {+                                        "dlHash": "iphg",+                                        "dlSubdir": {+                                            "RegexDir": "偵nj8q2𭠬"+                                        },+                                        "dlUri": "http:osrhqo"+                                    },+                                    "( <= 2.8.7 && < 2.7.5 && <= 2.4.4 && >= 4.1.8 && > 2.4.8 && < 4.8.2 && == 8.5.3 && == 6.5.5 && >= 6.4.3 ) || ( < 4.7.3 && <= 7.8.8 && == 2.2.5 && > 7.1.4 && < 1.8.7 && < 6.5.6 && == 5.7.4 ) || ( == 8.2.1 && < 2.7.3 && == 2.8.4 && <= 3.1.4 && > 3.2.5 ) || ( == 2.7.5 && > 6.5.6 && > 2.6.1 && >= 1.4.3 && > 3.2.2 && == 5.5.6 ) || ( < 1.5.6 ) || ( == 7.4.6 && > 8.2.8 && < 3.8.4 && > 5.8.8 )": {+                                        "dlHash": "bgqa",+                                        "dlSubdir": {+                                            "RegexDir": "yr\u000e\u0015󻝉\u000c\u0001"+                                        },+                                        "dlUri": "http:xmowrlta"+                                    },+                                    "( <= 3.4.5 && > 3.3.4 && < 8.6.5 && == 8.6.5 && > 4.4.5 )": {+                                        "dlHash": "mcpd",+                                        "dlSubdir": null,+                                        "dlUri": "http:cg"+                                    },+                                    "( == 3.7.2 && > 6.1.8 && < 7.7.3 && <= 2.2.7 && > 6.4.3 && > 8.7.8 && > 2.2.4 && >= 8.5.6 )": {+                                        "dlHash": "ue",+                                        "dlSubdir": "",+                                        "dlUri": "https:qs"+                                    },+                                    "( >= 7.6.6 && < 3.8.8 && <= 3.5.8 && < 6.2.3 && > 5.6.6 )": {+                                        "dlHash": "wspsx",+                                        "dlSubdir": {+                                            "RegexDir": "\u0011膻"+                                        },+                                        "dlUri": "http:bkbpti"+                                    }+                                }+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": "dwizoud",+                        "viPostRemove": "foi",+                        "viPreCompile": "ma",+                        "viSourceDL": {+                            "dlHash": "lpc",+                            "dlSubdir": "󿐖\u0011=ᙀ\u0013D",+                            "dlUri": "https:elvtc"+                        },+                        "viTags": [+                            "Prerelease",+                            "base-4.7.4"+                        ]+                    },+                    "3.3.7": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {},+                                "FreeBSD": {+                                    "( < 2.7.8 && <= 2.1.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:iualwkba"+                                    },+                                    "( < 4.6.2 && == 6.4.3 && <= 8.5.3 && < 2.4.4 && > 4.5.3 && <= 4.2.1 && >= 1.1.1 && == 5.2.1 ) || ( <= 5.2.5 && <= 1.3.6 ) || ( <= 5.3.6 && > 7.2.2 && == 8.7.4 && == 8.7.6 && >= 2.5.1 && == 6.5.3 )": {+                                        "dlHash": "sukqjo",+                                        "dlSubdir": null,+                                        "dlUri": "https:cvfczu"+                                    },+                                    "( <= 2.6.5 && <= 1.8.1 && > 4.3.1 && > 6.7.5 && > 6.2.8 && == 3.5.4 && <= 5.4.2 && == 6.6.3 )": {+                                        "dlHash": "jjykoed",+                                        "dlSubdir": "",+                                        "dlUri": "http:dxboa"+                                    },+                                    "( == 6.8.1 && == 6.9.2 && < 6.3.5 && == 8.8.8 && >= 8.5.5 )": {+                                        "dlHash": "cjywwyek",+                                        "dlSubdir": "󺗓?",+                                        "dlUri": "https:zf"+                                    },+                                    "( > 4.2.7 && >= 3.3.3 && <= 7.8.8 ) || ( <= 2.4.1 && <= 7.3.5 && <= 7.8.7 && >= 2.2.8 )": {+                                        "dlHash": "ws",+                                        "dlSubdir": {+                                            "RegexDir": "H"+                                        },+                                        "dlUri": "http:wnfyw"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "goua",+                                        "dlSubdir": "𤥟\u0005",+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_Ubuntu": {},+                                "Windows": {+                                    "( == 3.2.2 && > 1.2.4 && >= 6.5.7 ) || ( > 3.2.3 && < 2.1.7 )": {+                                        "dlHash": "xurgbabi",+                                        "dlSubdir": {+                                            "RegexDir": "\u000f"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( == 6.3.3 )": {+                                        "dlHash": "hswnqx",+                                        "dlSubdir": "Ulw\u0012\rJ",+                                        "dlUri": "http:g"+                                    },+                                    "( > 7.6.7 && > 2.5.4 && == 5.1.1 && < 3.6.5 )": {+                                        "dlHash": "hxj",+                                        "dlSubdir": null,+                                        "dlUri": "http:vnbltoz"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "lksr",+                                        "dlSubdir": {+                                            "RegexDir": "󴯲sQCes􉐉\u0001"+                                        },+                                        "dlUri": "http:footgab"+                                    }+                                }+                            },+                            "A_ARM64": {+                                "Darwin": {+                                    "( == 1.8.2 && > 7.3.1 && > 4.8.4 && <= 8.4.4 )": {+                                        "dlHash": "vbfnbr",+                                        "dlSubdir": "",+                                        "dlUri": "http:ljbky"+                                    },+                                    "( > 2.5.5 && == 8.2.7 )": {+                                        "dlHash": "zpj",+                                        "dlSubdir": {+                                            "RegexDir": "#\u001f\u0006㇎#_"+                                        },+                                        "dlUri": "http:hkpayier"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "rpovfgfn",+                                        "dlSubdir": {+                                            "RegexDir": "w\u000b𡢬Y"+                                        },+                                        "dlUri": "http:yol"+                                    }+                                },+                                "Windows": {+                                    "( <= 1.8.2 ) || ( <= 5.7.4 && == 1.2.1 && >= 6.3.6 )": {+                                        "dlHash": "w",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:q"+                                    },+                                    "( <= 2.3.5 && > 6.3.5 && <= 3.1.2 && <= 8.1.1 && == 4.6.7 && == 6.6.1 && == 2.7.7 && > 6.3.5 ) || ( == 2.8.5 && > 1.6.3 && == 3.2.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "g\u0017<2"+                                        },+                                        "dlUri": "https:idjjee"+                                    },+                                    "( == 6.4.5 && == 6.3.1 && > 3.4.5 && < 4.3.6 && >= 1.1.7 && >= 7.6.5 && > 3.8.6 ) || ( <= 2.5.7 && >= 6.5.4 && == 4.7.5 && <= 2.5.6 )": {+                                        "dlHash": "zz",+                                        "dlSubdir": "\u0003#􈥉N",+                                        "dlUri": "https:vlbqtsvc"+                                    },+                                    "( > 3.4.7 && >= 6.6.7 && >= 8.2.1 && <= 6.8.6 && <= 1.4.6 && == 2.6.3 && < 8.1.3 && < 1.7.8 ) || ( == 6.7.7 && <= 8.2.1 && > 4.4.7 && >= 2.7.4 && == 4.2.4 && > 1.8.1 && == 8.7.3 && > 7.4.3 ) || ( <= 3.8.2 && == 1.5.4 && < 5.8.4 && == 2.8.2 && > 7.5.3 && <= 8.6.6 && >= 2.1.7 && < 1.1.6 && <= 7.7.2 ) || ( > 7.4.2 && >= 6.4.1 && >= 1.7.3 && <= 4.5.3 ) || ( > 1.6.2 && >= 5.8.4 && >= 1.6.3 && < 8.6.8 ) || ( <= 6.1.7 && == 4.1.7 && > 3.7.8 )": {+                                        "dlHash": "yxbkso",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "p",+                                        "dlSubdir": {+                                            "RegexDir": "ờ"+                                        },+                                        "dlUri": "http:oxeyn"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "FreeBSD": {+                                    "( <= 3.2.4 && >= 4.7.9 && <= 5.8.8 )": {+                                        "dlHash": "roeszfs",+                                        "dlSubdir": {+                                            "RegexDir": "\u0019Ig\u0013􅤁锞"+                                        },+                                        "dlUri": "http:pbwjmu"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( < 1.1.2 && >= 4.1.3 && >= 3.6.4 )": {+                                        "dlHash": "wwxizugc",+                                        "dlSubdir": "'(!4\u001d2\u0004c",+                                        "dlUri": "http:ghgzun"+                                    },+                                    "( <= 4.2.4 && >= 1.1.6 && == 5.8.4 && > 6.2.1 && >= 4.2.1 && > 2.1.1 && == 5.1.8 )": {+                                        "dlHash": "fufqtni",+                                        "dlSubdir": "$\nono􃸎",+                                        "dlUri": "http:"+                                    },+                                    "( <= 5.6.6 && >= 1.1.2 && > 2.8.8 && < 7.2.4 && <= 4.7.1 && < 2.1.2 && <= 7.1.5 ) || ( == 2.6.6 && == 3.2.2 && >= 3.4.3 && < 7.5.5 && >= 8.7.3 && < 8.8.9 )": {+                                        "dlHash": "pzhikyr",+                                        "dlSubdir": null,+                                        "dlUri": "http:zewzvfyo"+                                    },+                                    "( > 4.8.4 && < 8.1.4 && >= 7.8.8 && <= 3.4.1 )": {+                                        "dlHash": "kav",+                                        "dlSubdir": "\u0005󲅚&",+                                        "dlUri": "https:qzhc"+                                    },+                                    "( > 6.2.3 && < 5.8.3 && >= 1.2.5 && == 7.1.2 && < 7.2.8 && == 5.8.1 && > 5.2.6 )": {+                                        "dlHash": "kjpwdx",+                                        "dlSubdir": {+                                            "RegexDir": "]𧤐"+                                        },+                                        "dlUri": "https:pp"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ukxu",+                                        "dlSubdir": {+                                            "RegexDir": "j\u0011{|𦡹8"+                                        },+                                        "dlUri": "http:zpecml"+                                    }+                                },+                                "FreeBSD": {},+                                "Linux_Mint": {+                                    "( < 3.4.9 && == 1.1.4 && == 8.4.1 && >= 7.5.7 && >= 4.3.2 && >= 1.5.1 && > 5.6.4 && > 4.7.1 ) || ( <= 3.7.5 && >= 4.1.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u001b:􌱙\u0005󽢯@",+                                        "dlUri": "http:ic"+                                    },+                                    "( <= 8.4.7 && > 6.3.7 && == 3.8.8 && <= 2.1.7 && >= 2.5.3 )": {+                                        "dlHash": "azgbpgb",+                                        "dlSubdir": null,+                                        "dlUri": "https:uup"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ymsxdki",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( <= 4.6.1 && >= 7.7.6 && >= 8.2.6 && > 6.2.4 && > 4.8.5 && < 3.4.1 && <= 7.8.2 && == 4.6.5 ) || ( == 2.5.7 && <= 8.3.6 && >= 1.5.8 && == 1.3.6 && <= 4.7.5 && <= 6.3.2 && >= 3.8.5 && <= 4.8.7 )": {+                                        "dlHash": "fctmu",+                                        "dlSubdir": {+                                            "RegexDir": "󰉒G0/0𧛫"+                                        },+                                        "dlUri": "https:bma"+                                    },+                                    "( > 2.8.4 && < 2.1.8 && == 5.7.2 && == 3.2.6 && <= 8.2.5 )": {+                                        "dlHash": "kysjzfn",+                                        "dlSubdir": {+                                            "RegexDir": "\u0006􂜴\"􃜹1"+                                        },+                                        "dlUri": "https:moxasj"+                                    },+                                    "( > 3.1.8 && == 7.6.4 && <= 4.9.7 && > 8.7.6 && == 6.3.8 && >= 1.4.6 ) || ( >= 3.5.8 && <= 7.2.8 && == 4.7.7 && < 7.1.3 && < 1.4.1 && >= 3.3.1 && < 5.6.4 && >= 2.3.2 && > 3.2.6 ) || ( == 6.5.6 && == 5.2.1 && >= 3.1.5 ) || ( == 1.4.5 && >= 3.5.5 && < 5.7.8 )": {+                                        "dlHash": "ftwun",+                                        "dlSubdir": {+                                            "RegexDir": "%$􀳠\u000cK\u001a`H"+                                        },+                                        "dlUri": "https:le"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "txyfsnz",+                                        "dlSubdir": {+                                            "RegexDir": "\u001c6𘪶"+                                        },+                                        "dlUri": "http:cyl"+                                    }+                                },+                                "Windows": {+                                    "( <= 5.1.8 && == 6.4.7 && >= 3.8.4 && < 1.2.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    },+                                    "( >= 8.6.2 && < 1.8.3 && >= 2.8.3 && > 5.3.4 ) || ( <= 1.4.8 && <= 4.4.5 && >= 3.4.8 && >= 1.4.4 )": {+                                        "dlHash": "g",+                                        "dlSubdir": null,+                                        "dlUri": "https:fndvm"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "jazq",+                                        "dlSubdir": null,+                                        "dlUri": "https:aok"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 5.1.8 && == 3.5.6 ) || ( == 2.3.7 && <= 2.7.2 ) || ( == 6.1.3 && < 2.4.1 && > 2.8.4 && > 7.1.5 && == 6.3.4 && <= 7.8.3 )": {+                                        "dlHash": "hryp",+                                        "dlSubdir": "|읮k􄈊\u001dJYe",+                                        "dlUri": "http:"+                                    },+                                    "( == 1.7.2 && < 7.8.4 && >= 1.2.1 && <= 7.5.1 && > 6.6.6 )": {+                                        "dlHash": "luv",+                                        "dlSubdir": null,+                                        "dlUri": "https:zduhnxj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "mrooxt",+                                        "dlSubdir": null,+                                        "dlUri": "https:exaly"+                                    }+                                },+                                "Linux_Debian": {+                                    "( > 3.8.3 && < 3.3.1 && == 3.7.8 && < 5.4.8 && == 1.7.3 && > 3.7.3 && <= 6.7.8 && >= 5.2.3 && <= 6.8.2 )": {+                                        "dlHash": "dcrxzyni",+                                        "dlSubdir": null,+                                        "dlUri": "https:x"+                                    },+                                    "( > 3.8.7 && < 5.6.3 && >= 4.3.5 && == 6.8.2 && <= 3.4.7 && < 5.5.1 && < 7.1.6 && >= 2.8.4 ) || ( < 6.5.1 && > 8.1.7 && > 6.3.1 && == 7.1.6 ) || ( > 6.5.7 && > 1.7.8 && >= 7.2.5 && <= 4.3.5 && > 2.6.8 ) || ( < 6.6.1 && <= 4.9.8 && < 2.5.1 && == 5.7.1 && <= 7.2.5 && < 5.5.1 )": {+                                        "dlHash": "tdcn",+                                        "dlSubdir": "B\u0011-",+                                        "dlUri": "http:"+                                    },+                                    "( > 7.3.7 && <= 3.4.8 && >= 2.2.6 && > 4.2.8 && <= 2.7.2 && <= 6.4.2 )": {+                                        "dlHash": "igshmpr",+                                        "dlSubdir": null,+                                        "dlUri": "https:uwt"+                                    },+                                    "( >= 8.8.8 && == 1.1.3 && > 6.6.1 && <= 3.6.1 && == 5.2.6 ) || ( > 7.6.1 && <= 4.7.3 && >= 1.4.4 ) || ( > 3.1.7 && > 4.4.8 && > 8.3.1 && <= 8.5.6 && > 4.5.4 && < 1.3.8 && <= 4.3.7 ) || ( >= 6.5.8 && >= 2.3.7 ) || ( < 6.3.4 && > 5.1.4 && >= 2.1.5 && == 6.3.7 && <= 1.1.8 && > 1.9.3 && < 6.2.2 )": {+                                        "dlHash": "nghntehp",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "udni",+                                        "dlSubdir": "FOh笃𡅮⍕5[",+                                        "dlUri": "http:khl"+                                    }+                                },+                                "Linux_Mint": {+                                    "( > 3.5.8 && < 3.8.4 && >= 7.8.7 && == 4.8.3 && > 8.2.6 && >= 1.4.8 ) || ( == 7.4.8 && <= 8.3.4 && > 8.5.8 && > 5.3.3 && > 6.7.7 && <= 7.2.6 && <= 5.8.5 && <= 3.5.4 && <= 6.7.5 )": {+                                        "dlHash": "qpwbg",+                                        "dlSubdir": "-\u0010\u000f",+                                        "dlUri": "http:rfyj"+                                    }+                                },+                                "Linux_RedHat": {+                                    "( < 2.1.6 && > 4.7.3 && == 3.2.1 && <= 1.5.7 && >= 1.7.1 && == 1.3.4 && > 1.2.2 && >= 6.1.8 )": {+                                        "dlHash": "cowc",+                                        "dlSubdir": "3yJ󶺔",+                                        "dlUri": "http:of"+                                    },+                                    "( < 9.3.6 && > 5.2.2 && == 8.6.2 && < 2.7.1 && < 5.4.7 && >= 3.8.6 && < 2.8.3 && == 3.3.8 && > 4.4.7 )": {+                                        "dlHash": "qfvrfejv",+                                        "dlSubdir": {+                                            "RegexDir": "󴇝𪋯Vr>to"+                                        },+                                        "dlUri": "http:o"+                                    },+                                    "( <= 5.5.8 && <= 3.7.6 )": {+                                        "dlHash": "tamg",+                                        "dlSubdir": "lX\u0008𮢈\u001b<^",+                                        "dlUri": "http:ajv"+                                    },+                                    "( <= 7.4.1 && > 7.1.7 && == 1.7.2 ) || ( < 2.6.4 && >= 3.4.1 )": {+                                        "dlHash": "yybbkm",+                                        "dlSubdir": null,+                                        "dlUri": "https:tkubjv"+                                    },+                                    "( == 7.9.1 && < 1.2.6 && <= 2.2.3 && > 2.6.5 && < 7.7.5 && < 8.8.1 && > 6.3.5 && < 5.4.2 && >= 6.1.3 )": {+                                        "dlHash": "bi",+                                        "dlSubdir": "%\u0016'",+                                        "dlUri": "https:xo"+                                    },+                                    "( >= 1.2.1 && >= 2.3.7 && >= 2.7.6 && == 2.2.8 && > 5.2.8 && <= 7.2.7 && <= 1.3.6 && > 5.7.7 && < 1.2.3 )": {+                                        "dlHash": "tzrnifuj",+                                        "dlSubdir": {+                                            "RegexDir": "|4"+                                        },+                                        "dlUri": "http:tsa"+                                    },+                                    "( >= 8.6.4 && <= 2.1.7 && == 3.4.3 && >= 6.5.2 && > 8.8.3 && == 4.2.8 )": {+                                        "dlHash": "hbf",+                                        "dlSubdir": {+                                            "RegexDir": "KG"+                                        },+                                        "dlUri": "http:t"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "zhvyqu",+                                        "dlSubdir": {+                                            "RegexDir": "H\u0007􅕑("+                                        },+                                        "dlUri": "https:uf"+                                    }+                                },+                                "Windows": {+                                    "( < 1.3.7 && <= 2.3.7 && <= 4.2.1 && > 4.8.6 && < 6.2.2 && > 7.3.2 && <= 1.7.4 ) || ( > 5.6.8 && > 2.1.6 && > 1.7.7 && > 4.4.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:a"+                                    },+                                    "( >= 8.5.7 && > 8.8.7 && < 3.7.5 && >= 6.1.2 && < 7.5.6 && == 3.1.9 && < 1.6.7 && == 4.5.8 && == 3.8.1 )": {+                                        "dlHash": "nzqg",+                                        "dlSubdir": {+                                            "RegexDir": "\u0006󿾯\u0011𨙺"+                                        },+                                        "dlUri": "http:lvyg"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ewm",+                                        "dlSubdir": {+                                            "RegexDir": "Sc\u000c"+                                        },+                                        "dlUri": "https:kkeih"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:cczda",+                        "viPostInstall": "anwu",+                        "viPostRemove": null,+                        "viPreCompile": "uavccmoo",+                        "viSourceDL": {+                            "dlHash": "wp",+                            "dlSubdir": {+                                "RegexDir": "\u0000"+                            },+                            "dlUri": "https:mkzzunx"+                        },+                        "viTags": []+                    },+                    "3.5.3": {+                        "viArch": {+                            "A_32": {+                                "Linux_RedHat": {+                                    "( < 6.2.4 && >= 8.3.5 && < 2.5.7 && == 2.8.6 && > 1.5.2 && <= 4.3.3 && > 4.6.4 ) || ( >= 2.5.5 )": {+                                        "dlHash": "m",+                                        "dlSubdir": null,+                                        "dlUri": "https:ilefhksa"+                                    },+                                    "( == 5.1.7 && < 3.1.2 && > 3.2.8 && > 6.1.3 && == 3.2.8 && >= 6.4.6 && < 4.1.7 && == 8.1.6 )": {+                                        "dlHash": "pr",+                                        "dlSubdir": {+                                            "RegexDir": "\u0019u𣪭BZ"+                                        },+                                        "dlUri": "https:gdb"+                                    },+                                    "( == 8.8.2 && <= 1.8.3 && < 8.1.5 && > 3.2.5 && > 2.8.1 && <= 2.8.3 && == 2.1.2 )": {+                                        "dlHash": "ftmau",+                                        "dlSubdir": "\u001a",+                                        "dlUri": "https:d"+                                    },+                                    "( >= 1.6.3 && < 3.2.8 && == 3.8.1 && > 2.4.6 )": {+                                        "dlHash": "m",+                                        "dlSubdir": null,+                                        "dlUri": "https:lgjel"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "%'"+                                        },+                                        "dlUri": "https:a"+                                    }+                                },+                                "Windows": {+                                    "( < 5.3.6 && >= 3.6.4 && >= 8.2.2 ) || ( == 4.5.8 && >= 1.6.2 && >= 7.5.3 && == 7.6.8 && == 7.8.8 && > 4.8.5 && >= 5.1.8 && == 7.3.4 && <= 7.5.6 ) || ( >= 4.4.6 )": {+                                        "dlHash": "xzlc",+                                        "dlSubdir": "\u0003!首\r|\u0005",+                                        "dlUri": "http:iezumu"+                                    },+                                    "( <= 6.4.5 && == 6.4.4 && >= 5.4.1 && > 1.5.7 ) || ( > 7.4.3 && <= 2.4.4 && >= 4.8.4 && >= 1.9.3 && == 7.7.4 && < 3.3.7 && <= 6.3.6 ) || ( <= 8.6.1 && < 5.3.3 && >= 4.6.2 && > 7.2.3 && > 2.3.3 && < 6.7.4 )": {+                                        "dlHash": "lts",+                                        "dlSubdir": null,+                                        "dlUri": "https:mtperozy"+                                    },+                                    "( == 2.4.7 && > 3.4.5 && <= 1.8.2 && == 3.8.4 && == 4.7.3 && == 8.1.2 ) || ( == 2.7.7 && < 2.7.7 && <= 2.8.1 && < 7.6.5 ) || ( >= 1.3.5 && <= 4.1.7 && >= 2.1.8 && < 1.8.2 )": {+                                        "dlHash": "zouoqwe",+                                        "dlSubdir": "\u000e}󶊿􆌺\u0017O",+                                        "dlUri": "https:"+                                    },+                                    "( >= 5.4.7 && < 6.1.3 && > 3.4.6 )": {+                                        "dlHash": "qtj",+                                        "dlSubdir": "󹆫",+                                        "dlUri": "https:ovjyvik"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "megxif",+                                        "dlSubdir": "2",+                                        "dlUri": "http:mup"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( < 5.8.5 ) || ( <= 1.2.3 && >= 8.1.2 && <= 4.2.2 && > 6.6.6 && >= 3.8.7 && == 4.1.3 )": {+                                        "dlHash": "x",+                                        "dlSubdir": "3\u001c[𢏜",+                                        "dlUri": "https:cy"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 2.1.7 && < 7.1.4 && >= 3.8.3 ) || ( == 1.7.6 && < 4.4.1 && <= 3.6.2 && >= 1.2.7 && > 4.5.1 && == 5.6.3 && > 6.2.1 && == 7.6.7 ) || ( < 1.4.2 )": {+                                        "dlHash": "r",+                                        "dlSubdir": null,+                                        "dlUri": "https:x"+                                    },+                                    "( <= 2.3.1 && >= 7.1.6 && < 8.2.2 && <= 6.7.2 && == 5.2.5 && > 3.2.3 ) || ( < 3.6.3 && < 8.6.3 && < 4.8.5 && < 3.1.8 )": {+                                        "dlHash": "qb",+                                        "dlSubdir": {+                                            "RegexDir": "V􌵰𭸗:5"+                                        },+                                        "dlUri": "https:vfuskyw"+                                    },+                                    "( == 7.4.8 && >= 7.3.2 && == 2.1.1 && == 7.7.2 && < 2.2.1 )": {+                                        "dlHash": "rznctaw",+                                        "dlSubdir": null,+                                        "dlUri": "https:k"+                                    },+                                    "( >= 1.5.4 && < 1.2.3 ) || ( < 7.7.2 && > 5.5.2 && >= 8.2.4 && < 3.6.5 && > 2.7.5 )": {+                                        "dlHash": "if",+                                        "dlSubdir": "\n6uF`*",+                                        "dlUri": "https:jcpl"+                                    },+                                    "( >= 8.6.6 && < 1.6.2 && <= 9.7.6 && > 3.2.3 && == 2.4.5 && < 5.4.8 && > 4.1.1 )": {+                                        "dlHash": "ryzm",+                                        "dlSubdir": null,+                                        "dlUri": "https:syzqjbe"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "pdr",+                                        "dlSubdir": {+                                            "RegexDir": "aꇏ𫜡"+                                        },+                                        "dlUri": "https:ncgnip"+                                    }+                                },+                                "Linux_Alpine": {},+                                "Linux_Debian": {+                                    "( < 2.5.8 && < 5.3.5 && > 3.1.6 && >= 6.1.7 && < 7.8.8 )": {+                                        "dlHash": "dz",+                                        "dlSubdir": {+                                            "RegexDir": "?ZH\u0018u\u00125\u0016"+                                        },+                                        "dlUri": "https:ufmzlhcf"+                                    },+                                    "( <= 5.7.8 )": {+                                        "dlHash": "tniakn",+                                        "dlSubdir": {+                                            "RegexDir": "󱲐\u0014Q;"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( <= 7.5.3 && >= 6.7.6 && < 5.1.3 && >= 4.2.2 && == 4.5.2 && < 7.1.6 && > 3.7.1 )": {+                                        "dlHash": "hsfwnzbg",+                                        "dlSubdir": {+                                            "RegexDir": "{"+                                        },+                                        "dlUri": "http:umnsh"+                                    },+                                    "( >= 6.3.3 && < 6.5.4 && == 8.3.2 && > 5.8.2 && < 2.2.5 && >= 1.5.1 && <= 4.4.3 && >= 7.3.4 ) || ( == 2.2.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "-x\u0000뛵\u001c􊘕\u000b镝",+                                        "dlUri": "https:mabfd"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "c",+                                        "dlSubdir": "\u000b1@sO",+                                        "dlUri": "https:cmp"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( == 2.8.4 && < 5.1.7 ) || ( <= 8.7.2 && == 3.4.6 && <= 7.1.6 && == 6.4.4 )": {+                                        "dlHash": "obpmtho",+                                        "dlSubdir": "􇕔I{",+                                        "dlUri": "https:impx"+                                    },+                                    "( == 7.3.2 && <= 8.7.6 && < 5.6.2 && == 4.2.8 && == 5.1.4 && < 7.3.4 && < 1.2.7 && >= 2.4.2 )": {+                                        "dlHash": "ijt",+                                        "dlSubdir": "",+                                        "dlUri": "https:ugwtzb"+                                    },+                                    "( >= 2.8.4 && >= 6.4.1 && > 7.8.7 && > 8.3.6 && > 7.8.4 && == 7.5.2 )": {+                                        "dlHash": "kyh",+                                        "dlSubdir": "R\u0015",+                                        "dlUri": "http:fnlux"+                                    },+                                    "( >= 4.4.7 && >= 5.3.3 && > 3.5.5 && >= 8.5.7 ) || ( > 7.4.7 && < 8.3.7 && > 3.7.2 && < 8.1.6 ) || ( < 7.1.4 && >= 2.7.8 && <= 8.6.7 && >= 8.2.8 && == 1.8.5 )": {+                                        "dlHash": "rkfv",+                                        "dlSubdir": {+                                            "RegexDir": "\u0003"+                                        },+                                        "dlUri": "http:bfuxoaoa"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "cpdlghpg",+                                        "dlSubdir": {+                                            "RegexDir": "𭽟4wwL\u001a\u0010*"+                                        },+                                        "dlUri": "http:lvebp"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 4.5.8 ) || ( >= 2.7.5 && == 4.4.2 && == 4.1.5 ) || ( >= 5.1.6 && >= 7.1.1 && <= 3.2.4 && <= 8.6.1 && == 5.5.5 ) || ( <= 5.6.1 && > 4.4.7 && > 7.3.4 )": {+                                        "dlHash": "dcvvpegu",+                                        "dlSubdir": "g𓋊􉼔됉\"56\u0010",+                                        "dlUri": "https:itvnrn"+                                    },+                                    "( > 1.5.1 ) || ( >= 8.4.2 && > 5.2.3 && == 7.1.6 && == 7.3.1 && < 5.2.7 && >= 3.7.2 )": {+                                        "dlHash": "zoeqggt",+                                        "dlSubdir": {+                                            "RegexDir": "$󷕸􃛦S\u0012󰖎\u0015󿀄"+                                        },+                                        "dlUri": "http:jt"+                                    },+                                    "( >= 1.2.1 && <= 8.2.3 && <= 3.5.3 && < 7.7.7 && == 5.7.4 && > 8.2.4 && == 1.3.8 && == 7.2.6 && <= 5.3.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "N𐤆󴝠􄕙/𤾕K􉢕"+                                        },+                                        "dlUri": "http:smghf"+                                    }+                                },+                                "Linux_Ubuntu": {+                                    "( < 4.3.8 && < 2.4.6 && <= 2.7.2 )": {+                                        "dlHash": "usx",+                                        "dlSubdir": {+                                            "RegexDir": "^\u0011~\u0005\u0011!􏘿"+                                        },+                                        "dlUri": "http:vchw"+                                    },+                                    "( <= 3.7.5 && >= 3.6.5 && > 5.5.1 ) || ( == 3.7.6 && == 1.4.7 && > 6.6.1 && < 4.4.3 && >= 5.2.4 && > 2.2.5 && == 3.5.1 && >= 1.7.5 )": {+                                        "dlHash": "vkimtqlb",+                                        "dlSubdir": null,+                                        "dlUri": "https:zrcfl"+                                    },+                                    "( <= 8.8.3 && > 1.4.5 && > 8.5.7 && <= 2.3.1 && == 7.6.1 )": {+                                        "dlHash": "xykta",+                                        "dlSubdir": null,+                                        "dlUri": "http:y"+                                    },+                                    "( == 4.2.8 && < 6.2.3 )": {+                                        "dlHash": "skdd",+                                        "dlSubdir": {+                                            "RegexDir": "웅䉞𤴄\n"+                                        },+                                        "dlUri": "https:ywaugxx"+                                    },+                                    "( == 6.8.7 && <= 2.1.5 ) || ( == 7.2.3 )": {+                                        "dlHash": "pekew",+                                        "dlSubdir": "􁸳󷝳#󻦔Y𬓔\u000c𡵲",+                                        "dlUri": "http:okvrdps"+                                    },+                                    "( > 2.9.5 && >= 3.7.6 && == 4.1.6 && <= 8.8.4 && >= 1.7.2 && > 2.2.1 && >= 6.1.1 )": {+                                        "dlHash": "qozbck",+                                        "dlSubdir": null,+                                        "dlUri": "https:hdnxtsyz"+                                    },+                                    "( >= 1.8.8 ) || ( < 7.4.8 && <= 1.7.5 && < 7.2.4 )": {+                                        "dlHash": "adwkt",+                                        "dlSubdir": {+                                            "RegexDir": "?蚩]ma\u000b\u001d"+                                        },+                                        "dlUri": "http:af"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "E􉲸u:",+                                        "dlUri": "http:rcxhhwxb"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:bkwld",+                        "viPostInstall": "mddazr",+                        "viPostRemove": "bltge",+                        "viPreCompile": "khe",+                        "viSourceDL": {+                            "dlHash": "ovmjwp",+                            "dlSubdir": {+                                "RegexDir": "􉭤\u001e"+                            },+                            "dlUri": "http:kdnh"+                        },+                        "viTags": [+                            "Prerelease",+                            "old",+                            "old",+                            "Recommended",+                            "old"+                        ]+                    },+                    "5.2.3": {+                        "viArch": {+                            "A_64": {+                                "Windows": {+                                    "( <= 3.5.5 && >= 3.5.3 && < 6.5.7 && < 4.8.3 && <= 6.3.8 ) || ( <= 6.4.7 && > 4.6.5 && > 3.6.7 && <= 3.8.6 && >= 1.4.7 && < 7.4.4 )": {+                                        "dlHash": "sunbp",+                                        "dlSubdir": {+                                            "RegexDir": "󳒯"+                                        },+                                        "dlUri": "http:l"+                                    },+                                    "( == 6.8.3 )": {+                                        "dlHash": "spcyt",+                                        "dlSubdir": "dZ\u001742􅍥",+                                        "dlUri": "https:okzlqqs"+                                    },+                                    "( > 7.3.7 && <= 2.2.2 && < 2.4.2 && <= 4.1.8 && >= 6.8.1 )": {+                                        "dlHash": "edkgkqq",+                                        "dlSubdir": {+                                            "RegexDir": "\u0011\u0014𭭉\u001a𨊦\u001d"+                                        },+                                        "dlUri": "https:gxftsyy"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "FreeBSD": {+                                    "( < 1.2.2 && >= 4.3.7 && <= 8.5.4 && > 4.3.6 && > 7.3.5 && <= 8.8.4 && < 3.6.4 && < 8.3.5 && >= 1.6.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "s\u0018𤀩I"+                                        },+                                        "dlUri": "https:qwyzuy"+                                    },+                                    "( <= 1.7.6 && > 5.7.8 && >= 6.4.8 ) || ( < 8.1.1 && < 7.7.4 && > 8.4.1 && <= 4.6.2 && >= 5.5.3 && > 6.8.2 && <= 5.3.3 && <= 4.8.6 && >= 4.5.3 ) || ( < 4.6.7 && < 5.1.6 && < 7.7.2 ) || ( == 1.5.4 && <= 7.5.1 && == 5.3.1 ) || ( < 8.2.2 && >= 4.1.8 && <= 2.4.8 && >= 1.3.5 && == 3.7.7 )": {+                                        "dlHash": "xbjgkog",+                                        "dlSubdir": ":",+                                        "dlUri": "https:eybglzi"+                                    },+                                    "( <= 3.7.8 && == 5.7.3 && <= 3.2.1 && >= 3.5.8 && <= 1.3.3 && >= 6.8.6 && > 3.8.6 && > 7.4.1 ) || ( > 3.4.3 && == 5.4.9 ) || ( < 4.7.6 && <= 8.2.6 && <= 3.3.3 && >= 1.4.2 ) || ( >= 7.4.4 && > 8.4.3 && == 8.4.7 && < 4.3.8 && == 3.8.5 && > 8.6.7 )": {+                                        "dlHash": "yzhxa",+                                        "dlSubdir": {+                                            "RegexDir": "𘃬\nP輦x\r\u0016\u0013"+                                        },+                                        "dlUri": "http:sgavvep"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "degzddu",+                                        "dlSubdir": "\t",+                                        "dlUri": "https:bt"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "unknown_versioning": {+                                        "dlHash": "ql",+                                        "dlSubdir": {+                                            "RegexDir": "ሚ\u0019!/􊜸 B`"+                                        },+                                        "dlUri": "http:innwpiwg"+                                    }+                                },+                                "Linux_Fedora": {+                                    "( < 1.6.1 && > 4.4.2 && == 1.7.6 && <= 4.6.6 && < 7.6.5 && >= 7.8.8 && >= 7.7.8 && >= 5.4.3 ) || ( < 7.8.1 && < 3.5.6 && <= 5.3.8 && == 7.3.1 && > 4.3.5 && >= 8.3.3 && >= 2.3.2 ) || ( > 8.3.9 && == 8.4.8 && > 8.6.8 && >= 4.7.3 && > 1.1.2 )": {+                                        "dlHash": "ob",+                                        "dlSubdir": null,+                                        "dlUri": "https:v"+                                    },+                                    "( < 8.2.8 && >= 4.1.2 && > 2.6.6 && == 8.5.8 && >= 3.6.5 && < 6.4.8 )": {+                                        "dlHash": "xtswrjfn",+                                        "dlSubdir": null,+                                        "dlUri": "http:fz"+                                    },+                                    "( == 1.3.1 && < 4.1.1 && < 7.4.3 && == 3.3.8 && <= 1.6.5 && >= 3.7.3 && == 6.4.6 && < 8.4.7 && < 4.4.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "𧝲 ",+                                        "dlUri": "http:tp"+                                    },+                                    "( == 4.6.2 && == 2.5.6 && >= 3.8.6 && <= 1.9.4 && > 3.7.1 && < 5.3.5 && >= 8.8.1 && <= 3.5.2 && < 3.6.4 )": {+                                        "dlHash": "kmzopwjq",+                                        "dlSubdir": "Pv\u0004\u001c",+                                        "dlUri": "https:yazpqw"+                                    },+                                    "( >= 1.3.4 && < 2.2.5 ) || ( <= 7.3.7 && <= 3.5.5 ) || ( < 3.8.6 && < 7.7.2 && == 7.7.5 && < 5.7.8 && == 5.7.6 && > 4.7.8 && >= 1.4.8 ) || ( == 6.6.3 && > 1.8.5 && < 6.5.6 && == 2.2.5 && > 5.6.1 && <= 6.6.8 && == 5.5.5 && > 2.1.2 && <= 5.5.6 ) || ( <= 4.8.4 && > 1.8.2 && < 8.1.4 && >= 6.3.8 ) || ( < 8.1.4 && < 8.3.6 && == 6.8.2 && == 1.9.1 && < 5.4.2 && > 3.7.5 && > 1.2.2 && > 6.5.5 && > 4.1.1 )": {+                                        "dlHash": "pjwww",+                                        "dlSubdir": {+                                            "RegexDir": "󶔭𛀐r𥯍\\\u0006􋖗"+                                        },+                                        "dlUri": "https:nymmh"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "dpbma",+                                        "dlSubdir": "𥝜𬭦Zd.\u0000𣮂,",+                                        "dlUri": "http:kqfi"+                                    }+                                },+                                "Windows": {+                                    "( <= 8.2.1 && >= 7.1.6 && >= 1.1.5 && > 3.8.8 && >= 3.5.8 && < 8.7.1 && == 1.2.8 ) || ( < 3.4.5 && > 3.8.1 && == 3.7.3 && < 2.4.6 && > 7.3.6 && > 3.1.6 && > 6.3.4 && == 7.2.1 )": {+                                        "dlHash": "owvgp",+                                        "dlSubdir": ";︭",+                                        "dlUri": "https:t"+                                    },+                                    "( > 5.5.7 ) || ( == 8.6.4 && > 4.3.8 && == 7.9.8 && <= 6.6.6 && < 7.3.6 && <= 8.6.4 && <= 3.9.7 ) || ( == 3.6.6 && <= 3.5.2 ) || ( < 6.5.9 && < 3.3.7 && == 5.3.4 && <= 7.7.4 && > 7.7.3 ) || ( <= 3.6.3 && == 3.7.6 && <= 5.4.6 && >= 7.5.5 && == 4.3.8 && <= 7.4.1 && > 8.8.8 )": {+                                        "dlHash": "lgeioim",+                                        "dlSubdir": {+                                            "RegexDir": "􂜹􃉢󾑺"+                                        },+                                        "dlUri": "http:pd"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "fp",+                                        "dlSubdir": null,+                                        "dlUri": "http:sffycwfj"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( > 6.6.3 && < 8.5.5 && >= 1.4.2 && > 6.7.1 && == 7.4.3 && >= 3.7.6 && == 2.7.2 && >= 4.7.8 )": {+                                        "dlHash": "ntzoxph",+                                        "dlSubdir": null,+                                        "dlUri": "https:ryqsbqjf"+                                    }+                                },+                                "FreeBSD": {+                                    "( == 3.5.8 && > 5.6.8 && == 8.1.4 && == 8.7.5 && == 4.4.6 )": {+                                        "dlHash": "yltiz",+                                        "dlSubdir": {+                                            "RegexDir": "{8c"+                                        },+                                        "dlUri": "http:hvwe"+                                    },+                                    "( > 1.7.8 && < 3.6.4 && < 3.6.1 && < 7.5.7 ) || ( == 6.6.1 && > 2.5.4 && >= 4.4.7 && >= 1.6.5 && == 2.8.5 && <= 7.3.7 ) || ( > 7.2.2 && > 2.1.5 && == 5.8.4 && >= 5.1.4 && < 5.2.8 && == 5.1.2 && > 2.1.3 )": {+                                        "dlHash": "qt",+                                        "dlSubdir": "\u000e󴏣廆𭸓jhy",+                                        "dlUri": "http:rjqiexv"+                                    },+                                    "( > 2.2.6 && == 6.6.5 )": {+                                        "dlHash": "tlvezme",+                                        "dlSubdir": {+                                            "RegexDir": "\u001b!vv\tW"+                                        },+                                        "dlUri": "https:ewdo"+                                    },+                                    "( > 7.3.5 && > 3.6.1 && <= 5.2.1 && <= 4.7.2 && > 2.3.4 && == 3.4.4 && <= 3.6.1 && > 4.1.3 && <= 7.6.3 )": {+                                        "dlHash": "fw",+                                        "dlSubdir": "樕􁜘nJ􂿌",+                                        "dlUri": "http:yeiqk"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "rnteb",+                                        "dlSubdir": "}\u0014e",+                                        "dlUri": "http:kmt"+                                    }+                                },+                                "Linux_Alpine": {+                                    "( >= 6.5.2 && < 4.3.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "𘀇P#\u0000"+                                        },+                                        "dlUri": "https:gyzvkj"+                                    }+                                },+                                "Windows": {+                                    "( < 7.2.3 && < 3.3.7 )": {+                                        "dlHash": "pawct",+                                        "dlSubdir": null,+                                        "dlUri": "http:dujqndy"+                                    },+                                    "( >= 3.4.2 && == 6.8.3 && == 3.6.2 && == 5.7.2 && > 4.5.4 && >= 5.8.4 ) || ( == 2.5.1 && > 1.3.3 && < 8.1.5 && > 4.3.2 && == 3.3.5 && < 3.4.2 )": {+                                        "dlHash": "difbztt",+                                        "dlSubdir": "\u001d\t",+                                        "dlUri": "https:zadarq"+                                    },+                                    "( >= 5.7.8 && > 7.2.7 && < 1.2.4 )": {+                                        "dlHash": "klstfke",+                                        "dlSubdir": "􎜅&-\u0004oq<",+                                        "dlUri": "http:zzsxdpu"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 6.2.3 )": {+                                        "dlHash": "doinpl",+                                        "dlSubdir": {+                                            "RegexDir": "L@,8"+                                        },+                                        "dlUri": "http:j"+                                    },+                                    "( < 7.6.8 && >= 8.2.6 && < 2.8.3 && >= 7.2.2 ) || ( <= 8.4.7 && <= 5.5.7 ) || ( <= 2.7.7 && < 2.1.6 && > 7.6.6 && == 1.4.4 && <= 4.8.4 && <= 2.7.5 && <= 2.2.5 )": {+                                        "dlHash": "jtbjkod",+                                        "dlSubdir": "#S\u001c<1",+                                        "dlUri": "https:ddscth"+                                    },+                                    "( <= 2.7.6 && >= 8.8.6 && <= 3.1.4 && == 5.3.1 && >= 3.1.7 )": {+                                        "dlHash": "agwxczg",+                                        "dlSubdir": "",+                                        "dlUri": "http:ubi"+                                    },+                                    "( > 6.2.7 && == 5.7.6 && < 4.5.5 && > 1.3.7 && == 3.7.1 && == 3.7.4 && <= 3.1.4 && > 5.8.5 )": {+                                        "dlHash": "zeiug",+                                        "dlSubdir": null,+                                        "dlUri": "https:yhildgaz"+                                    },+                                    "( >= 6.6.2 && == 4.4.5 && == 1.7.8 && < 8.4.7 && >= 6.2.8 && >= 4.5.2 ) || ( > 2.1.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": "M0O𒁑꿬",+                                        "dlUri": "https:gorwlne"+                                    },+                                    "( >= 7.2.4 && < 2.1.4 && == 2.7.5 && > 1.6.2 && > 5.4.3 && < 3.5.7 && == 6.6.2 )": {+                                        "dlHash": "vbeewtq",+                                        "dlSubdir": {+                                            "RegexDir": "$"+                                        },+                                        "dlUri": "http:scpi"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 7.4.3 && <= 7.3.7 && < 3.1.5 ) || ( >= 5.3.5 ) || ( == 7.5.2 && <= 7.4.7 && > 5.7.8 ) || ( < 7.1.4 && <= 3.1.4 && >= 8.4.2 && < 2.7.6 ) || ( <= 3.7.3 && <= 8.8.4 && == 3.7.2 && > 4.8.3 && == 2.3.1 && < 2.2.4 )": {+                                        "dlHash": "zz",+                                        "dlSubdir": {+                                            "RegexDir": "h"+                                        },+                                        "dlUri": "http:blx"+                                    },+                                    "( <= 2.6.8 && <= 7.5.5 && >= 6.1.1 && <= 1.2.7 ) || ( <= 7.3.4 && == 5.4.2 ) || ( >= 3.1.3 && >= 1.4.4 && == 5.8.3 && >= 7.6.2 && == 7.6.4 && >= 5.5.5 )": {+                                        "dlHash": "rwo",+                                        "dlSubdir": {+                                            "RegexDir": "𤧲𝢠𣶲\u000e7"+                                        },+                                        "dlUri": "https:nlaiak"+                                    },+                                    "( <= 2.6.8 && > 8.8.8 && > 1.4.1 && == 8.7.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "塶\u0012􅜆𦻥\u001f􆕦i*"+                                        },+                                        "dlUri": "https:uy"+                                    },+                                    "( <= 8.3.5 && == 7.5.5 && <= 2.6.4 && == 8.1.8 && >= 2.3.6 && <= 6.1.6 ) || ( == 6.6.3 && < 6.5.1 ) || ( < 6.2.3 && >= 3.8.2 && < 3.3.3 && > 5.4.2 && == 5.5.9 && == 3.8.2 && > 1.7.8 )": {+                                        "dlHash": "eeirenyo",+                                        "dlSubdir": "q􀼻",+                                        "dlUri": "http:rxppb"+                                    },+                                    "( == 3.4.1 ) || ( <= 2.6.2 && >= 8.3.2 && == 3.3.2 && > 5.3.2 && == 2.1.5 ) || ( <= 8.6.3 && >= 4.6.8 && == 1.6.8 ) || ( <= 5.1.4 )": {+                                        "dlHash": "belzy",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:avc"+                                    },+                                    "( == 7.6.8 && < 4.6.1 && <= 7.8.7 && <= 7.6.8 && >= 9.6.7 )": {+                                        "dlHash": "edttgjb",+                                        "dlSubdir": "",+                                        "dlUri": "http:qctrv"+                                    },+                                    "( >= 6.2.6 && > 8.4.5 && == 1.2.2 && > 6.6.2 && < 8.7.4 ) || ( > 4.3.8 ) || ( <= 1.1.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u0014"+                                        },+                                        "dlUri": "http:bqha"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "npca",+                                        "dlSubdir": {+                                            "RegexDir": "g>"+                                        },+                                        "dlUri": "http:yieoe"+                                    }+                                },+                                "Linux_Gentoo": {}+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": "egwp",+                        "viPostRemove": "vn",+                        "viPreCompile": "crsegnwv",+                        "viSourceDL": {+                            "dlHash": "gizfs",+                            "dlSubdir": "󹐭􌴴𭵊ah\u000b",+                            "dlUri": "https:"+                        },+                        "viTags": [+                            "old",+                            "Recommended",+                            ">R\u0008t􃬮eJ蔧",+                            "Latest",+                            "Latest",+                            "Latest",+                            "Recommended",+                            "Recommended"+                        ]+                    },+                    "8.5.2": {+                        "viArch": {+                            "A_32": {},+                            "A_ARM64": {+                                "Darwin": {+                                    "( <= 4.3.8 && <= 3.1.7 && >= 1.1.4 && == 6.4.7 )": {+                                        "dlHash": "btbmvs",+                                        "dlSubdir": {+                                            "RegexDir": "L4N\u0018(槁"+                                        },+                                        "dlUri": "http:mww"+                                    },+                                    "( == 6.5.4 && == 8.5.4 && <= 4.8.4 && <= 6.2.3 && >= 1.2.4 && >= 2.7.1 )": {+                                        "dlHash": "ihoxn",+                                        "dlSubdir": {+                                            "RegexDir": "d\u0012/p5\u0007'"+                                        },+                                        "dlUri": "http:ueoylua"+                                    },+                                    "( > 2.6.6 ) || ( == 6.5.7 && < 4.2.4 && < 7.8.4 && > 6.6.7 && >= 1.6.3 && <= 4.8.7 && >= 6.5.3 && == 4.4.4 ) || ( <= 7.7.8 && < 2.1.4 && <= 6.7.2 && < 5.6.6 && <= 3.8.8 && <= 2.4.2 ) || ( < 3.5.3 && < 6.7.6 && == 3.3.8 && > 7.5.7 && == 8.1.8 && == 2.2.5 && < 7.6.3 && > 8.6.2 )": {+                                        "dlHash": "jm",+                                        "dlSubdir": {+                                            "RegexDir": "󵽭𗃋jp\u001ak<🄢"+                                        },+                                        "dlUri": "https:wchhfav"+                                    },+                                    "( >= 1.5.5 && > 6.8.8 )": {+                                        "dlHash": "d",+                                        "dlSubdir": "V\u0001/4\u0013\u001c􃎏",+                                        "dlUri": "http:zm"+                                    },+                                    "( >= 7.1.3 && < 7.2.7 && <= 7.4.8 && < 2.2.1 && < 6.4.3 && < 1.5.6 )": {+                                        "dlHash": "c",+                                        "dlSubdir": {+                                            "RegexDir": "f\u0006Tw\u0010+\u0019𣂫"+                                        },+                                        "dlUri": "http:nh"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "akmkc",+                                        "dlSubdir": {+                                            "RegexDir": "\u0010.~#Kv椀\u0016"+                                        },+                                        "dlUri": "http:bcapvjhr"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 8.3.8 && >= 1.2.7 && == 8.8.1 && > 5.1.5 && > 4.5.5 && > 1.4.7 && < 6.5.1 && <= 4.6.2 && <= 5.3.7 ) || ( <= 5.7.3 && <= 3.6.5 && == 6.3.7 && >= 2.6.1 && > 5.7.4 && < 6.6.5 && < 3.3.1 && < 8.1.4 && < 4.1.8 )": {+                                        "dlHash": "fy",+                                        "dlSubdir": null,+                                        "dlUri": "https:fb"+                                    },+                                    "( == 4.7.2 && <= 7.1.6 && > 3.5.2 && > 6.2.1 && >= 4.1.3 && >= 7.7.8 && == 2.6.8 && <= 1.3.1 )": {+                                        "dlHash": "tg",+                                        "dlSubdir": "囷h𓃥\u0016N\u001cmꢖ",+                                        "dlUri": "http:czhcq"+                                    },+                                    "( == 5.2.6 && < 7.4.7 && <= 2.6.5 && <= 4.3.1 && == 8.1.8 && >= 7.8.6 ) || ( == 1.2.6 && < 1.5.3 && < 7.4.8 && > 7.1.6 && <= 2.6.2 && > 3.3.4 && >= 3.3.5 )": {+                                        "dlHash": "tt",+                                        "dlSubdir": "9)\u00122",+                                        "dlUri": "http:rq"+                                    },+                                    "( == 7.4.8 && >= 4.4.2 && > 6.6.7 && < 8.4.6 && >= 7.3.2 && < 7.1.5 && == 8.5.8 && >= 3.2.2 && >= 4.3.7 ) || ( < 5.6.6 && <= 3.2.2 && == 7.7.3 )": {+                                        "dlHash": "ozkesg",+                                        "dlSubdir": null,+                                        "dlUri": "http:edoswym"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "udi",+                                        "dlSubdir": {+                                            "RegexDir": "-󽁫&\u0012^"+                                        },+                                        "dlUri": "https:hctzs"+                                    }+                                },+                                "Linux_Gentoo": {+                                    "( <= 8.1.2 && >= 4.3.6 )": {+                                        "dlHash": "epfbajcz",+                                        "dlSubdir": null,+                                        "dlUri": "https:z"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "muali",+                                        "dlSubdir": "\u0008%s",+                                        "dlUri": "http:dd"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:ieqx",+                        "viPostInstall": "hqpy",+                        "viPostRemove": "vbupaa",+                        "viPreCompile": "lu",+                        "viSourceDL": {+                            "dlHash": "l",+                            "dlSubdir": null,+                            "dlUri": "http:"+                        },+                        "viTags": [+                            "󴴆{=6𨠘𩩎\u0011e",+                            "old",+                            "Prerelease",+                            "base-5.8.1",+                            "Latest",+                            "Latest",+                            "base-8.7.3"+                        ]+                    }+                }+            },+            "globalTools": {+                "ShimGen": {+                    "dlHash": "",+                    "dlSubdir": "+\u0016}9愔N􀦚IHa",+                    "dlUri": "https:erxujsdtnkvfqdelcufbxpvllocyoo"+                }+            },+            "toolRequirements": {+                "GHCup": {+                    "3.8.8": {+                        "Darwin": {+                            "( <= 8.6.2 && > 2.3.4 && < 4.3.4 )": {+                                "distroPKGs": [+                                    "is",+                                    "j",+                                    "ucr",+                                    "vyzatm",+                                    "pt",+                                    "tzzuu",+                                    "k"+                                ],+                                "notes": ""+                            },+                            "( == 2.3.5 )": {+                                "distroPKGs": [+                                    "i",+                                    "uxt",+                                    "v"+                                ],+                                "notes": "mexlmar"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "cxwguwb"+                                ],+                                "notes": "znpm"+                            }+                        },+                        "FreeBSD": {+                            "( < 6.3.1 && > 5.6.4 && == 3.4.3 ) || ( > 2.1.6 && < 2.4.2 && < 5.4.4 && >= 5.6.5 && > 2.8.4 && >= 6.3.1 && < 8.1.1 && < 3.2.5 )": {+                                "distroPKGs": [+                                    "w",+                                    "fvdnmed",+                                    "grzy"+                                ],+                                "notes": "e"+                            },+                            "( <= 1.2.6 && == 1.8.2 && <= 1.4.6 && > 2.8.2 && < 3.6.6 && == 5.9.8 && > 2.7.3 && >= 2.3.6 ) || ( < 6.2.1 && <= 6.3.3 ) || ( > 2.2.7 && >= 3.1.5 ) || ( >= 7.3.6 && < 7.3.2 && == 1.6.1 && <= 5.2.3 && <= 1.7.1 && >= 4.2.4 && < 3.7.7 && <= 1.6.7 ) || ( == 4.2.3 && <= 3.4.8 && <= 1.7.8 && == 1.8.3 && >= 7.3.8 && < 5.8.4 && <= 2.1.7 ) || ( >= 5.3.1 && == 7.6.7 && <= 6.6.8 && >= 3.1.6 && == 2.3.2 )": {+                                "distroPKGs": [+                                    "qaq",+                                    "otd",+                                    "fsp",+                                    "pxpj",+                                    "zmdl",+                                    "apt",+                                    "otspy"+                                ],+                                "notes": "jy"+                            },+                            "( <= 5.5.3 && >= 2.3.7 && == 5.6.6 && == 2.6.6 )": {+                                "distroPKGs": [+                                    "",+                                    "vhze",+                                    "cfiu",+                                    "bpo",+                                    "",+                                    "",+                                    ""+                                ],+                                "notes": "rtx"+                            },+                            "( >= 1.3.3 && <= 3.6.8 && < 1.4.9 && >= 4.4.4 ) || ( > 8.7.4 && == 1.4.6 && < 4.2.6 && == 5.6.5 && >= 8.2.6 && > 5.3.4 )": {+                                "distroPKGs": [+                                    "wlnl",+                                    "p"+                                ],+                                "notes": ""+                            },+                            "( >= 6.2.7 && <= 7.4.2 && < 3.2.3 ) || ( < 3.4.1 && == 6.5.7 && <= 8.2.4 && >= 5.1.5 )": {+                                "distroPKGs": [+                                    "t",+                                    "jqybihqs",+                                    "d",+                                    "foxcxcid",+                                    "",+                                    "",+                                    "jkmhkou"+                                ],+                                "notes": "cquuylfu"+                            }+                        },+                        "Linux_AmazonLinux": {+                            "( <= 6.7.4 ) || ( < 8.6.5 && == 2.8.7 && == 1.2.4 && == 4.2.2 && < 2.8.4 && >= 3.3.7 && >= 1.5.2 && <= 5.5.5 ) || ( > 4.1.5 && <= 7.6.4 && == 8.3.5 && > 6.7.7 )": {+                                "distroPKGs": [],+                                "notes": "xk"+                            },+                            "( <= 8.7.6 && > 7.2.8 && <= 4.3.6 && > 8.2.1 && <= 5.8.8 && > 2.7.5 ) || ( == 2.5.7 && == 8.5.1 && <= 8.1.3 && <= 3.2.4 && < 3.2.7 && <= 3.4.1 && == 1.8.1 && <= 8.2.8 )": {+                                "distroPKGs": [+                                    "",+                                    "konnrns",+                                    "",+                                    "rloopixg",+                                    "lbdf",+                                    "kscrid",+                                    "qukqmvzd"+                                ],+                                "notes": "ast"+                            },+                            "( == 4.5.7 && >= 5.8.5 && == 4.4.2 && == 5.4.1 && < 1.2.7 && < 1.6.5 && == 5.8.8 && >= 4.8.3 )": {+                                "distroPKGs": [+                                    "rcn",+                                    "e"+                                ],+                                "notes": "dd"+                            },+                            "( == 4.7.1 && > 5.7.7 && > 6.8.8 && >= 6.8.7 && >= 2.7.4 && < 2.2.2 && == 2.4.6 && > 6.5.1 ) || ( < 2.8.2 && <= 5.5.6 && >= 4.8.4 && == 8.3.4 )": {+                                "distroPKGs": [+                                    "xbqtwto",+                                    "qhd",+                                    "onn"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "dyyge"+                                ],+                                "notes": "ckgs"+                            }+                        },+                        "Linux_Ubuntu": {},+                        "Windows": {+                            "( < 6.3.6 && <= 9.7.6 && >= 1.3.8 ) || ( == 2.7.2 && > 2.2.6 )": {+                                "distroPKGs": [+                                    "",+                                    "duwb"+                                ],+                                "notes": "o"+                            },+                            "( <= 2.7.4 && <= 1.2.4 && <= 6.3.5 && <= 1.4.2 && >= 6.4.8 && < 5.3.3 && <= 6.2.6 && <= 3.7.7 && > 4.2.2 )": {+                                "distroPKGs": [+                                    "",+                                    "xsgonn"+                                ],+                                "notes": "zzxj"+                            },+                            "( <= 4.6.8 && == 5.5.7 ) || ( < 5.2.3 && == 4.7.5 && >= 6.7.5 && >= 4.2.2 && >= 5.7.1 )": {+                                "distroPKGs": [+                                    "",+                                    "rjnnh",+                                    "riupvqfk",+                                    "lv",+                                    "",+                                    "zkfozzz",+                                    "mzqlhr",+                                    "eo"+                                ],+                                "notes": "etgfqx"+                            }+                        }+                    },+                    "unknown_version": {+                        "FreeBSD": {+                            "( < 4.1.3 ) || ( <= 1.7.6 && > 1.8.7 && <= 4.5.6 && > 5.3.8 && < 2.3.6 && == 3.1.2 && == 1.8.2 ) || ( >= 7.8.3 && < 6.2.6 )": {+                                "distroPKGs": [+                                    "ejdmkuof",+                                    "oxt"+                                ],+                                "notes": "qzt"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "x",+                                    "eaoos",+                                    ""+                                ],+                                "notes": "dek"+                            }+                        },+                        "Windows": {+                            "( < 1.5.4 && > 7.1.3 && == 3.6.8 && > 5.1.1 )": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": "v"+                            },+                            "( == 2.7.6 && <= 5.6.2 && > 6.6.5 && >= 7.6.4 && > 5.5.4 && < 2.4.1 && < 8.4.4 && < 3.8.5 )": {+                                "distroPKGs": [+                                    "",+                                    "f",+                                    "swwrrrp",+                                    "wufesm"+                                ],+                                "notes": "pbdn"+                            },+                            "( > 3.7.5 )": {+                                "distroPKGs": [+                                    "s",+                                    "fwo",+                                    "wsvlvnm",+                                    "forzyd"+                                ],+                                "notes": "p"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "cpd",+                                    "lkmpz",+                                    "eeoamioh",+                                    "fshpc",+                                    "hshlaiav",+                                    "",+                                    "z",+                                    "ibwzlhbg"+                                ],+                                "notes": "hi"+                            }+                        }+                    }+                },+                "HLS": {+                    "1.3.3": {+                        "Darwin": {+                            "( < 4.5.4 && < 6.1.3 && <= 7.7.5 && == 7.6.5 ) || ( <= 5.6.1 ) || ( >= 6.3.6 && == 5.5.7 && > 2.6.3 && > 1.6.3 && > 7.7.5 && > 7.3.2 && >= 7.1.7 && >= 6.3.4 ) || ( >= 1.2.6 && == 3.6.8 && < 3.3.6 && == 6.4.5 ) || ( == 2.4.4 && < 7.1.1 && >= 5.6.5 && <= 1.4.1 && >= 3.3.4 && == 4.1.5 )": {+                                "distroPKGs": [+                                    "mfqx",+                                    "w",+                                    "qsajnee",+                                    "aj",+                                    "xww",+                                    "ylnwzfql",+                                    "amo"+                                ],+                                "notes": "trxvpd"+                            },+                            "( <= 8.2.4 && == 7.8.2 )": {+                                "distroPKGs": [+                                    "",+                                    "",+                                    "ekmsih",+                                    "ihpwp",+                                    "unaddaf"+                                ],+                                "notes": "gujtjk"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "nzhubfzi",+                                    "ebm",+                                    "z",+                                    "hptvoimo",+                                    "fzqt"+                                ],+                                "notes": "lcntathl"+                            }+                        },+                        "FreeBSD": {+                            "( == 6.2.6 && < 6.5.2 && >= 2.4.5 && == 1.7.3 && >= 5.4.8 ) || ( > 3.6.8 && >= 1.7.6 && <= 7.5.3 && == 1.4.6 && >= 3.6.4 && <= 4.2.8 ) || ( >= 4.6.7 && < 2.6.8 && < 4.5.2 && < 2.4.1 && == 6.5.2 && >= 3.3.1 && < 4.7.2 )": {+                                "distroPKGs": [+                                    "igeawz",+                                    "ayzc",+                                    "cjttq",+                                    "tdqdbx"+                                ],+                                "notes": "wdu"+                            },+                            "( >= 7.3.8 && >= 1.5.6 && > 8.4.3 && <= 8.3.2 && > 4.8.5 && >= 3.8.3 && < 3.1.8 && < 7.6.4 && <= 1.4.1 )": {+                                "distroPKGs": [],+                                "notes": "veh"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "mcnhl",+                                    ""+                                ],+                                "notes": "f"+                            }+                        },+                        "Linux_RedHat": {+                            "( < 7.6.1 && < 8.5.2 ) || ( < 8.7.1 && < 4.3.7 && == 6.4.8 && <= 6.8.2 && < 4.4.6 && <= 1.4.7 ) || ( <= 5.4.5 ) || ( > 1.6.6 && < 3.6.1 && >= 5.5.2 && >= 3.8.8 && <= 4.1.8 && == 1.2.2 ) || ( > 8.2.3 && > 4.1.8 )": {+                                "distroPKGs": [+                                    "knomd",+                                    "uxxdor",+                                    "vqtg",+                                    "",+                                    "fmgml",+                                    "qp",+                                    "ehra",+                                    ""+                                ],+                                "notes": "hx"+                            },+                            "( <= 6.5.2 && <= 1.6.4 && < 1.7.2 && == 1.2.1 && == 8.6.5 && == 2.7.8 && == 7.3.6 )": {+                                "distroPKGs": [+                                    "gazfmkmn",+                                    "uy",+                                    "dyjuemzc",+                                    "uf",+                                    "any",+                                    "cjyl"+                                ],+                                "notes": "a"+                            },+                            "( == 3.5.6 && <= 7.2.1 && >= 2.7.4 && < 2.3.3 && == 4.3.2 && >= 2.8.6 ) || ( > 7.8.3 && < 2.1.7 && < 4.8.7 && >= 4.1.7 && == 2.1.8 ) || ( > 9.6.3 && >= 4.5.8 && <= 8.6.5 && == 3.8.7 && > 4.5.7 )": {+                                "distroPKGs": [+                                    "rtk",+                                    "yakgb",+                                    "smsqb",+                                    "dfb"+                                ],+                                "notes": "psztz"+                            },+                            "( > 7.7.4 && > 2.2.6 && < 7.6.4 && <= 4.8.6 && == 4.2.2 ) || ( >= 5.4.7 ) || ( == 5.2.3 && > 5.7.1 && == 3.3.3 && > 6.2.4 ) || ( >= 2.3.4 ) || ( > 6.6.5 && >= 2.3.2 && >= 8.6.5 && > 4.1.2 && > 1.2.1 && <= 1.8.3 && >= 8.7.4 && == 5.2.4 ) || ( < 5.5.4 && == 7.4.4 && >= 7.5.5 && == 8.8.7 ) || ( > 5.7.5 && >= 1.3.5 && >= 2.4.6 && == 3.4.1 && == 7.5.8 && >= 5.4.2 && <= 4.1.3 && >= 5.3.8 ) || ( == 6.1.5 && == 1.2.8 && > 4.5.2 && <= 8.8.2 && < 2.3.3 ) || ( <= 6.8.2 && == 8.7.1 && > 6.7.2 && >= 3.4.2 && == 1.4.6 && <= 5.3.3 && > 2.4.2 && <= 8.6.7 ) || ( == 7.9.6 && <= 9.5.3 && <= 5.7.3 && <= 5.3.7 && < 2.4.3 && >= 5.5.6 && >= 6.1.1 && < 3.6.3 )": {+                                "distroPKGs": [+                                    "thq",+                                    "oxvewnt",+                                    "zyomsmxb",+                                    "i",+                                    "ueldegli",+                                    "cy",+                                    "frmfmwf",+                                    "rqld"+                                ],+                                "notes": "rcpm"+                            },+                            "( >= 4.8.2 && > 4.5.1 && < 1.6.2 && == 3.4.7 && < 4.6.1 && >= 3.7.4 && <= 1.2.3 ) || ( == 5.8.2 && > 2.5.6 && < 1.1.7 && > 4.5.3 && >= 2.6.3 && > 1.1.1 && >= 1.2.2 && > 4.2.3 )": {+                                "distroPKGs": [],+                                "notes": "svkwghyq"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "fse",+                                    "yvnbdb",+                                    "vmwmwq",+                                    "f"+                                ],+                                "notes": "dld"+                            }+                        },+                        "Windows": {+                            "( == 2.7.5 && >= 4.7.3 && >= 6.2.6 && == 4.2.3 && < 6.3.2 && > 3.8.8 && < 2.7.6 && == 5.5.6 && <= 5.7.5 )": {+                                "distroPKGs": [+                                    "vln",+                                    "knpawo",+                                    "befujdbg"+                                ],+                                "notes": "zsaphh"+                            },+                            "( == 8.6.7 && <= 7.5.2 && <= 1.2.8 && >= 1.8.8 && < 4.5.6 && == 3.5.3 ) || ( < 5.4.2 && >= 2.3.2 && >= 2.1.4 )": {+                                "distroPKGs": [],+                                "notes": "k"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "fqacbif",+                                    "nci"+                                ],+                                "notes": "hyun"+                            }+                        }+                    },+                    "5.4.1": {+                        "FreeBSD": {+                            "( <= 5.5.5 && >= 8.1.4 && == 4.7.5 )": {+                                "distroPKGs": [+                                    "xjv",+                                    "qvgd",+                                    "fkv"+                                ],+                                "notes": "lrcs"+                            }+                        },+                        "Linux_Exherbo": {+                            "( <= 1.8.4 && > 6.4.8 && == 1.8.7 && > 2.4.6 && < 5.6.5 && >= 2.7.5 && == 3.5.7 && >= 5.7.5 && >= 8.5.2 ) || ( > 7.5.2 && >= 7.1.2 && <= 4.6.3 ) || ( >= 5.2.7 && == 7.2.5 && <= 6.8.5 ) || ( == 5.3.8 && <= 8.6.5 && <= 2.1.8 && == 3.2.8 && >= 8.7.3 && > 5.7.6 && >= 2.7.4 && >= 1.2.1 && == 6.3.1 ) || ( >= 8.8.1 && == 6.3.7 && <= 6.2.6 && < 6.3.3 && <= 2.4.1 )": {+                                "distroPKGs": [+                                    "kjlflwy"+                                ],+                                "notes": "nko"+                            },+                            "( <= 2.6.8 && > 7.5.5 ) || ( == 1.7.7 )": {+                                "distroPKGs": [+                                    "xkobhgf",+                                    "xbig",+                                    "hyvrxo",+                                    "rbowkze",+                                    "ehvurc"+                                ],+                                "notes": "sjlmqhy"+                            },+                            "( >= 1.2.1 && == 5.8.1 )": {+                                "distroPKGs": [+                                    "pqe",+                                    "qyncvj",+                                    ""+                                ],+                                "notes": "olonfr"+                            },+                            "( >= 8.5.3 && == 7.5.8 && >= 7.6.6 )": {+                                "distroPKGs": [+                                    "p",+                                    "k",+                                    "qvribbeu"+                                ],+                                "notes": "dolph"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "uyuzjir",+                                    "yj",+                                    "jkqolzz",+                                    "ojfyzb",+                                    "iheyg",+                                    "mgr",+                                    "qslruh",+                                    "qjuuf"+                                ],+                                "notes": "hsfdnod"+                            }+                        }+                    },+                    "8.5.8": {+                        "Windows": {}+                    }+                }+            }+        },+        {+            "ghcupDownloads": {+                "GHC": {+                    "1.1.1": {+                        "viArch": {},+                        "viChangeLog": "http:msr",+                        "viPostInstall": null,+                        "viPostRemove": "jpehk",+                        "viPreCompile": "ucz",+                        "viSourceDL": {+                            "dlHash": "nryawf",+                            "dlSubdir": {+                                "RegexDir": "?􇽞EJ8"+                            },+                            "dlUri": "https:zxekodom"+                        },+                        "viTags": []+                    },+                    "3.2.1": {+                        "viArch": {+                            "A_32": {},+                            "A_PowerPC": {+                                "Darwin": {+                                    "( == 8.2.1 && >= 6.3.1 && < 7.6.4 )": {+                                        "dlHash": "jw",+                                        "dlSubdir": {+                                            "RegexDir": "d󵬚\u001aV"+                                        },+                                        "dlUri": "http:ipksro"+                                    },+                                    "( == 8.2.5 && <= 1.1.2 && <= 6.6.8 && >= 1.8.1 && < 2.5.9 ) || ( <= 8.4.8 && <= 2.4.4 && >= 3.5.5 && < 7.2.1 && <= 7.4.7 && == 1.1.7 ) || ( <= 5.5.6 )": {+                                        "dlHash": "ml",+                                        "dlSubdir": "y^",+                                        "dlUri": "https:kcd"+                                    },+                                    "( > 2.3.5 ) || ( <= 6.7.8 && > 5.8.5 )": {+                                        "dlHash": "zocxzp",+                                        "dlSubdir": {+                                            "RegexDir": "cv,eP"+                                        },+                                        "dlUri": "https:bhery"+                                    },+                                    "( > 5.3.3 && > 4.3.6 && >= 7.5.2 && >= 9.8.1 && >= 2.3.5 && >= 6.8.6 && == 7.6.2 ) || ( <= 4.8.2 )": {+                                        "dlHash": "nqde",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( > 7.7.7 && >= 6.2.5 && == 6.1.1 && <= 7.7.3 && < 7.3.2 )": {+                                        "dlHash": "hymmh",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:afmc"+                                    },+                                    "( >= 7.3.2 && > 6.8.7 && >= 2.4.3 && == 3.2.3 && < 5.7.2 )": {+                                        "dlHash": "z",+                                        "dlSubdir": null,+                                        "dlUri": "https:ouwr"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "gxk",+                                        "dlSubdir": "\u0007䉂F􅂌\u0007",+                                        "dlUri": "https:nozhwwvx"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 3.6.8 && == 1.7.1 && >= 5.8.2 && > 7.7.2 && >= 4.1.3 && < 2.1.4 && == 2.7.3 )": {+                                        "dlHash": "vchn",+                                        "dlSubdir": "󳗊𝄜􃴝𡒉q_􏒆",+                                        "dlUri": "http:l"+                                    },+                                    "( == 3.4.5 && <= 5.3.2 && <= 1.4.1 ) || ( > 1.2.5 && == 5.2.4 && >= 2.1.7 && >= 2.1.1 && > 1.4.6 && < 3.2.6 && >= 4.2.7 )": {+                                        "dlHash": "odqiaot",+                                        "dlSubdir": "UC󵴹\u0019",+                                        "dlUri": "http:gxdmxj"+                                    },+                                    "( == 4.1.7 ) || ( < 4.7.5 && < 3.5.7 && < 4.7.8 && <= 5.3.4 && <= 8.5.8 && > 3.7.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": "􌖀g!:jJ󼞀",+                                        "dlUri": "https:aumrk"+                                    },+                                    "( >= 7.4.7 && <= 3.6.1 && < 1.1.7 && > 8.6.1 )": {+                                        "dlHash": "sfmq",+                                        "dlSubdir": "o\u0019⦶𡛧8qo",+                                        "dlUri": "http:hlpd"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "oad",+                                        "dlSubdir": "􈴖iV8𦥢𠩿w\u0003",+                                        "dlUri": "http:sgrjou"+                                    }+                                },+                                "Windows": {+                                    "( < 4.2.7 && <= 6.6.1 && >= 2.3.2 && < 6.8.7 && == 7.1.4 && >= 3.9.5 ) || ( >= 1.5.9 && == 3.3.3 && >= 4.4.8 ) || ( < 5.1.2 && > 5.4.7 && >= 8.1.8 && < 2.8.3 ) || ( <= 2.8.6 && >= 5.6.1 && == 1.1.2 && > 6.7.6 && == 2.7.5 && < 5.6.1 && > 2.8.2 && > 1.6.6 && >= 1.4.3 )": {+                                        "dlHash": "tmr",+                                        "dlSubdir": {+                                            "RegexDir": "𗈦𧠘tt"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( < 5.3.4 )": {+                                        "dlHash": "ww",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( < 7.6.6 && > 7.1.9 && > 8.1.1 && <= 8.3.2 && == 8.6.4 )": {+                                        "dlHash": "cmq",+                                        "dlSubdir": "0\u0012󳪩􅝆",+                                        "dlUri": "https:c"+                                    },+                                    "( == 2.6.6 && < 8.5.2 && <= 1.1.7 && > 8.2.3 && == 1.1.3 && == 4.3.5 ) || ( > 5.8.7 )": {+                                        "dlHash": "ty",+                                        "dlSubdir": null,+                                        "dlUri": "https:v"+                                    },+                                    "( == 6.7.6 && > 5.6.2 && == 6.6.3 && < 6.3.6 ) || ( == 1.1.1 )": {+                                        "dlHash": "mwqqdxk",+                                        "dlSubdir": "z.w󼤺",+                                        "dlUri": "http:sj"+                                    },+                                    "( > 3.3.7 && < 6.3.6 && <= 7.6.2 && < 2.3.3 && < 1.4.3 ) || ( == 1.7.8 ) || ( >= 7.6.1 && >= 6.8.5 && <= 6.6.1 )": {+                                        "dlHash": "rbvgspn",+                                        "dlSubdir": "I󼓿W",+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:bm"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "FreeBSD": {+                                    "( < 7.8.4 && <= 5.2.4 && < 4.6.7 && > 1.2.3 && < 2.5.6 && < 2.5.1 )": {+                                        "dlHash": "j",+                                        "dlSubdir": "\u0019#3􃢟Un􋯹𑀗",+                                        "dlUri": "https:gbzkvhqs"+                                    },+                                    "( <= 7.7.7 && <= 1.6.3 && == 5.1.4 && == 7.7.2 )": {+                                        "dlHash": "bznb",+                                        "dlSubdir": "l􋥺3𭶒",+                                        "dlUri": "https:bt"+                                    },+                                    "( == 5.1.1 && == 5.3.1 && < 4.6.2 && > 4.2.8 && == 4.9.1 && > 3.5.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u000ew:rjR/",+                                        "dlUri": "https:sbvbxki"+                                    },+                                    "( == 6.7.6 && >= 4.3.7 ) || ( >= 1.7.1 && <= 6.2.1 && > 3.3.6 && <= 8.6.2 && >= 7.2.5 && < 2.3.4 )": {+                                        "dlHash": "lr",+                                        "dlSubdir": {+                                            "RegexDir": "{'"+                                        },+                                        "dlUri": "http:igua"+                                    },+                                    "( > 6.4.3 && > 7.5.1 && < 1.8.5 && >= 7.6.5 && >= 3.2.2 && == 5.6.2 && >= 7.5.4 )": {+                                        "dlHash": "ycgruziu",+                                        "dlSubdir": {+                                            "RegexDir": "𪌘󿢤`𫯠.𩂘"+                                        },+                                        "dlUri": "https:mvjzpp"+                                    },+                                    "( >= 2.8.4 && < 7.2.8 && < 4.2.8 && <= 8.6.5 && < 8.2.1 ) || ( <= 2.8.7 && >= 3.3.1 && < 7.6.1 ) || ( >= 3.4.7 && < 8.6.1 && <= 3.3.4 && <= 2.6.6 && < 7.8.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:kbv"+                                    },+                                    "( >= 7.3.6 && < 6.3.4 && > 4.1.8 && == 4.8.1 && == 7.4.3 ) || ( > 2.7.1 && >= 1.6.3 && == 9.2.2 && > 3.6.2 && == 5.8.4 && == 4.3.3 && == 2.1.7 && == 5.5.8 ) || ( > 5.4.2 && <= 7.2.5 && < 3.7.4 )": {+                                        "dlHash": "nau",+                                        "dlSubdir": null,+                                        "dlUri": "http:nedcdh"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "suxqku",+                                        "dlSubdir": null,+                                        "dlUri": "https:fpb"+                                    }+                                },+                                "Windows": {+                                    "( >= 6.7.6 && > 1.1.4 )": {+                                        "dlHash": "zhwg",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:d"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:",+                        "viPostInstall": "nvs",+                        "viPostRemove": null,+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "n",+                            "dlSubdir": "󷎲kG󳓉ow",+                            "dlUri": "http:tkxzfxcq"+                        },+                        "viTags": [+                            "Latest",+                            "Prerelease",+                            "base-1.8.7",+                            "Prerelease",+                            "base-7.7.6",+                            "𩺈𥲬􅚷\u0015A~",+                            "old"+                        ]+                    },+                    "4.5.3": {+                        "viArch": {+                            "A_ARM64": {+                                "Darwin": {+                                    "( < 8.6.5 && <= 4.3.2 && >= 5.4.2 && == 8.8.7 ) || ( >= 8.1.5 ) || ( >= 4.8.3 && < 6.1.2 && > 8.6.1 )": {+                                        "dlHash": "nxsbqgg",+                                        "dlSubdir": "",+                                        "dlUri": "https:h"+                                    },+                                    "( <= 6.4.1 && > 4.2.7 && >= 7.1.8 ) || ( < 5.3.5 && <= 8.7.1 )": {+                                        "dlHash": "w",+                                        "dlSubdir": {+                                            "RegexDir": "􎺰\u0000xTw"+                                        },+                                        "dlUri": "http:jrpvjp"+                                    },+                                    "( <= 7.3.8 && > 5.2.4 && == 2.4.3 && == 1.8.7 )": {+                                        "dlHash": "gteuvfyd",+                                        "dlSubdir": {+                                            "RegexDir": "\u000b7k\n.\u001d"+                                        },+                                        "dlUri": "http:irdtcou"+                                    },+                                    "( <= 7.7.3 && <= 8.5.4 && < 4.4.2 && < 5.4.1 && <= 1.7.1 ) || ( == 3.7.3 && >= 6.6.7 ) || ( < 6.8.7 && > 8.3.7 && >= 5.6.1 && < 4.4.2 && > 6.5.5 ) || ( >= 7.7.1 && > 3.2.1 && > 1.7.3 && <= 4.4.7 && < 2.3.7 )": {+                                        "dlHash": "tmkmrweg",+                                        "dlSubdir": "􎬠r\u0001\u0004󹤹Vtl",+                                        "dlUri": "http:dsfwi"+                                    },+                                    "( > 8.7.7 && > 5.1.1 && > 6.4.3 ) || ( < 1.8.1 && >= 8.4.8 && == 5.5.8 ) || ( > 5.2.3 && < 4.4.5 ) || ( < 7.8.8 && >= 5.7.2 && == 8.3.1 && > 7.1.2 && <= 5.1.3 && >= 5.7.4 && > 2.2.5 )": {+                                        "dlHash": "dnx",+                                        "dlSubdir": "-􂪂a󸥔",+                                        "dlUri": "https:vccsw"+                                    },+                                    "( >= 2.4.1 && < 7.3.3 && < 8.6.5 && > 2.7.8 && == 7.6.8 && == 5.2.1 && < 4.5.4 && < 4.5.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "w\u001d"+                                        },+                                        "dlUri": "https:kveaqx"+                                    },+                                    "( >= 6.1.1 && >= 8.8.4 && == 4.6.8 && < 6.2.8 && <= 6.2.7 )": {+                                        "dlHash": "ccssyt",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:maknsyl"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 1.3.1 ) || ( <= 5.3.3 && <= 4.3.3 && >= 1.1.5 && == 4.3.7 && < 3.5.8 && > 6.7.4 && == 5.3.1 )": {+                                        "dlHash": "eipjsn",+                                        "dlSubdir": {+                                            "RegexDir": "\u0017z\u0004g^"+                                        },+                                        "dlUri": "https:aj"+                                    },+                                    "( < 4.2.8 && <= 2.4.8 )": {+                                        "dlHash": "dfurzt",+                                        "dlSubdir": "w",+                                        "dlUri": "http:zhthj"+                                    },+                                    "( <= 1.1.2 && <= 5.3.7 && <= 7.4.1 )": {+                                        "dlHash": "luazsl",+                                        "dlSubdir": {+                                            "RegexDir": "X叫\tc{\u0011"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( == 1.4.1 && > 6.1.2 && < 7.4.8 && == 1.7.5 && == 8.5.4 && <= 8.2.6 && < 2.2.5 && > 2.3.4 && >= 7.2.5 )": {+                                        "dlHash": "ft",+                                        "dlSubdir": {+                                            "RegexDir": "]"+                                        },+                                        "dlUri": "https:boattr"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "miqzq",+                                        "dlSubdir": "",+                                        "dlUri": "http:kh"+                                    }+                                },+                                "Windows": {+                                    "( <= 2.5.3 && <= 2.8.8 && >= 5.1.4 )": {+                                        "dlHash": "tutjkoq",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:rlsh"+                                    },+                                    "( <= 5.1.7 && < 3.6.4 && > 8.6.8 && >= 2.3.7 )": {+                                        "dlHash": "lvios",+                                        "dlSubdir": "\tZ",+                                        "dlUri": "http:khovdftf"+                                    },+                                    "( > 8.6.3 && > 5.6.3 && > 1.2.1 && > 7.8.5 && == 2.4.8 && < 4.2.6 && <= 5.8.5 && == 4.2.7 )": {+                                        "dlHash": "xlpqa",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:mnh"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 1.7.7 && > 1.8.8 && == 2.2.1 && <= 2.8.4 && <= 2.5.6 && == 4.6.8 && < 4.2.2 && <= 4.3.8 && > 6.1.4 ) || ( >= 6.2.3 && > 1.3.2 && < 2.8.4 && == 2.1.6 ) || ( >= 4.5.5 && >= 6.2.6 && <= 2.2.5 && == 7.7.4 && == 3.2.4 && > 1.4.6 && <= 7.3.4 && >= 1.1.3 ) || ( <= 2.4.7 && > 2.6.6 && >= 3.6.8 && <= 6.3.8 && >= 5.4.8 && <= 8.4.2 && == 3.4.5 && > 3.4.8 )": {+                                        "dlHash": "ilt",+                                        "dlSubdir": null,+                                        "dlUri": "https:vki"+                                    },+                                    "( <= 3.3.4 && <= 2.2.8 && >= 7.2.5 )": {+                                        "dlHash": "kvbd",+                                        "dlSubdir": null,+                                        "dlUri": "http:fhe"+                                    },+                                    "( <= 6.7.8 && == 8.8.1 && >= 6.3.1 && == 8.8.4 && > 7.5.7 ) || ( >= 8.4.4 ) || ( < 6.1.7 )": {+                                        "dlHash": "ct",+                                        "dlSubdir": "lkP",+                                        "dlUri": "http:hik"+                                    },+                                    "( == 8.8.6 && <= 6.8.5 && > 3.1.2 && == 8.1.1 && < 2.4.6 && <= 3.7.2 && >= 7.8.4 && >= 7.1.4 && > 3.1.4 )": {+                                        "dlHash": "vzn",+                                        "dlSubdir": "ks\u0006t𧲳@`𪐯",+                                        "dlUri": "http:cem"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "nftgjger",+                                        "dlSubdir": null,+                                        "dlUri": "http:yr"+                                    }+                                },+                                "FreeBSD": {+                                    "( == 7.4.8 && > 4.6.3 && > 2.5.4 && < 2.2.1 && <= 4.5.4 && > 2.2.2 && >= 6.3.6 && > 8.4.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:orrhja"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "jofic",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    }+                                },+                                "Linux_Exherbo": {+                                    "( < 1.2.4 && <= 7.1.2 && >= 1.3.3 && == 8.7.5 && >= 2.6.3 && <= 8.1.3 && > 4.6.7 && == 7.8.6 && == 3.4.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u000bv𓐋R󹛪󿵱\"",+                                        "dlUri": "http:w"+                                    },+                                    "( < 7.2.6 && > 6.6.1 && < 6.5.5 && > 7.8.7 && == 7.7.7 ) || ( <= 3.3.4 && < 4.3.6 && >= 8.3.3 )": {+                                        "dlHash": "bb",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( <= 4.1.8 && == 7.8.5 && < 2.4.4 && > 8.4.4 && > 1.2.3 && >= 2.4.3 && >= 1.5.6 ) || ( <= 1.2.4 && <= 9.7.4 && < 6.1.3 && == 2.3.7 && >= 8.3.8 && <= 8.7.6 && > 6.1.1 && > 3.6.8 && >= 6.2.7 )": {+                                        "dlHash": "jmoi",+                                        "dlSubdir": "\u0016\u000fm𝄴𫹪司",+                                        "dlUri": "http:viupudu"+                                    },+                                    "( <= 8.6.3 && == 4.3.3 && < 3.1.6 && <= 7.8.2 && >= 5.1.3 )": {+                                        "dlHash": "b",+                                        "dlSubdir": "󶀲\u001e\u0011",+                                        "dlUri": "https:l"+                                    },+                                    "( >= 5.3.3 && >= 4.5.2 && >= 3.5.2 && >= 8.6.4 && < 2.6.6 && <= 4.4.8 ) || ( > 7.5.2 && < 1.8.5 && >= 7.6.8 && == 3.6.1 && > 4.7.2 ) || ( > 1.6.5 && <= 4.4.6 && == 7.8.7 && < 8.2.3 ) || ( < 6.2.1 )": {+                                        "dlHash": "mp",+                                        "dlSubdir": {+                                            "RegexDir": "\u0006*t\r/\""+                                        },+                                        "dlUri": "http:sccwj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "xec",+                                        "dlSubdir": {+                                            "RegexDir": "G𘃮⒩\u0010𦻗0𡕂􂼻"+                                        },+                                        "dlUri": "http:hhrq"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:vyih",+                        "viPostInstall": "vouuw",+                        "viPostRemove": "widnqidl",+                        "viPreCompile": "hdykow",+                        "viSourceDL": {+                            "dlHash": "in",+                            "dlSubdir": "\u000f<",+                            "dlUri": "https:bxumqu"+                        },+                        "viTags": [+                            "Recommended",+                            "Latest",+                            "Latest",+                            "base-1.5.2",+                            "Latest",+                            "old"+                        ]+                    },+                    "7.3.9": {+                        "viArch": {+                            "A_ARM": {+                                "FreeBSD": {+                                    "( < 6.6.7 && < 6.4.6 && == 5.2.2 && >= 1.8.5 && == 1.8.4 && == 6.4.5 && == 8.9.2 && >= 2.4.5 ) || ( >= 8.3.8 )": {+                                        "dlHash": "out",+                                        "dlSubdir": "B瑝I\u001f\r!",+                                        "dlUri": "http:pjbx"+                                    },+                                    "( > 5.6.2 && < 4.1.7 && <= 2.8.6 && >= 8.5.8 && == 7.6.5 && < 4.4.3 && < 8.1.6 && == 2.4.8 && < 1.7.8 ) || ( >= 6.5.5 && <= 5.8.2 && < 7.3.5 && >= 3.5.1 ) || ( > 8.6.7 && == 5.3.1 ) || ( < 8.8.3 && >= 3.2.5 )": {+                                        "dlHash": "fcxsqlfb",+                                        "dlSubdir": null,+                                        "dlUri": "https:folcufqg"+                                    },+                                    "( >= 3.4.5 && < 1.5.1 && < 8.7.8 && < 4.7.5 && < 6.7.8 && == 8.1.3 && <= 1.1.5 )": {+                                        "dlHash": "c",+                                        "dlSubdir": {+                                            "RegexDir": "D>𨰎\u0017"+                                        },+                                        "dlUri": "http:lea"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "Darwin": {+                                    "( < 4.8.4 && > 6.6.6 )": {+                                        "dlHash": "dd",+                                        "dlSubdir": "\u000b.A$􆛙9<4",+                                        "dlUri": "http:une"+                                    },+                                    "( <= 3.3.5 && >= 5.8.8 && <= 1.7.7 && == 4.2.3 && == 6.2.8 && < 8.6.8 && <= 3.6.7 && == 4.1.5 && >= 7.5.5 ) || ( == 5.3.6 && == 6.6.7 && == 6.1.8 )": {+                                        "dlHash": "zcpeywm",+                                        "dlSubdir": {+                                            "RegexDir": "\u0001􄚲"+                                        },+                                        "dlUri": "http:imos"+                                    },+                                    "( <= 6.1.5 && < 4.1.4 && < 3.4.3 )": {+                                        "dlHash": "uyxazzw",+                                        "dlSubdir": null,+                                        "dlUri": "https:pbdznpji"+                                    },+                                    "( == 4.2.8 && <= 4.1.1 && < 3.8.2 )": {+                                        "dlHash": "f",+                                        "dlSubdir": "\u0000c",+                                        "dlUri": "https:x"+                                    },+                                    "( > 4.5.1 && >= 3.1.4 && <= 8.5.2 && >= 5.3.6 && == 4.3.2 && >= 6.1.7 && < 2.2.7 && <= 4.1.7 && == 6.6.5 ) || ( <= 1.7.6 && == 6.8.4 && < 7.2.8 && == 4.4.5 && > 6.5.2 && > 3.8.4 && >= 1.8.3 && >= 4.6.2 ) || ( < 7.8.7 && >= 2.8.8 && <= 2.1.3 && >= 6.8.6 && < 5.3.3 && < 8.4.3 && >= 1.3.8 ) || ( >= 1.6.5 && >= 8.4.5 && > 5.8.2 && > 7.2.4 && >= 1.8.5 && >= 7.7.4 && <= 6.6.7 && < 5.5.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u00079]셹",+                                        "dlUri": "http:fqknjwto"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "yikf",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 2.8.7 && == 5.7.8 && == 1.4.5 && < 4.7.6 ) || ( <= 1.6.6 && < 1.2.2 && <= 8.5.8 && < 4.2.1 && == 3.2.6 && < 3.5.4 )": {+                                        "dlHash": "ehipcwem",+                                        "dlSubdir": {+                                            "RegexDir": "'+5cy^\u0015w"+                                        },+                                        "dlUri": "http:nghrw"+                                    },+                                    "( == 2.1.2 && == 3.3.7 && < 1.8.6 && >= 3.2.3 )": {+                                        "dlHash": "es",+                                        "dlSubdir": null,+                                        "dlUri": "http:clhbgk"+                                    },+                                    "( > 3.5.6 && >= 8.4.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\t𤹽󳓥_"+                                        },+                                        "dlUri": "https:znwsq"+                                    },+                                    "( > 6.8.5 )": {+                                        "dlHash": "k",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( >= 1.2.4 && >= 7.2.5 && <= 8.3.2 && >= 7.9.1 && > 1.2.1 && > 4.8.5 && == 1.4.5 && >= 8.2.8 && <= 3.6.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "h",+                                        "dlUri": "https:aslrdeog"+                                    },+                                    "( >= 6.5.7 && == 8.8.4 && > 3.1.2 && < 5.4.6 )": {+                                        "dlHash": "margu",+                                        "dlSubdir": null,+                                        "dlUri": "http:o"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "kkbgx",+                                        "dlSubdir": "",+                                        "dlUri": "http:b"+                                    }+                                },+                                "Linux_Alpine": {+                                    "( < 5.4.7 && < 5.2.7 && == 6.5.2 && > 8.7.7 && == 4.4.5 && >= 6.1.8 && == 3.7.4 && >= 6.1.7 && >= 6.3.2 ) || ( > 6.6.4 && >= 5.1.2 && == 3.5.5 && <= 8.7.1 && == 1.4.7 && >= 2.1.6 ) || ( == 6.3.8 && > 7.4.5 && < 6.1.8 && >= 7.7.3 && == 7.4.3 ) || ( > 6.5.1 && >= 4.6.3 && >= 1.3.6 && == 3.3.7 && > 5.2.8 && > 5.4.2 && == 4.1.2 && < 4.4.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u0019",+                                        "dlUri": "https:jnyhk"+                                    },+                                    "( <= 3.4.2 ) || ( > 4.7.6 )": {+                                        "dlHash": "l",+                                        "dlSubdir": {+                                            "RegexDir": "p󵅒䣫p夌\u000b󵢈"+                                        },+                                        "dlUri": "http:airv"+                                    },+                                    "( == 1.1.1 && >= 7.5.6 && <= 6.6.7 && < 6.5.7 && <= 4.5.3 ) || ( >= 6.6.1 && < 6.1.3 && >= 5.6.8 )": {+                                        "dlHash": "jxlcd",+                                        "dlSubdir": {+                                            "RegexDir": "1\u0004󱶴󳿟q\u0004\u000bp"+                                        },+                                        "dlUri": "https:qju"+                                    },+                                    "( > 8.8.8 && == 2.2.4 && < 1.3.3 && <= 5.8.3 && == 9.7.3 && <= 4.7.4 && > 5.2.1 && > 5.4.3 && >= 3.5.8 )": {+                                        "dlHash": "prz",+                                        "dlSubdir": null,+                                        "dlUri": "http:fmxu"+                                    },+                                    "( >= 3.2.1 ) || ( == 8.4.2 && == 3.1.7 && <= 4.3.2 && >= 4.5.3 && > 2.5.1 && == 6.4.3 && < 7.7.7 && < 4.5.1 && < 5.2.5 )": {+                                        "dlHash": "agj",+                                        "dlSubdir": null,+                                        "dlUri": "http:trxnu"+                                    },+                                    "( >= 7.3.6 && <= 8.1.3 && == 1.5.2 && >= 5.5.8 && >= 1.6.5 ) || ( > 2.7.3 && <= 5.1.3 && < 5.1.6 && > 1.6.4 ) || ( >= 8.6.5 && <= 7.3.7 && <= 1.5.4 && <= 8.3.6 && >= 2.4.2 && >= 1.4.6 && == 3.8.5 && <= 1.5.1 ) || ( <= 5.1.6 && == 3.8.3 && == 8.6.7 )": {+                                        "dlHash": "lcixc",+                                        "dlSubdir": {+                                            "RegexDir": "\u0008"+                                        },+                                        "dlUri": "http:mfehes"+                                    }+                                },+                                "Linux_Gentoo": {+                                    "( <= 5.4.3 && <= 1.1.2 && <= 3.1.6 && > 7.3.7 )": {+                                        "dlHash": "hjsiwis",+                                        "dlSubdir": null,+                                        "dlUri": "https:gbkl"+                                    },+                                    "( <= 8.8.6 && > 5.8.8 && <= 6.4.3 ) || ( < 1.6.7 && == 2.7.2 && < 8.7.5 && == 6.4.1 )": {+                                        "dlHash": "wg",+                                        "dlSubdir": {+                                            "RegexDir": "󶷨\u0012󸱼0"+                                        },+                                        "dlUri": "https:lbplj"+                                    },+                                    "( == 3.2.3 && > 1.7.7 ) || ( > 2.8.4 && == 4.5.8 && > 1.1.7 && > 5.3.6 && == 4.5.7 && == 5.5.5 && >= 4.1.1 )": {+                                        "dlHash": "gbmvy",+                                        "dlSubdir": {+                                            "RegexDir": ">\u001a,ctN\""+                                        },+                                        "dlUri": "http:lz"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "rsg",+                                        "dlSubdir": null,+                                        "dlUri": "https:nhfn"+                                    }+                                },+                                "Windows": {+                                    "( <= 5.7.2 && > 3.7.2 && <= 2.8.1 && > 5.7.7 && > 5.8.8 )": {+                                        "dlHash": "nq",+                                        "dlSubdir": {+                                            "RegexDir": "􋿤"+                                        },+                                        "dlUri": "http:ixyrv"+                                    },+                                    "( == 3.7.3 && < 2.4.1 && <= 6.5.1 && >= 5.8.5 && <= 1.6.1 )": {+                                        "dlHash": "ihidhhjx",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:igku"+                                    },+                                    "( >= 3.8.7 && <= 8.2.7 && >= 2.4.3 && == 3.5.5 ) || ( <= 2.1.6 && < 1.2.4 ) || ( <= 2.2.4 && == 6.7.4 && <= 2.2.7 && > 6.3.4 && <= 2.2.2 && < 4.5.6 )": {+                                        "dlHash": "vnegcs",+                                        "dlSubdir": {+                                            "RegexDir": "󻄚𥜸bB"+                                        },+                                        "dlUri": "https:nykc"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( < 2.7.2 && > 5.7.3 && >= 3.2.8 && >= 5.1.2 && <= 4.3.5 ) || ( < 8.8.7 && > 7.5.6 && == 2.6.1 && < 7.3.4 && < 3.8.2 )": {+                                        "dlHash": "ewuc",+                                        "dlSubdir": null,+                                        "dlUri": "https:wkbxqiru"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "avfkdxc",+                                        "dlSubdir": null,+                                        "dlUri": "https:tidz"+                                    }+                                },+                                "Linux_RedHat": {+                                    "( <= 1.8.7 && < 6.3.3 && < 3.4.7 && > 7.1.6 && <= 8.6.4 && >= 3.5.7 && < 1.2.1 && < 5.7.2 && > 6.8.5 )": {+                                        "dlHash": "bzfxiwv",+                                        "dlSubdir": "",+                                        "dlUri": "http:iy"+                                    },+                                    "( <= 7.3.4 && >= 7.4.7 && >= 8.3.6 && == 4.7.4 && > 4.8.1 && > 6.4.2 && <= 1.1.1 && >= 7.6.7 ) || ( <= 6.7.1 && >= 1.6.1 && > 2.2.8 && > 6.5.3 && < 2.5.2 && >= 8.5.1 )": {+                                        "dlHash": "q",+                                        "dlSubdir": {+                                            "RegexDir": "Q@\u0008"+                                        },+                                        "dlUri": "https:w"+                                    },+                                    "( == 7.1.3 && < 4.2.4 && > 8.7.1 && == 3.8.5 && > 3.1.1 && > 4.7.4 && > 3.4.2 && >= 3.8.1 && == 4.2.1 ) || ( > 4.8.8 && == 1.2.2 && > 1.6.5 && == 4.5.8 && <= 6.4.7 && >= 1.8.4 && == 3.4.6 ) || ( < 3.7.6 && >= 4.1.1 && <= 7.1.7 && < 6.5.1 && > 5.8.6 && == 6.5.7 && <= 5.6.5 && >= 4.6.2 && >= 4.1.5 )": {+                                        "dlHash": "dgk",+                                        "dlSubdir": null,+                                        "dlUri": "https:nmdta"+                                    },+                                    "( >= 4.2.5 && >= 8.5.2 && > 3.4.7 && > 1.7.1 && < 4.4.5 && < 6.3.1 && < 6.8.8 && < 3.1.6 && < 3.6.6 )": {+                                        "dlHash": "bdpmtqaj",+                                        "dlSubdir": {+                                            "RegexDir": ">"+                                        },+                                        "dlUri": "https:sc"+                                    },+                                    "( >= 6.7.7 && < 1.3.8 && >= 8.5.2 && >= 8.1.8 && >= 5.5.8 )": {+                                        "dlHash": "chkuwzm",+                                        "dlSubdir": null,+                                        "dlUri": "http:nyxojqj"+                                    },+                                    "( >= 7.1.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": "`Udg",+                                        "dlUri": "https:ocfrq"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "tldaewpk",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:adh"+                                    }+                                },+                                "Windows": {+                                    "( < 6.5.3 && > 8.2.7 && == 3.8.8 && > 4.8.1 && <= 4.7.4 && > 2.8.5 && <= 3.3.8 && > 4.5.4 && >= 5.3.7 )": {+                                        "dlHash": "mge",+                                        "dlSubdir": {+                                            "RegexDir": "1/\u000b􊺇s"+                                        },+                                        "dlUri": "http:tbdbit"+                                    },+                                    "( <= 8.2.4 )": {+                                        "dlHash": "j",+                                        "dlSubdir": "􆲯+R'S􂇳",+                                        "dlUri": "http:"+                                    },+                                    "( > 3.4.3 && == 3.6.5 && < 4.4.6 && == 7.7.3 && < 7.4.9 && == 5.4.4 && >= 3.8.8 && >= 8.1.1 && >= 7.5.8 )": {+                                        "dlHash": "ommt",+                                        "dlSubdir": "",+                                        "dlUri": "https:vflte"+                                    },+                                    "( > 4.2.6 && > 1.3.2 && < 4.2.2 && >= 2.2.5 && < 8.6.3 && >= 7.6.7 && >= 7.6.6 )": {+                                        "dlHash": "s",+                                        "dlSubdir": {+                                            "RegexDir": "\u001dZr4􉌺2':"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "u"+                                        },+                                        "dlUri": "https:dfn"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Linux_UnknownLinux": {+                                    "( < 3.1.3 && < 4.8.7 && > 3.5.8 && > 4.8.3 && <= 7.1.1 && > 1.2.7 && > 5.7.8 ) || ( < 6.6.3 )": {+                                        "dlHash": "ypvau",+                                        "dlSubdir": "",+                                        "dlUri": "https:gsms"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:q"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:bfhznfsd",+                        "viPostInstall": null,+                        "viPostRemove": "vhzr",+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "ooajpjt",+                            "dlSubdir": {+                                "RegexDir": "\"󴫤\u0018\u0006"+                            },+                            "dlUri": "https:nphl"+                        },+                        "viTags": [+                            "old",+                            "base-1.6.1",+                            "Prerelease",+                            "old"+                        ]+                    }+                },+                "GHCup": {+                    "2.6.7": {+                        "viArch": {+                            "A_PowerPC": {+                                "Darwin": {+                                    "( == 1.7.8 && < 7.8.5 && > 4.8.8 )": {+                                        "dlHash": "qh",+                                        "dlSubdir": "쒩𝖄",+                                        "dlUri": "https:nvlaywb"+                                    },+                                    "( == 2.7.8 && <= 3.2.4 && <= 5.2.2 && >= 8.8.5 && <= 1.3.3 && == 2.7.4 && > 3.7.5 && <= 4.1.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "0b!􎸣􇧓",+                                        "dlUri": "http:wzjfn"+                                    },+                                    "( == 7.8.8 && <= 8.6.6 ) || ( < 6.8.4 && > 5.5.1 && < 3.5.6 && < 3.4.8 && > 3.2.6 && < 6.7.4 && <= 1.3.8 )": {+                                        "dlHash": "tgensz",+                                        "dlSubdir": null,+                                        "dlUri": "https:i"+                                    },+                                    "( > 2.8.4 && == 1.2.5 && >= 2.4.2 && <= 3.7.4 ) || ( <= 1.4.6 ) || ( <= 8.7.1 && <= 2.4.2 && <= 7.5.8 && <= 5.8.1 )": {+                                        "dlHash": "uy",+                                        "dlSubdir": null,+                                        "dlUri": "https:wgj"+                                    },+                                    "( >= 2.6.7 && == 2.4.4 && > 8.7.6 && == 3.6.6 && == 6.3.6 && > 1.6.3 && > 2.8.5 && >= 7.3.8 && >= 6.6.5 )": {+                                        "dlHash": "xw",+                                        "dlSubdir": {+                                            "RegexDir": "𮎥 9+\u001e"+                                        },+                                        "dlUri": "https:kkhercs"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "edtdhv",+                                        "dlSubdir": null,+                                        "dlUri": "http:jcfsvmz"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:o",+                        "viPostInstall": "z",+                        "viPostRemove": null,+                        "viPreCompile": null,+                        "viSourceDL": null,+                        "viTags": [+                            "base-2.6.5",+                            "Latest",+                            "\u0005s톕$󵰇\"g",+                            "Prerelease"+                        ]+                    },+                    "3.5.3": {+                        "viArch": {+                            "A_ARM": {+                                "FreeBSD": {+                                    "( < 6.6.6 )": {+                                        "dlHash": "dphmbn",+                                        "dlSubdir": {+                                            "RegexDir": "艵󵗅CC"+                                        },+                                        "dlUri": "http:s"+                                    },+                                    "( >= 7.5.8 && <= 5.7.4 && <= 2.8.2 && == 7.1.7 && >= 6.7.7 && == 6.8.5 && <= 7.1.2 && < 3.7.7 )": {+                                        "dlHash": "mafldknc",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:vdohp"+                                    }+                                },+                                "Linux_AmazonLinux": {},+                                "Linux_Debian": {+                                    "( <= 4.1.1 && >= 6.2.4 && >= 5.5.3 && <= 4.3.9 && >= 3.1.5 ) || ( <= 3.3.1 && == 4.1.7 && < 8.6.6 && < 8.3.7 && == 8.4.6 && <= 2.2.7 && <= 5.4.1 )": {+                                        "dlHash": "hsmazga",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( <= 5.1.3 && <= 6.2.2 && > 4.8.8 && < 2.6.4 && > 2.10.5 && == 4.2.5 && <= 5.5.2 ) || ( >= 1.3.8 && > 7.2.3 && >= 7.3.5 && == 1.1.8 && == 8.5.1 && < 2.4.6 && >= 3.5.6 ) || ( > 6.6.4 && > 6.4.1 && == 5.4.8 && >= 1.5.7 && >= 8.4.3 && == 7.3.7 && == 6.9.5 && < 3.2.5 && <= 6.2.5 ) || ( == 6.7.8 && < 2.1.7 && == 4.3.5 && > 7.4.1 && > 8.4.2 && < 7.6.5 && <= 5.4.8 && >= 4.4.6 ) || ( > 1.1.8 && >= 1.7.8 )": {+                                        "dlHash": "dy",+                                        "dlSubdir": {+                                            "RegexDir": "𪘠穴7<cxo`"+                                        },+                                        "dlUri": "https:dyt"+                                    },+                                    "( == 3.5.1 ) || ( == 1.3.6 && < 4.7.3 && == 3.7.5 && == 7.3.7 && > 8.7.1 )": {+                                        "dlHash": "wkd",+                                        "dlSubdir": {+                                            "RegexDir": "f1􎕒𩥲🍩V"+                                        },+                                        "dlUri": "https:qimf"+                                    },+                                    "( == 8.1.2 && <= 3.1.1 && == 5.6.6 && == 5.7.4 && > 4.4.6 && == 1.2.7 && == 6.1.3 && < 4.6.2 && <= 3.4.6 ) || ( <= 1.4.6 && == 6.7.5 && < 4.2.6 && < 6.3.4 && >= 4.6.2 && > 2.4.8 )": {+                                        "dlHash": "yw",+                                        "dlSubdir": null,+                                        "dlUri": "https:j"+                                    },+                                    "( > 4.8.7 && < 6.7.5 && >= 5.5.5 && < 6.6.2 && == 5.3.3 && == 1.2.8 && < 6.2.1 && >= 8.4.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u0005"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( > 6.2.3 && > 3.8.7 && >= 5.4.7 && <= 8.7.6 && > 7.1.8 && < 4.6.1 && < 5.3.1 && == 6.6.6 && < 2.8.8 ) || ( >= 2.4.7 && >= 8.2.3 && > 4.1.7 && == 6.2.4 && <= 4.7.5 && == 5.7.5 && > 2.8.4 && <= 4.8.1 ) || ( >= 3.3.8 && <= 5.5.3 && == 4.7.8 && < 1.3.7 && <= 6.2.3 && >= 2.5.3 && < 6.8.4 )": {+                                        "dlHash": "ai",+                                        "dlSubdir": "}pC\r󾭴6",+                                        "dlUri": "http:"+                                    }+                                },+                                "Windows": {+                                    "( < 3.2.4 && == 3.2.1 && >= 4.5.8 && == 2.8.1 && > 8.8.2 && == 8.8.3 && <= 6.5.2 ) || ( <= 3.8.2 && <= 1.1.3 && > 4.2.4 && == 6.3.1 && >= 2.4.5 && >= 3.5.5 && > 8.1.4 ) || ( < 5.6.4 && <= 4.7.5 )": {+                                        "dlHash": "ioi",+                                        "dlSubdir": "zSZc",+                                        "dlUri": "https:utal"+                                    },+                                    "( < 3.7.8 && >= 8.3.2 && < 5.5.8 && >= 8.8.4 && > 7.6.4 && == 8.7.5 && >= 7.3.6 && >= 6.6.6 )": {+                                        "dlHash": "ggcuk",+                                        "dlSubdir": null,+                                        "dlUri": "https:pxqirla"+                                    },+                                    "( < 4.6.5 && < 4.1.7 && < 1.1.4 && <= 7.2.6 ) || ( < 4.6.8 )": {+                                        "dlHash": "twtb",+                                        "dlSubdir": {+                                            "RegexDir": "󵳟𐐽d𬕍\u0010(𡼙𭪬"+                                        },+                                        "dlUri": "https:qrueugz"+                                    },+                                    "( == 8.4.1 && >= 8.2.2 )": {+                                        "dlHash": "qt",+                                        "dlSubdir": {+                                            "RegexDir": "h\u0014狵po\u0006"+                                        },+                                        "dlUri": "http:jg"+                                    },+                                    "( >= 2.2.7 && == 4.7.6 && >= 2.3.6 && < 2.5.1 && >= 4.5.3 ) || ( == 8.7.1 && > 8.5.2 && > 2.4.5 && <= 7.6.2 && < 2.4.2 && < 1.5.3 && >= 4.5.7 && == 7.6.4 )": {+                                        "dlHash": "pcdigww",+                                        "dlSubdir": {+                                            "RegexDir": "J"+                                        },+                                        "dlUri": "https:b"+                                    },+                                    "( >= 4.4.8 && >= 5.8.5 && == 5.7.8 && == 4.1.8 && >= 8.5.3 && >= 7.5.5 && >= 5.1.7 ) || ( >= 8.4.2 )": {+                                        "dlHash": "deefs",+                                        "dlSubdir": null,+                                        "dlUri": "http:r"+                                    },+                                    "( >= 7.4.8 && > 1.1.2 && >= 1.3.7 && < 6.3.7 && < 8.6.4 && > 1.8.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "􈚧d",+                                        "dlUri": "http:ekozmnf"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:qbs",+                        "viPostInstall": "",+                        "viPostRemove": "o",+                        "viPreCompile": "vfij",+                        "viSourceDL": null,+                        "viTags": [+                            "base-5.4.2",+                            "Latest",+                            "Recommended",+                            "Latest",+                            "Latest",+                            "xZ\u000b",+                            "Recommended"+                        ]+                    },+                    "3.8.5": {+                        "viArch": {+                            "A_64": {+                                "Darwin": {+                                    "( <= 6.4.2 && < 1.7.4 && > 6.2.4 && > 2.8.3 && < 8.3.8 )": {+                                        "dlHash": "hq",+                                        "dlSubdir": {+                                            "RegexDir": "暂\u00120"+                                        },+                                        "dlUri": "https:gp"+                                    },+                                    "( == 1.6.4 && < 4.5.4 && >= 5.7.2 && >= 8.7.3 && == 2.6.7 ) || ( < 4.8.2 && > 2.3.5 && > 7.2.2 && == 1.7.8 && == 6.1.5 && <= 1.1.7 && < 3.8.6 && <= 1.1.7 ) || ( < 7.5.4 && >= 7.2.2 && <= 7.1.4 && <= 8.4.3 )": {+                                        "dlHash": "wc",+                                        "dlSubdir": "%#􇟚AwZ󶎓􈞜",+                                        "dlUri": "https:"+                                    },+                                    "( == 5.2.1 && == 6.8.2 )": {+                                        "dlHash": "hbvo",+                                        "dlSubdir": {+                                            "RegexDir": "\u0001\u000fj\u001fJ\u001b-"+                                        },+                                        "dlUri": "https:rmawlp"+                                    },+                                    "( == 5.7.1 && >= 3.1.3 && > 1.2.7 && >= 3.7.6 && < 4.8.3 && <= 2.8.8 && > 5.1.2 && >= 6.5.5 ) || ( >= 8.8.5 && <= 2.2.8 && < 5.1.7 && < 8.4.1 && == 6.2.7 && > 2.3.6 && < 2.3.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "󵃹𭻪"+                                        },+                                        "dlUri": "http:dkfp"+                                    },+                                    "( > 2.1.2 && > 6.8.4 && >= 1.7.5 && <= 8.2.5 && <= 8.4.6 && == 1.3.2 && > 2.5.8 && < 6.2.8 )": {+                                        "dlHash": "qhef",+                                        "dlSubdir": {+                                            "RegexDir": "\u0002𪧑5\t"+                                        },+                                        "dlUri": "http:bsdxvxm"+                                    },+                                    "( > 4.8.7 && > 5.2.2 && >= 5.3.8 ) || ( == 4.7.2 && >= 5.3.4 ) || ( >= 5.2.5 && == 3.4.2 && == 7.4.6 && >= 6.2.2 ) || ( == 1.3.8 && > 3.2.6 && == 3.2.4 && == 4.5.6 && == 5.7.8 )": {+                                        "dlHash": "pkhmlyjk",+                                        "dlSubdir": {+                                            "RegexDir": "HASFC"+                                        },+                                        "dlUri": "http:j"+                                    },+                                    "( >= 7.3.4 && <= 4.4.1 && < 5.3.3 && >= 8.7.1 && <= 8.8.8 && >= 3.3.6 && >= 8.8.3 && <= 5.1.3 ) || ( >= 1.1.6 && == 6.8.6 && < 1.4.3 && == 8.3.7 && > 5.2.5 && < 5.1.2 && < 5.1.5 && == 2.6.6 ) || ( < 8.4.3 && <= 2.2.9 )": {+                                        "dlHash": "hvmbi",+                                        "dlSubdir": "(𦑩 ",+                                        "dlUri": "https:"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 4.5.6 && <= 5.2.1 && > 5.7.6 && < 4.6.1 && >= 8.7.7 ) || ( < 2.5.2 && <= 5.1.7 && == 1.4.5 && <= 4.6.8 && <= 8.8.3 )": {+                                        "dlHash": "wep",+                                        "dlSubdir": "󸊜^𧴫🜗0筻",+                                        "dlUri": "http:hoo"+                                    }+                                },+                                "Linux_Alpine": {},+                                "Linux_Exherbo": {+                                    "( <= 6.8.4 && > 2.5.3 && <= 6.8.3 && >= 5.2.7 && > 5.1.6 && > 4.1.7 && > 2.8.6 )": {+                                        "dlHash": "m",+                                        "dlSubdir": "𠾚\u001c𠧯3",+                                        "dlUri": "http:h"+                                    },+                                    "( <= 8.1.2 && <= 6.3.8 && < 7.7.1 && == 1.7.1 && <= 6.7.2 && > 2.6.8 && >= 6.6.3 && >= 1.8.2 ) || ( < 5.4.5 && > 4.4.6 && >= 8.7.6 && <= 5.5.3 && == 5.4.3 && > 2.1.8 ) || ( > 3.5.3 && > 8.9.1 && < 7.2.6 && >= 8.8.7 && == 7.3.5 && <= 3.4.9 && == 8.3.6 && > 7.4.3 && < 1.6.8 )": {+                                        "dlHash": "thagzqnr",+                                        "dlSubdir": null,+                                        "dlUri": "https:abt"+                                    },+                                    "( >= 1.2.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:hoh"+                                    },+                                    "( >= 7.3.7 && <= 8.8.5 && <= 6.3.7 && >= 6.3.8 ) || ( >= 4.6.4 && >= 5.6.5 ) || ( == 8.8.7 && > 5.4.1 && < 7.7.7 && == 6.3.5 )": {+                                        "dlHash": "kkqykbwp",+                                        "dlSubdir": {+                                            "RegexDir": "\u0001謔󲨣='"+                                        },+                                        "dlUri": "http:wexa"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ddyofhc",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:ndkmbf"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:byvvu",+                        "viPostInstall": "ezahxgy",+                        "viPostRemove": "",+                        "viPreCompile": null,+                        "viSourceDL": null,+                        "viTags": [+                            "old"+                        ]+                    },+                    "4.1.6": {+                        "viArch": {+                            "A_ARM64": {+                                "Darwin": {+                                    "( > 2.1.1 && >= 6.5.5 && < 7.7.7 && <= 8.4.8 && == 4.5.3 && < 8.2.1 && < 2.6.3 ) || ( == 5.2.7 && >= 1.4.6 && == 5.4.3 && < 3.6.8 )": {+                                        "dlHash": "ns",+                                        "dlSubdir": "L􀛹V\u0019/K𒌦",+                                        "dlUri": "https:svzhpnlj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "qgnmnmgo",+                                        "dlSubdir": "Z󱙂k{wퟕ",+                                        "dlUri": "http:coevmkyo"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 2.1.4 && < 4.6.2 && >= 3.2.3 && == 8.4.3 && == 1.5.2 && == 4.2.7 && < 5.2.6 )": {+                                        "dlHash": "xp",+                                        "dlSubdir": null,+                                        "dlUri": "https:byf"+                                    },+                                    "( < 7.1.7 && > 4.6.3 && < 3.6.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "𧑏\u0013Q􀆲\u001e>M"+                                        },+                                        "dlUri": "http:rrly"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( == 7.6.3 && <= 6.6.8 && <= 1.4.6 && >= 1.6.3 && < 1.8.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:wjiqiwoy"+                                    },+                                    "( >= 6.4.5 )": {+                                        "dlHash": "zackkuu",+                                        "dlSubdir": null,+                                        "dlUri": "http:zjqhnp"+                                    }+                                },+                                "Linux_Debian": {+                                    "( <= 5.1.2 && == 6.1.8 && > 4.4.2 && > 2.8.4 && == 5.3.6 && == 4.1.8 && >= 1.1.8 && > 6.4.6 && <= 5.3.5 )": {+                                        "dlHash": "heg",+                                        "dlSubdir": {+                                            "RegexDir": "\\\rL"+                                        },+                                        "dlUri": "http:bmszc"+                                    },+                                    "( >= 6.5.3 && == 7.7.7 && >= 7.8.7 && < 7.5.6 && < 6.3.6 && <= 1.4.4 && > 5.3.8 && < 7.1.2 && < 5.4.6 )": {+                                        "dlHash": "qgkaxhg",+                                        "dlSubdir": {+                                            "RegexDir": "􆳶⎬􈃼\u001d"+                                        },+                                        "dlUri": "http:jghpnbkw"+                                    }+                                },+                                "Windows": {+                                    "( <= 3.3.3 && == 5.8.7 && == 7.3.3 && < 2.6.2 && <= 5.7.4 && > 6.5.1 ) || ( >= 6.8.7 && < 6.5.2 && > 3.6.8 && >= 3.3.1 ) || ( <= 1.2.8 && < 7.7.3 && >= 3.5.2 && == 1.8.2 && == 5.3.4 )": {+                                        "dlHash": "efdkrber",+                                        "dlSubdir": null,+                                        "dlUri": "http:lkie"+                                    },+                                    "( <= 4.2.3 )": {+                                        "dlHash": "menprp",+                                        "dlSubdir": {+                                            "RegexDir": "\u0011𩨘g󴪌𭈱\u0014􉤀"+                                        },+                                        "dlUri": "http:l"+                                    },+                                    "( <= 6.5.2 && == 6.3.3 && >= 3.4.5 && < 4.2.5 && <= 5.1.8 && <= 1.4.7 && <= 5.9.3 )": {+                                        "dlHash": "z",+                                        "dlSubdir": {+                                            "RegexDir": "9𤼅󰱬\u0014-N􌰦󼗫"+                                        },+                                        "dlUri": "http:sump"+                                    },+                                    "( > 2.2.4 && == 5.1.1 )": {+                                        "dlHash": "bvaqte",+                                        "dlSubdir": "@󱠡5\r",+                                        "dlUri": "http:jwmi"+                                    },+                                    "( >= 5.5.2 && <= 9.4.1 && < 3.5.8 && >= 3.2.3 && >= 5.8.6 && <= 7.3.6 )": {+                                        "dlHash": "gxo",+                                        "dlSubdir": {+                                            "RegexDir": "\u000b፞\u0019H?㡊c"+                                        },+                                        "dlUri": "http:mzzufsi"+                                    },+                                    "( >= 7.4.6 && <= 7.3.2 && >= 5.8.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": "䆹kDT\u0014eP",+                                        "dlUri": "https:ott"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "eq",+                                        "dlSubdir": {+                                            "RegexDir": "\""+                                        },+                                        "dlUri": "https:xozfq"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( >= 6.4.8 && < 1.8.2 && == 3.1.3 && >= 1.2.8 )": {+                                        "dlHash": "wj",+                                        "dlSubdir": null,+                                        "dlUri": "https:zya"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "jlaf",+                                        "dlSubdir": "𩽚􄜩|$m󰴿Hx",+                                        "dlUri": "https:r"+                                    }+                                },+                                "Linux_Alpine": {},+                                "Linux_Gentoo": {+                                    "unknown_versioning": {+                                        "dlHash": "yagybkgh",+                                        "dlSubdir": "\u0000(\u0011hzfs\u0003",+                                        "dlUri": "https:yb"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "FreeBSD": {+                                    "( >= 4.7.7 && >= 7.2.3 )": {+                                        "dlHash": "yn",+                                        "dlSubdir": null,+                                        "dlUri": "http:pwgzs"+                                    }+                                },+                                "Windows": {+                                    "( < 8.3.6 && <= 3.7.4 && >= 3.8.8 ) || ( > 5.8.1 && == 3.7.6 && > 6.7.8 && >= 7.3.4 && >= 8.4.9 ) || ( <= 3.8.3 && == 7.8.6 && <= 2.2.2 && == 4.2.5 && == 8.1.1 )": {+                                        "dlHash": "jidr",+                                        "dlSubdir": "􃤦P\r\u000b$^,",+                                        "dlUri": "http:"+                                    },+                                    "( >= 2.3.8 ) || ( >= 1.3.7 && > 1.8.4 && < 3.3.1 && == 4.6.6 && >= 1.1.7 && < 8.4.1 ) || ( >= 7.6.4 && < 2.6.7 && < 5.3.5 && == 2.3.7 && >= 2.1.7 && <= 5.4.6 && == 3.5.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "􊇻\u0017䕑C|(@#"+                                        },+                                        "dlUri": "https:ntyz"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "cycz",+                                        "dlSubdir": "󴁥=7{e?7s",+                                        "dlUri": "http:jmfirsyl"+                                    }+                                }+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": "qrvyqt",+                        "viPostRemove": null,+                        "viPreCompile": null,+                        "viSourceDL": null,+                        "viTags": [+                            "Latest",+                            "old"+                        ]+                    },+                    "7.5.4": {+                        "viArch": {+                            "A_64": {+                                "Darwin": {+                                    "( == 4.8.1 && >= 7.2.3 && < 4.7.4 && < 7.2.7 && > 8.6.3 && <= 3.6.7 && < 3.1.1 && > 3.6.7 && >= 4.1.2 ) || ( <= 5.6.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u0015S)풲Nl"+                                        },+                                        "dlUri": "https:arztgqs"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "https:zkgic"+                                    }+                                },+                                "FreeBSD": {},+                                "Linux_Debian": {+                                    "( < 1.8.2 && == 6.4.8 ) || ( > 6.5.4 && <= 8.1.5 && > 6.4.2 && == 2.8.4 && < 7.3.4 && <= 4.6.3 && < 4.7.8 && == 3.6.3 ) || ( == 9.8.2 && < 3.7.2 && == 1.3.4 && < 7.4.3 && == 4.3.2 && > 3.1.1 && < 3.3.4 && == 8.3.4 && >= 6.4.7 ) || ( > 3.3.2 && == 2.6.2 )": {+                                        "dlHash": "z",+                                        "dlSubdir": "l",+                                        "dlUri": "http:ykslmmau"+                                    },+                                    "( <= 4.8.3 && <= 1.6.7 && < 5.1.5 && > 7.4.5 && < 1.8.8 && <= 6.6.4 && >= 5.7.8 && < 3.7.3 )": {+                                        "dlHash": "me",+                                        "dlSubdir": {+                                            "RegexDir": "󾎝"+                                        },+                                        "dlUri": "https:vavj"+                                    },+                                    "( == 5.6.3 && == 3.6.4 && == 4.2.4 && >= 6.7.8 ) || ( < 2.1.8 && == 1.5.2 && >= 2.6.7 && > 4.1.5 && <= 3.5.7 && >= 4.4.3 )": {+                                        "dlHash": "oarq",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( > 3.2.3 && < 6.3.3 && >= 1.1.1 && < 3.2.3 && < 3.3.7 ) || ( == 3.3.8 && >= 7.8.7 && >= 7.7.6 && > 1.3.1 && <= 7.7.2 && > 8.7.1 && >= 8.5.7 && >= 5.1.4 && < 5.8.8 ) || ( >= 5.2.2 && <= 4.3.4 && > 4.7.8 && >= 1.1.4 && <= 3.2.8 && >= 2.7.8 && < 5.3.2 && >= 1.3.7 && < 1.8.9 )": {+                                        "dlHash": "ljzlkcd",+                                        "dlSubdir": "#\u0007𩜜&",+                                        "dlUri": "http:"+                                    },+                                    "( > 6.7.3 && >= 2.1.4 && < 2.5.7 && == 5.3.2 ) || ( < 4.3.7 && > 4.3.3 && <= 7.5.5 && == 3.8.6 && <= 5.4.3 && == 6.4.3 && <= 8.2.3 ) || ( <= 2.8.8 && <= 7.4.5 && == 5.5.7 && == 1.6.1 )": {+                                        "dlHash": "orsdzj",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( > 7.4.3 && <= 2.8.4 && > 5.6.2 && >= 8.6.6 && == 5.2.4 && <= 8.5.7 && <= 2.1.2 && > 4.3.1 && < 5.8.1 )": {+                                        "dlHash": "s",+                                        "dlSubdir": "\u0000󿓁🂓ʰ0>7",+                                        "dlUri": "https:txboc"+                                    },+                                    "( >= 3.4.7 ) || ( < 4.5.6 && > 6.5.2 && > 8.7.8 && > 6.5.7 && >= 6.1.7 && < 1.2.8 && > 5.2.6 ) || ( > 6.1.2 && == 1.2.8 && == 4.1.2 && == 5.6.2 ) || ( == 6.3.6 && >= 8.8.7 && == 7.5.4 && >= 6.1.6 && > 2.8.1 && >= 6.6.6 )": {+                                        "dlHash": "ydqvh",+                                        "dlSubdir": null,+                                        "dlUri": "https:qpfmrjtm"+                                    },+                                    "( >= 4.3.4 && > 2.5.8 ) || ( <= 8.2.7 && >= 3.5.2 && >= 2.8.6 )": {+                                        "dlHash": "dhshzt",+                                        "dlSubdir": "",+                                        "dlUri": "https:rs"+                                    }+                                },+                                "Linux_Mint": {+                                    "unknown_versioning": {+                                        "dlHash": "br",+                                        "dlSubdir": {+                                            "RegexDir": "yd2'"+                                        },+                                        "dlUri": "https:xb"+                                    }+                                },+                                "Windows": {+                                    "( < 2.6.2 && >= 7.5.6 && >= 2.5.1 && > 4.1.7 && == 3.7.6 && <= 5.7.4 && < 8.1.1 && <= 2.3.2 && > 8.1.6 )": {+                                        "dlHash": "ur",+                                        "dlSubdir": null,+                                        "dlUri": "https:kk"+                                    },+                                    "( == 8.7.4 && == 3.3.2 && > 1.6.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "vB􄇫\u0004:\u000f𥞩𣂂"+                                        },+                                        "dlUri": "https:jt"+                                    }+                                }+                            },+                            "A_ARM64": {+                                "Darwin": {+                                    "( <= 6.2.4 && > 2.7.3 && == 2.6.2 && < 2.6.2 && == 6.2.1 && == 5.3.4 ) || ( > 3.3.8 && <= 1.2.6 && < 1.4.1 && > 3.3.5 ) || ( > 5.3.8 && >= 6.3.2 && < 7.7.7 && <= 3.7.5 && > 8.6.7 ) || ( > 7.1.8 ) || ( <= 7.7.7 && >= 8.3.1 && == 3.8.7 && >= 2.3.4 && >= 7.1.6 && <= 2.8.6 && == 8.7.5 && == 7.5.4 && == 2.6.6 )": {+                                        "dlHash": "qixyb",+                                        "dlSubdir": null,+                                        "dlUri": "http:pqhsghmp"+                                    },+                                    "( == 1.6.1 && > 5.3.6 && < 3.6.1 ) || ( < 6.6.5 && > 7.5.1 && >= 6.7.7 && <= 2.8.4 && <= 4.5.7 && >= 5.5.5 ) || ( == 5.6.5 && > 5.2.4 && >= 5.4.8 && > 5.3.2 && <= 1.8.4 && == 3.8.4 && > 4.7.6 && == 4.8.2 && == 5.8.2 ) || ( == 5.5.1 && < 3.8.5 && < 2.5.4 && < 8.5.2 )": {+                                        "dlHash": "dslpy",+                                        "dlSubdir": {+                                            "RegexDir": "\tn􏄉"+                                        },+                                        "dlUri": "http:afjsf"+                                    },+                                    "( == 6.4.3 && == 3.8.3 ) || ( <= 6.8.8 && > 1.3.8 && == 3.6.1 ) || ( < 2.6.9 && < 2.7.5 )": {+                                        "dlHash": "indejbow",+                                        "dlSubdir": "1y󲹹\u001d",+                                        "dlUri": "http:vwdyp"+                                    },+                                    "( > 2.3.4 && >= 3.7.6 && == 8.3.7 ) || ( == 3.5.5 && > 1.4.4 && <= 3.6.5 && < 1.5.3 && <= 6.2.7 && > 6.3.3 )": {+                                        "dlHash": "v",+                                        "dlSubdir": "󱁎\r \u0016>\u00165",+                                        "dlUri": "https:rfb"+                                    },+                                    "( > 7.1.5 && == 5.6.5 && == 7.1.4 && == 2.5.3 && == 4.1.4 && == 2.5.7 && <= 5.5.3 && == 6.1.2 && < 4.3.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": "|𠨅폼J",+                                        "dlUri": "http:owigjnql"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "cd",+                                        "dlSubdir": null,+                                        "dlUri": "http:mlwluq"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 6.6.8 && == 8.1.1 && < 1.6.1 && > 1.9.5 && == 2.3.6 && >= 6.5.2 && > 4.1.4 )": {+                                        "dlHash": "shtw",+                                        "dlSubdir": "\u001c",+                                        "dlUri": "https:kivuhhhv"+                                    },+                                    "( == 7.8.6 && == 4.4.6 && >= 4.5.1 ) || ( <= 6.1.4 ) || ( <= 2.8.3 && > 2.1.8 )": {+                                        "dlHash": "wphkqts",+                                        "dlSubdir": "V𬆅",+                                        "dlUri": "https:yds"+                                    },+                                    "( > 3.1.1 && <= 1.6.5 && >= 2.4.4 && == 5.8.2 && > 6.4.4 && < 5.6.1 && < 5.1.3 )": {+                                        "dlHash": "twy",+                                        "dlSubdir": null,+                                        "dlUri": "https:uvb"+                                    },+                                    "( > 4.7.2 && == 7.3.2 && == 6.6.4 && > 1.2.1 && > 6.7.2 && < 6.3.7 && < 7.1.1 && < 6.4.4 )": {+                                        "dlHash": "xdgf",+                                        "dlSubdir": null,+                                        "dlUri": "http:jq"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "APUd0>\u001b\u000e",+                                        "dlUri": "http:hretebdg"+                                    }+                                },+                                "Linux_RedHat": {+                                    "( == 3.2.3 && <= 3.2.6 && >= 6.2.6 )": {+                                        "dlHash": "n",+                                        "dlSubdir": {+                                            "RegexDir": "𝑒"+                                        },+                                        "dlUri": "https:zpo"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "Darwin": {+                                    "( == 8.6.3 && == 5.1.3 && >= 3.1.5 ) || ( > 6.8.4 && >= 5.1.5 && > 7.4.3 && >= 4.7.6 && <= 1.2.1 && > 2.5.3 )": {+                                        "dlHash": "g",+                                        "dlSubdir": "\u0012𩿚{AJ􊑜>",+                                        "dlUri": "http:j"+                                    },+                                    "( > 1.8.2 && == 3.6.5 && < 6.5.7 ) || ( > 1.1.2 && > 8.8.8 && >= 3.4.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:t"+                                    }+                                },+                                "Windows": {+                                    "( == 3.4.3 && == 6.5.8 && < 1.2.7 && > 3.4.7 && == 3.2.7 && <= 1.4.8 && > 1.8.4 )": {+                                        "dlHash": "kawd",+                                        "dlSubdir": "󸞐􆔁w",+                                        "dlUri": "https:v"+                                    },+                                    "( == 6.5.1 && == 3.5.1 && >= 7.3.7 ) || ( >= 6.6.1 ) || ( >= 1.8.6 && > 3.8.8 )": {+                                        "dlHash": "ruv",+                                        "dlSubdir": "r\u0012",+                                        "dlUri": "http:pelof"+                                    },+                                    "( > 9.4.2 && == 8.6.4 && > 5.5.3 && > 8.4.5 && < 2.4.7 && < 2.7.3 && >= 6.3.8 && > 6.4.1 && < 4.5.7 )": {+                                        "dlHash": "datbquj",+                                        "dlSubdir": "hx",+                                        "dlUri": "http:mdke"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "FreeBSD": {+                                    "( > 5.6.5 && >= 7.1.7 && < 4.7.4 && == 6.1.5 && > 6.8.4 && > 6.4.6 && == 4.1.4 && > 6.6.5 && > 3.4.1 ) || ( > 1.3.5 && < 1.3.4 && > 8.6.6 && > 1.1.4 && >= 3.1.7 && < 2.1.8 ) || ( > 6.1.3 && <= 5.7.8 && >= 7.2.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "E\u0007y󶐘*`\u0010"+                                        },+                                        "dlUri": "https:zeeo"+                                    },+                                    "( >= 3.6.5 && > 8.1.4 && < 3.3.6 && < 7.6.8 && == 5.4.7 )": {+                                        "dlHash": "gtjphvh",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( >= 5.7.6 && > 7.2.1 && <= 7.7.1 && < 6.2.6 && <= 6.7.4 && <= 5.7.4 ) || ( > 3.2.4 && == 7.5.3 && >= 8.7.5 && == 1.8.2 && < 7.5.3 && < 2.5.3 )": {+                                        "dlHash": "zexby",+                                        "dlSubdir": {+                                            "RegexDir": "􄉶"+                                        },+                                        "dlUri": "http:ce"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "lngrop",+                                        "dlSubdir": "I\u001b\u0012",+                                        "dlUri": "https:axxxyb"+                                    }+                                },+                                "Windows": {+                                    "( == 4.3.1 && <= 3.7.3 && > 8.4.8 && < 1.1.7 && == 5.4.5 ) || ( > 1.2.6 && == 2.3.7 && >= 7.3.7 && == 6.6.7 && <= 3.1.2 && < 7.7.2 )": {+                                        "dlHash": "tac",+                                        "dlSubdir": "5^\u0010",+                                        "dlUri": "http:ix"+                                    },+                                    "( > 2.2.5 && < 4.7.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "6\u001fj{qL\u0014"+                                        },+                                        "dlUri": "https:txpsfu"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:qeelkw",+                        "viPostInstall": "rialloi",+                        "viPostRemove": "hsul",+                        "viPreCompile": null,+                        "viSourceDL": null,+                        "viTags": [+                            "鲤"+                        ]+                    }+                },+                "HLS": {+                    "3.3.4": {+                        "viArch": {+                            "A_32": {+                                "Linux_AmazonLinux": {+                                    "( == 6.5.2 && < 5.3.6 && <= 3.2.1 ) || ( > 5.5.5 && >= 7.3.6 && <= 1.2.4 )": {+                                        "dlHash": "c",+                                        "dlSubdir": "",+                                        "dlUri": "http:k"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "tfj",+                                        "dlSubdir": {+                                            "RegexDir": "C"+                                        },+                                        "dlUri": "https:jtcz"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( >= 7.3.5 && > 7.7.1 && < 1.4.4 && > 2.1.5 && < 1.1.5 && > 2.3.8 )": {+                                        "dlHash": "nirhsoni",+                                        "dlSubdir": "~]",+                                        "dlUri": "http:nu"+                                    },+                                    "( >= 8.1.2 && < 2.2.7 && >= 3.4.4 && > 4.4.3 )": {+                                        "dlHash": "qxcu",+                                        "dlSubdir": null,+                                        "dlUri": "https:a"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "g",+                                        "dlSubdir": {+                                            "RegexDir": "5z𠌛j#\u0012<􏊋"+                                        },+                                        "dlUri": "https:afxel"+                                    }+                                }+                            },+                            "A_64": {+                                "Darwin": {+                                    "( < 5.2.5 && >= 8.5.7 && > 2.4.1 && > 8.6.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "b􄝳\r작𥄖S="+                                        },+                                        "dlUri": "https:lnmqaiy"+                                    },+                                    "( < 8.8.3 && < 5.3.4 && <= 6.3.6 && < 5.3.6 && >= 8.4.5 && <= 8.8.2 && > 4.5.1 ) || ( == 8.3.7 && >= 5.6.5 && >= 6.8.7 ) || ( > 8.5.8 && <= 2.8.7 && >= 4.1.8 && >= 5.6.2 && == 7.8.8 && > 5.2.5 && <= 7.1.1 && < 2.6.5 && >= 3.7.1 )": {+                                        "dlHash": "x",+                                        "dlSubdir": null,+                                        "dlUri": "https:okvp"+                                    },+                                    "( == 3.7.7 && == 8.4.5 )": {+                                        "dlHash": "blgpfubi",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 3.7.5 && >= 5.6.6 && < 8.5.6 && > 2.5.8 && > 6.3.4 && >= 8.4.4 && == 6.3.2 && < 5.7.3 && == 1.8.7 )": {+                                        "dlHash": "fydsyiu",+                                        "dlSubdir": {+                                            "RegexDir": "*󻟙\u0010󴓂"+                                        },+                                        "dlUri": "http:dbe"+                                    },+                                    "( <= 1.5.1 && > 1.5.2 && == 2.7.6 && <= 7.5.6 ) || ( == 3.2.5 && >= 8.4.2 && > 3.4.4 && == 1.5.2 && > 5.4.3 && == 3.7.1 && >= 1.2.4 )": {+                                        "dlHash": "fcgbmjuu",+                                        "dlSubdir": null,+                                        "dlUri": "http:gejyrysd"+                                    },+                                    "( > 3.5.3 && >= 2.8.6 && < 1.4.1 && >= 4.6.4 && <= 6.7.3 && < 4.4.6 && <= 7.6.4 && >= 7.8.1 )": {+                                        "dlHash": "qlrv",+                                        "dlSubdir": {+                                            "RegexDir": "1"+                                        },+                                        "dlUri": "http:cgfmfmu"+                                    },+                                    "( > 4.3.3 && <= 6.7.8 && >= 8.2.7 && > 1.4.4 && == 7.8.6 && <= 8.6.5 ) || ( <= 6.2.9 && > 7.6.6 && == 8.3.7 && <= 4.1.1 && <= 8.3.4 && < 1.4.7 && > 1.6.1 && >= 4.4.4 && >= 8.2.3 ) || ( == 7.5.2 && > 4.3.3 && == 4.5.2 && > 1.1.8 && >= 7.8.2 && == 1.2.5 && == 4.1.7 && > 8.2.8 )": {+                                        "dlHash": "yrnjh",+                                        "dlSubdir": {+                                            "RegexDir": "#CM(\u0014Ⴋ/􊼛"+                                        },+                                        "dlUri": "https:afqj"+                                    },+                                    "( > 6.2.2 && < 6.1.8 && == 3.5.8 && <= 5.8.7 && <= 4.6.1 ) || ( <= 7.6.7 && >= 8.6.1 && > 5.6.2 && >= 1.7.4 ) || ( > 8.4.5 && < 4.8.8 && >= 3.2.4 && >= 7.4.4 && >= 5.1.8 && < 4.4.4 && > 1.8.3 && == 2.4.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "https:nbnjupbb"+                                    }+                                },+                                "Linux_RedHat": {+                                    "unknown_versioning": {+                                        "dlHash": "ltnolr",+                                        "dlSubdir": {+                                            "RegexDir": "cj􊓀u"+                                        },+                                        "dlUri": "http:ujv"+                                    }+                                },+                                "Windows": {+                                    "( <= 3.3.1 && == 2.8.4 && < 6.3.2 && < 5.6.5 && == 1.5.6 && > 6.5.6 )": {+                                        "dlHash": "doryahmb",+                                        "dlSubdir": {+                                            "RegexDir": "V4P1f"+                                        },+                                        "dlUri": "http:ue"+                                    },+                                    "( == 3.8.2 && > 8.4.6 && == 2.3.1 && > 2.1.2 && < 8.8.4 && > 4.6.8 && > 3.2.1 )": {+                                        "dlHash": "xukmtt",+                                        "dlSubdir": {+                                            "RegexDir": "\u001f\u001c\u0011q"+                                        },+                                        "dlUri": "https:msqjgrw"+                                    },+                                    "( > 1.8.2 && >= 4.3.8 && > 4.6.3 )": {+                                        "dlHash": "indudm",+                                        "dlSubdir": {+                                            "RegexDir": "\n􏲂uZ"+                                        },+                                        "dlUri": "http:gjel"+                                    },+                                    "( > 4.8.4 ) || ( == 8.5.4 && <= 5.8.7 && == 6.5.2 && >= 8.7.5 && <= 3.5.3 && >= 8.8.4 && == 2.7.4 && <= 5.3.2 && > 1.4.4 ) || ( > 4.8.4 && == 4.3.5 && == 3.6.4 && < 3.4.5 && > 4.5.3 )": {+                                        "dlHash": "jf",+                                        "dlSubdir": {+                                            "RegexDir": "\u0012𨡗Ib\u000c\u0006\u0017"+                                        },+                                        "dlUri": "http:xloyzzl"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "wvkcgzn",+                                        "dlSubdir": "􍟃VB",+                                        "dlUri": "https:xtzz"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "Darwin": {+                                    "( <= 7.5.3 && <= 6.7.7 )": {+                                        "dlHash": "taj",+                                        "dlSubdir": {+                                            "RegexDir": "\"\u0011q⩾󵪼GV"+                                        },+                                        "dlUri": "https:eloedxz"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "fj",+                                        "dlSubdir": "􌳻S\u0008󿬟rA𣉝V",+                                        "dlUri": "https:"+                                    }+                                },+                                "FreeBSD": {+                                    "( == 8.1.1 && > 3.6.5 && >= 7.1.3 && <= 5.1.8 ) || ( >= 3.8.6 && > 8.6.3 && < 3.6.6 )": {+                                        "dlHash": "ysecm",+                                        "dlSubdir": "&5J~돗𠀫\u0000b",+                                        "dlUri": "https:gjgaliaa"+                                    },+                                    "( > 1.3.3 && >= 7.1.7 && >= 4.2.3 && <= 5.8.8 ) || ( >= 5.6.5 && > 8.1.1 ) || ( <= 1.2.2 && >= 2.9.6 && == 8.8.3 && >= 2.5.3 )": {+                                        "dlHash": "d",+                                        "dlSubdir": null,+                                        "dlUri": "https:iu"+                                    },+                                    "( >= 1.4.1 )": {+                                        "dlHash": "ofohu",+                                        "dlSubdir": null,+                                        "dlUri": "https:okwryp"+                                    },+                                    "( >= 4.4.9 && == 2.3.9 && > 4.7.4 && == 3.5.3 && >= 1.3.1 && > 6.2.1 )": {+                                        "dlHash": "dxh",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ccscy",+                                        "dlSubdir": "_􎺺@𦹐j􎷏h",+                                        "dlUri": "http:tjwohjfd"+                                    }+                                },+                                "Windows": {}+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( < 2.2.3 && >= 6.8.1 && >= 8.2.7 && == 6.5.8 && > 3.4.2 ) || ( < 8.2.6 )": {+                                        "dlHash": "epqvp",+                                        "dlSubdir": {+                                            "RegexDir": "穟#"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( < 7.5.4 && < 4.7.6 && >= 2.8.2 && <= 1.5.1 && <= 1.3.1 && == 7.8.8 && == 6.4.5 && > 2.6.3 && < 5.8.7 ) || ( > 7.2.2 && == 3.8.5 && >= 1.5.1 ) || ( > 1.1.2 && > 5.9.1 && >= 8.6.4 && < 5.9.6 && == 3.6.6 && >= 5.6.1 ) || ( == 4.1.4 && <= 2.8.7 && > 5.5.2 )": {+                                        "dlHash": "nnfts",+                                        "dlSubdir": "󷙉",+                                        "dlUri": "https:ggpra"+                                    },+                                    "( == 4.7.3 && <= 7.3.8 && >= 6.2.8 && >= 7.1.6 && > 2.4.7 && > 6.7.8 && == 8.1.6 && > 4.4.2 )": {+                                        "dlHash": "y",+                                        "dlSubdir": null,+                                        "dlUri": "https:inyt"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "fsqit",+                                        "dlSubdir": null,+                                        "dlUri": "http:caj"+                                    }+                                },+                                "FreeBSD": {},+                                "Windows": {+                                    "( <= 3.2.3 && < 3.7.1 && == 5.2.3 ) || ( > 3.2.6 && < 4.6.8 && == 2.6.6 && >= 6.7.5 && == 8.1.3 && <= 1.4.2 && <= 8.2.6 && >= 4.6.6 && > 6.2.8 )": {+                                        "dlHash": "zxrespu",+                                        "dlSubdir": "|􀥟󶋹i듷",+                                        "dlUri": "https:xw"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "hzdhpjxt",+                                        "dlSubdir": "󸰴.𬞮6",+                                        "dlUri": "https:m"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( == 7.3.8 && > 2.3.1 && >= 6.2.2 && < 1.7.5 && == 1.5.3 )": {+                                        "dlHash": "yzwt",+                                        "dlSubdir": "1%\u0014\u001epRn",+                                        "dlUri": "https:d"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "bwigbxt",+                                        "dlSubdir": {+                                            "RegexDir": "𮥾𤱿\u0000\t\u0008YqP"+                                        },+                                        "dlUri": "http:cwf"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 2.7.7 && > 8.2.7 && > 7.3.2 && < 4.8.1 && < 4.3.6 && > 5.2.3 && >= 7.8.7 )": {+                                        "dlHash": "thgnybjp",+                                        "dlSubdir": {+                                            "RegexDir": "􌔼|=p{𦍳0"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( == 7.6.5 && > 5.6.5 && > 8.1.6 && < 1.2.2 && <= 5.3.2 && >= 7.2.8 && < 7.4.8 && == 4.7.3 && > 8.4.5 )": {+                                        "dlHash": "i",+                                        "dlSubdir": null,+                                        "dlUri": "https:nmra"+                                    },+                                    "( > 3.7.4 && >= 2.2.8 && < 4.7.8 ) || ( >= 6.1.2 && == 5.2.6 && > 6.4.4 && < 1.7.1 )": {+                                        "dlHash": "o",+                                        "dlSubdir": null,+                                        "dlUri": "http:lwot"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( < 1.8.2 && <= 3.5.8 && < 4.5.3 && < 1.8.8 && >= 5.2.8 ) || ( < 7.7.6 && >= 5.5.3 && < 9.6.3 && == 1.8.1 && == 8.1.6 )": {+                                        "dlHash": "q",+                                        "dlSubdir": null,+                                        "dlUri": "http:yvctjvv"+                                    },+                                    "( <= 3.1.3 && > 4.7.5 && <= 4.2.4 && <= 8.4.7 ) || ( >= 2.8.7 && > 4.3.7 && < 7.1.3 && >= 8.8.5 )": {+                                        "dlHash": "zlvo",+                                        "dlSubdir": "+i𣒤W",+                                        "dlUri": "https:x"+                                    },+                                    "( <= 5.8.4 && >= 6.6.2 && >= 1.4.6 && <= 3.3.1 && <= 7.8.5 && < 4.6.7 && < 1.2.4 && == 6.7.5 && >= 3.4.8 ) || ( < 8.4.2 && < 1.8.8 && <= 3.5.4 && > 2.4.7 && >= 4.6.1 && > 1.2.4 && > 1.4.4 ) || ( < 5.6.6 && > 6.7.1 && > 4.2.1 && < 7.2.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:qba"+                                    },+                                    "( >= 4.5.5 && == 2.3.7 && >= 8.9.5 && == 3.4.6 && >= 8.7.2 && == 6.3.2 && <= 8.6.5 && > 1.4.7 && <= 3.8.5 ) || ( == 2.7.3 && == 2.7.7 && <= 2.4.4 && <= 1.1.4 && < 1.4.8 && == 5.3.6 && == 8.2.6 && == 7.6.8 )": {+                                        "dlHash": "jkrdtfwp",+                                        "dlSubdir": "󻒤\u001d\u001b4􉒇W2",+                                        "dlUri": "https:puhvb"+                                    },+                                    "( >= 5.1.3 && < 6.3.7 && >= 2.1.8 && == 2.2.6 && == 2.5.1 && < 7.2.5 && > 6.3.7 && <= 7.6.2 && < 5.7.5 ) || ( < 3.4.2 && == 6.8.7 && > 6.8.8 && >= 4.5.8 )": {+                                        "dlHash": "xzhwuuwo",+                                        "dlSubdir": {+                                            "RegexDir": "1z\u0010f󻭇"+                                        },+                                        "dlUri": "https:xldgdelr"+                                    }+                                },+                                "Windows": {+                                    "( < 2.4.2 && == 6.5.7 && > 4.2.7 && < 1.3.3 && == 1.8.8 ) || ( <= 6.4.8 && <= 3.5.1 && == 7.8.1 && < 1.7.5 ) || ( < 2.5.3 && > 7.2.7 && >= 5.5.8 && > 4.3.2 && > 8.4.6 && <= 4.8.1 && < 6.2.4 && > 7.9.5 && >= 2.5.2 )": {+                                        "dlHash": "jszvmnk",+                                        "dlSubdir": {+                                            "RegexDir": "9#뇚b􉋐5💆෭"+                                        },+                                        "dlUri": "https:dxjg"+                                    },+                                    "( >= 7.6.5 && == 1.8.6 && >= 4.5.2 && <= 4.7.1 && == 3.6.6 && >= 4.9.5 && > 5.7.6 && <= 8.5.6 )": {+                                        "dlHash": "brdc",+                                        "dlSubdir": {+                                            "RegexDir": "󶫵"+                                        },+                                        "dlUri": "https:og"+                                    },+                                    "( >= 8.3.8 && <= 2.6.5 && == 7.5.3 && >= 4.4.5 && >= 5.2.2 && <= 5.3.8 && < 7.4.2 && == 4.5.5 )": {+                                        "dlHash": "xniljeaq",+                                        "dlSubdir": null,+                                        "dlUri": "http:fmsmgdi"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:kg",+                        "viPostInstall": "nr",+                        "viPostRemove": null,+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "pd",+                            "dlSubdir": "*󸀵O,1􉉾",+                            "dlUri": "https:fbar"+                        },+                        "viTags": [+                            "Recommended",+                            "Prerelease",+                            "Recommended",+                            "Prerelease",+                            "",+                            "Ctj",+                            "􃰍|W󶶟d`"+                        ]+                    },+                    "3.5.1": {+                        "viArch": {+                            "A_32": {+                                "FreeBSD": {+                                    "( < 2.2.2 && == 2.1.4 && > 4.8.4 && < 1.2.6 && <= 2.5.5 )": {+                                        "dlHash": "lsiwpbak",+                                        "dlSubdir": {+                                            "RegexDir": "Po"+                                        },+                                        "dlUri": "https:urhnxwc"+                                    },+                                    "( <= 1.1.6 && <= 7.1.8 && > 8.3.7 && == 7.5.8 ) || ( < 2.6.4 && < 2.6.1 && > 3.8.3 && > 4.6.1 && <= 5.8.4 && <= 3.4.7 ) || ( < 5.3.7 ) || ( == 3.8.8 && >= 2.3.2 && == 6.1.4 )": {+                                        "dlHash": "rhj",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( <= 8.2.4 && == 4.5.7 && < 6.7.4 && <= 7.3.3 && <= 6.5.5 && < 5.8.7 && < 8.5.4 && >= 7.7.8 ) || ( <= 7.5.6 && >= 2.5.2 )": {+                                        "dlHash": "f",+                                        "dlSubdir": {+                                            "RegexDir": "AZCVL"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( >= 5.8.4 && <= 6.8.4 && == 4.8.3 && == 5.6.6 && <= 7.2.1 )": {+                                        "dlHash": "de",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( >= 6.1.9 ) || ( <= 8.7.7 && <= 7.8.3 && <= 6.3.8 )": {+                                        "dlHash": "offcnt",+                                        "dlSubdir": "W<tf𗾦p\u0015",+                                        "dlUri": "https:giyvsn"+                                    },+                                    "( >= 7.3.8 && >= 7.7.6 ) || ( <= 1.1.1 && > 7.5.3 && <= 2.8.5 && < 5.8.2 && == 1.1.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "0F"+                                        },+                                        "dlUri": "https:ybu"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": ",𮣾\u001a\t",+                                        "dlUri": "http:oayha"+                                    }+                                },+                                "Linux_Debian": {+                                    "( > 4.3.7 && <= 6.3.7 && > 2.2.7 && <= 7.5.4 && < 8.3.6 )": {+                                        "dlHash": "dvibqiyn",+                                        "dlSubdir": null,+                                        "dlUri": "https:fvhtgonv"+                                    },+                                    "( >= 8.3.7 && >= 8.2.8 && == 8.8.5 && <= 5.3.6 && < 2.2.2 ) || ( >= 8.2.3 && >= 8.2.4 && == 3.4.5 && == 2.2.6 && > 1.4.2 && < 2.1.2 && < 7.8.7 && <= 4.6.2 )": {+                                        "dlHash": "nyzwqmb",+                                        "dlSubdir": "",+                                        "dlUri": "https:picwcz"+                                    }+                                },+                                "Linux_RedHat": {+                                    "( >= 8.7.1 && < 1.8.4 && >= 4.7.3 && >= 2.3.7 )": {+                                        "dlHash": "bdf",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:ccfxgv"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( > 1.1.8 && == 2.1.6 ) || ( >= 8.7.6 && < 6.1.2 && > 5.8.5 && > 7.6.5 && <= 2.1.6 ) || ( == 3.3.3 && < 1.7.6 && < 3.5.3 && > 3.8.5 && < 1.2.2 && < 5.5.3 && <= 2.2.8 ) || ( <= 3.6.5 && == 3.7.4 && <= 8.1.5 )": {+                                        "dlHash": "ilrcfrq",+                                        "dlSubdir": "~Ꮧ",+                                        "dlUri": "https:zzyvjaqh"+                                    }+                                },+                                "Windows": {+                                    "( >= 7.1.5 && > 5.3.3 && < 6.6.5 && == 3.5.5 && >= 7.8.1 && < 2.3.4 && <= 5.6.4 )": {+                                        "dlHash": "h",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:cjxxlk",+                        "viPostInstall": "avh",+                        "viPostRemove": "eegqaxeq",+                        "viPreCompile": "cyrqrsay",+                        "viSourceDL": null,+                        "viTags": [+                            "Latest",+                            "base-5.4.5",+                            "base-1.6.1",+                            "l淋",+                            "old",+                            "Latest",+                            "Recommended"+                        ]+                    },+                    "4.2.2": {+                        "viArch": {+                            "A_ARM": {},+                            "A_ARM64": {+                                "Linux_Mint": {+                                    "( < 2.1.4 && >= 4.7.7 && <= 6.6.1 && > 5.2.2 && >= 5.8.7 && <= 5.6.3 && > 3.6.6 )": {+                                        "dlHash": "cdptyyqb",+                                        "dlSubdir": "m",+                                        "dlUri": "http:fqhe"+                                    },+                                    "( <= 8.3.2 && < 7.4.7 && > 8.4.8 && < 5.2.6 && >= 2.3.6 && >= 3.2.2 && > 1.7.4 ) || ( > 7.6.1 && == 8.3.2 && > 5.3.2 && < 4.1.2 && <= 1.8.6 && == 5.7.6 && == 3.6.5 && < 8.2.1 ) || ( <= 4.4.7 && == 3.3.2 && >= 7.7.3 && <= 8.1.6 && >= 8.8.1 && > 7.3.5 && == 8.8.4 && <= 1.1.5 )": {+                                        "dlHash": "qayx",+                                        "dlSubdir": null,+                                        "dlUri": "https:xaijo"+                                    },+                                    "( == 2.7.5 && > 2.1.2 && > 7.5.2 && >= 4.6.7 )": {+                                        "dlHash": "kfhfzig",+                                        "dlSubdir": null,+                                        "dlUri": "http:s"+                                    },+                                    "( == 5.6.8 && == 6.1.1 && == 7.8.4 && > 2.2.7 && == 5.4.4 && <= 1.5.3 ) || ( >= 2.4.3 && <= 5.6.2 && == 5.7.6 && >= 8.7.7 && < 2.5.7 ) || ( > 2.7.8 && < 1.1.6 && <= 1.8.6 && < 4.1.2 && > 8.7.7 && >= 8.6.4 && < 6.5.7 && <= 2.3.1 && >= 8.9.4 ) || ( < 1.5.8 && >= 7.1.5 && >= 6.5.5 ) || ( >= 5.4.8 && <= 1.5.3 && < 6.5.8 && == 1.3.1 && >= 1.7.4 && > 2.2.6 && == 7.7.5 )": {+                                        "dlHash": "zneyu",+                                        "dlSubdir": "",+                                        "dlUri": "http:kyubn"+                                    },+                                    "( >= 1.3.5 && < 7.7.8 ) || ( >= 4.4.1 && >= 2.4.1 && == 8.2.7 && <= 1.4.2 ) || ( > 7.4.3 )": {+                                        "dlHash": "rnjhn",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    },+                                    "( >= 4.6.1 && < 3.2.5 ) || ( < 8.8.1 && > 1.1.6 && == 3.3.4 && == 1.5.3 ) || ( > 4.2.2 && < 3.1.1 && < 2.1.1 && >= 5.4.2 && == 3.1.5 && >= 2.5.1 && <= 7.1.5 )": {+                                        "dlHash": "osyeym",+                                        "dlSubdir": null,+                                        "dlUri": "http:pn"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "aj",+                                        "dlSubdir": null,+                                        "dlUri": "http:ag"+                                    }+                                },+                                "Windows": {+                                    "( < 9.7.8 && > 7.3.8 && < 1.1.5 ) || ( <= 6.3.7 && == 3.2.7 )": {+                                        "dlHash": "usxvrp",+                                        "dlSubdir": "S\u0010\u000fV%]}",+                                        "dlUri": "https:ocorq"+                                    },+                                    "( == 1.6.7 && > 7.6.4 )": {+                                        "dlHash": "zrcpaahf",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:npswdqmd"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "gggdx",+                                        "dlSubdir": "󵦡+S\u001e􏘪",+                                        "dlUri": "https:fxpcpwl"+                                    }+                                }+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": null,+                        "viPostRemove": null,+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "p",+                            "dlSubdir": {+                                "RegexDir": "4"+                            },+                            "dlUri": "http:xht"+                        },+                        "viTags": [+                            "Prerelease",+                            "base-1.5.6",+                            "r𦇚󶑾:􁠾",+                            "Recommended",+                            "Recommended",+                            "Latest"+                        ]+                    },+                    "4.4.1": {+                        "viArch": {+                            "A_ARM64": {+                                "Darwin": {+                                    "( < 4.6.3 && < 5.3.6 && >= 2.7.7 ) || ( > 6.6.7 && > 7.4.8 && >= 4.6.7 && > 8.2.8 && <= 8.1.5 && == 4.3.1 && <= 7.1.6 && < 4.5.4 ) || ( <= 2.7.4 && > 1.2.2 && < 1.6.3 && <= 6.8.3 && <= 1.7.4 && >= 4.4.3 && < 9.7.8 && > 2.6.4 && < 5.2.5 ) || ( >= 8.7.7 && < 7.5.1 && < 4.5.7 && > 5.1.4 && <= 5.2.6 && > 1.1.2 && == 7.4.5 && > 6.6.3 && < 7.6.7 )": {+                                        "dlHash": "qqa",+                                        "dlSubdir": "zs𪍞k",+                                        "dlUri": "http:uck"+                                    },+                                    "( <= 8.3.8 && <= 4.8.2 && < 5.6.6 && == 2.3.2 && >= 6.5.4 && == 5.8.8 && > 2.6.3 && >= 3.6.4 && > 5.5.1 ) || ( == 6.1.5 && >= 7.5.2 && > 1.2.8 && == 8.6.2 && == 8.4.2 && > 4.5.4 ) || ( <= 3.6.6 && >= 4.4.4 && <= 5.2.2 && > 3.8.4 )": {+                                        "dlHash": "reipslix",+                                        "dlSubdir": "^\n\u000f攀\u001fh\u0004#",+                                        "dlUri": "http:fkou"+                                    },+                                    "( == 3.7.1 && > 1.4.5 && < 1.5.4 && <= 1.3.3 && >= 5.4.8 && < 6.2.2 && < 7.3.3 )": {+                                        "dlHash": "jcwx",+                                        "dlSubdir": null,+                                        "dlUri": "https:berdwsdy"+                                    },+                                    "( == 4.1.7 && == 4.4.7 )": {+                                        "dlHash": "yzlmajbn",+                                        "dlSubdir": {+                                            "RegexDir": ":\u0014􇽽Nys\u0012\u000b"+                                        },+                                        "dlUri": "http:mjf"+                                    },+                                    "( > 5.6.6 && <= 3.3.8 && >= 6.7.6 && >= 1.1.5 && < 5.2.4 ) || ( >= 1.5.7 && == 8.5.1 && <= 5.7.3 && > 6.3.8 && >= 5.3.1 )": {+                                        "dlHash": "rtz",+                                        "dlSubdir": "o",+                                        "dlUri": "https:iutwc"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "k",+                                        "dlSubdir": "\u0003􋡸\u000eV`𢯈B",+                                        "dlUri": "http:wu"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 1.8.6 && >= 5.5.5 && < 1.6.5 )": {+                                        "dlHash": "mopjcf",+                                        "dlSubdir": {+                                            "RegexDir": "⡎䷏&\u000f"+                                        },+                                        "dlUri": "https:qbosah"+                                    },+                                    "( <= 4.1.8 && == 6.3.5 && == 2.2.6 && == 8.7.6 && <= 4.1.8 )": {+                                        "dlHash": "gmdplpf",+                                        "dlSubdir": {+                                            "RegexDir": "薅\u0010\u001a𩰛𝃜]C>"+                                        },+                                        "dlUri": "http:vtae"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "film",+                                        "dlSubdir": {+                                            "RegexDir": "E\u000b(p\u0007}"+                                        },+                                        "dlUri": "https:bmnqqjkc"+                                    }+                                }+                            },+                            "A_PowerPC64": {},+                            "A_Sparc64": {}+                        },+                        "viChangeLog": "https:lh",+                        "viPostInstall": "k",+                        "viPostRemove": "dxqp",+                        "viPreCompile": "fzrbyso",+                        "viSourceDL": {+                            "dlHash": "sx",+                            "dlSubdir": {+                                "RegexDir": "c󸴇"+                            },+                            "dlUri": "https:elvykpa"+                        },+                        "viTags": [+                            "Recommended",+                            "Latest",+                            "Latest",+                            "Recommended"+                        ]+                    },+                    "5.7.2": {+                        "viArch": {+                            "A_PowerPC": {+                                "FreeBSD": {}+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( < 4.4.7 && < 8.6.8 && > 8.4.5 && <= 7.5.5 ) || ( == 8.3.1 && == 2.4.5 && < 8.8.6 && <= 8.4.2 && >= 1.1.8 ) || ( > 7.1.2 && >= 5.8.1 ) || ( >= 8.8.5 && <= 4.4.5 && <= 3.8.5 && <= 5.8.1 && >= 7.2.3 ) || ( >= 1.4.1 && > 5.5.5 && >= 8.5.4 && == 5.4.6 && > 5.4.8 && >= 2.4.4 && < 5.2.1 && >= 1.8.5 && >= 1.2.7 )": {+                                        "dlHash": "ducdkx",+                                        "dlSubdir": null,+                                        "dlUri": "https:p"+                                    },+                                    "( < 5.3.5 && > 7.4.5 && > 5.2.1 && > 3.8.8 ) || ( == 7.5.1 )": {+                                        "dlHash": "nbqeao",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( == 8.4.2 && >= 7.5.7 && >= 5.5.7 && < 8.1.6 && >= 4.5.5 && == 4.2.1 && < 8.3.3 )": {+                                        "dlHash": "n",+                                        "dlSubdir": {+                                            "RegexDir": "𭾶􀊘󴍺"+                                        },+                                        "dlUri": "https:uogbl"+                                    },+                                    "( == 8.6.4 && == 8.5.7 && > 3.4.5 && == 3.6.5 && == 4.2.2 )": {+                                        "dlHash": "lpy",+                                        "dlSubdir": "",+                                        "dlUri": "https:illgbj"+                                    },+                                    "( >= 4.5.5 && == 3.7.6 && > 7.6.7 && < 3.4.6 && == 7.5.2 && >= 2.1.3 ) || ( >= 5.6.2 && <= 5.5.7 && > 3.4.8 )": {+                                        "dlHash": "d",+                                        "dlSubdir": {+                                            "RegexDir": "[dF/"+                                        },+                                        "dlUri": "https:jepvwkr"+                                    },+                                    "( >= 8.5.4 && > 5.1.4 && > 8.5.4 && > 7.8.7 && <= 6.3.4 && < 5.1.7 && > 4.4.8 ) || ( <= 1.2.4 && > 5.8.5 && < 8.7.2 && <= 9.8.8 && >= 1.8.6 && < 1.3.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "w"+                                        },+                                        "dlUri": "https:ijvo"+                                    }+                                },+                                "Linux_Alpine": {},+                                "Linux_AmazonLinux": {+                                    "( < 1.1.2 && < 1.3.4 && == 2.8.6 )": {+                                        "dlHash": "zdeh",+                                        "dlSubdir": {+                                            "RegexDir": "=\u0007𥥶􄔵"+                                        },+                                        "dlUri": "http:anqnx"+                                    },+                                    "( <= 7.7.3 && <= 2.7.3 && < 6.2.7 && <= 5.3.1 && < 2.1.6 )": {+                                        "dlHash": "saz",+                                        "dlSubdir": "𘆭􂭬􈍦\u0003_LW",+                                        "dlUri": "https:zwus"+                                    },+                                    "( == 7.5.1 && <= 7.4.7 && > 3.4.4 && < 1.1.8 && == 8.1.6 ) || ( > 4.6.8 && <= 6.1.2 && == 5.2.7 && <= 6.8.2 && < 2.2.1 && > 6.5.8 )": {+                                        "dlHash": "qzbaw",+                                        "dlSubdir": {+                                            "RegexDir": "+"+                                        },+                                        "dlUri": "http:oy"+                                    },+                                    "( >= 2.2.1 && > 8.2.2 && == 1.3.5 )": {+                                        "dlHash": "saegszjf",+                                        "dlSubdir": {+                                            "RegexDir": "wk"+                                        },+                                        "dlUri": "https:lomlu"+                                    },+                                    "( >= 2.3.2 )": {+                                        "dlHash": "k",+                                        "dlSubdir": null,+                                        "dlUri": "https:llmgzpt"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "fgd",+                                        "dlSubdir": {+                                            "RegexDir": "󶦂􇪈;Rw\u000eE"+                                        },+                                        "dlUri": "https:po"+                                    }+                                },+                                "Linux_Exherbo": {}+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( == 3.4.3 && > 5.7.5 && < 2.2.7 && >= 1.5.2 && == 6.6.2 && == 8.4.2 && >= 5.7.4 && <= 5.8.7 )": {+                                        "dlHash": "tq",+                                        "dlSubdir": {+                                            "RegexDir": "\u001e0"+                                        },+                                        "dlUri": "https:hzze"+                                    },+                                    "( == 5.2.5 )": {+                                        "dlHash": "yse",+                                        "dlSubdir": {+                                            "RegexDir": "𧞃𝆆7"+                                        },+                                        "dlUri": "https:lsx"+                                    },+                                    "( > 1.2.5 )": {+                                        "dlHash": "azdtn",+                                        "dlSubdir": "Oxh/'z;",+                                        "dlUri": "http:uoykkx"+                                    },+                                    "( >= 1.1.8 && < 6.8.1 && <= 7.5.9 )": {+                                        "dlHash": "ndmew",+                                        "dlSubdir": {+                                            "RegexDir": "\u0005\u0016"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "rsie",+                                        "dlSubdir": {+                                            "RegexDir": "=􊊱$󾗗j4"+                                        },+                                        "dlUri": "https:"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( <= 6.8.1 && < 4.2.2 && == 2.6.8 && <= 4.2.7 && >= 3.5.7 && > 7.8.6 && == 5.6.4 && < 1.1.4 && == 1.2.4 ) || ( > 4.4.9 && == 5.5.6 && == 8.7.3 && > 7.5.5 && <= 6.2.4 )": {+                                        "dlHash": "vbuinqjx",+                                        "dlSubdir": "Lt[ow+\u0000",+                                        "dlUri": "http:xn"+                                    },+                                    "( <= 7.1.5 && == 4.2.8 && > 3.4.8 && >= 8.5.3 && > 6.3.5 )": {+                                        "dlHash": "ii",+                                        "dlSubdir": "\u0015𭒣C\u0011}𠘠u",+                                        "dlUri": "http:"+                                    },+                                    "( == 8.7.4 && < 5.2.4 && >= 6.3.7 && > 1.4.2 && <= 5.4.1 && > 1.4.6 && < 5.7.3 && >= 2.5.3 && >= 3.6.1 )": {+                                        "dlHash": "pypjqrm",+                                        "dlSubdir": "\u0012𢷿丑\u000b\u0019󹰽\u0010%",+                                        "dlUri": "http:r"+                                    },+                                    "( > 8.6.4 && == 2.5.6 && == 3.7.4 )": {+                                        "dlHash": "vxkrzmnh",+                                        "dlSubdir": "c󼄱l\u000cIv띗Q",+                                        "dlUri": "http:oho"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "zlqsk",+                                        "dlSubdir": "",+                                        "dlUri": "https:e"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( > 7.1.5 && == 3.3.7 && > 1.6.3 && == 5.6.4 && > 4.2.2 && >= 2.2.8 && > 3.2.7 )": {+                                        "dlHash": "hezhhc",+                                        "dlSubdir": "lU󲋉𥃎!",+                                        "dlUri": "http:m"+                                    },+                                    "( > 7.7.4 && >= 8.5.2 && == 2.6.5 && > 4.3.5 ) || ( < 4.4.5 && <= 7.6.2 && == 6.2.3 && < 3.8.5 && > 3.1.7 && < 2.3.2 && > 6.1.5 && < 8.3.3 && >= 7.8.2 ) || ( < 4.5.2 && <= 4.7.4 && <= 4.8.8 && > 5.6.2 && < 1.5.5 && >= 4.6.3 && <= 2.5.5 && <= 6.5.4 && == 6.5.5 ) || ( > 3.6.3 && < 3.9.6 ) || ( == 8.1.1 && <= 4.5.6 && == 3.3.3 && < 2.2.7 && > 3.5.5 && < 6.8.1 && <= 1.1.6 )": {+                                        "dlHash": "jprpkha",+                                        "dlSubdir": "\u001d󽳝㔏\u001etiAp",+                                        "dlUri": "http:shpgtrlh"+                                    },+                                    "( >= 1.1.6 && <= 7.4.4 && <= 1.2.5 && <= 6.6.2 && >= 4.8.3 && <= 6.4.1 ) || ( > 8.2.4 ) || ( < 4.5.4 && <= 2.2.3 && >= 4.7.6 && < 4.8.6 )": {+                                        "dlHash": "gvsl",+                                        "dlSubdir": {+                                            "RegexDir": "\\x.󳁙n"+                                        },+                                        "dlUri": "http:aymkolr"+                                    }+                                },+                                "Windows": {+                                    "( < 6.6.2 && < 5.4.3 && < 3.3.3 && < 8.4.3 && >= 1.5.2 && <= 1.3.1 && >= 5.7.2 && == 1.5.8 && < 3.6.4 ) || ( < 5.3.2 && >= 6.5.2 && > 1.2.1 && == 5.5.7 && <= 6.6.5 && == 7.1.1 && <= 7.1.2 && <= 9.1.5 && > 8.7.2 ) || ( < 7.1.6 && <= 4.7.5 && < 8.3.5 && == 9.7.2 && > 4.5.3 && == 6.7.5 && < 7.6.9 ) || ( < 8.1.3 && > 5.6.6 && < 3.5.8 && >= 3.6.1 && > 8.4.5 && < 7.7.6 )": {+                                        "dlHash": "sbiw",+                                        "dlSubdir": {+                                            "RegexDir": "󼌨e\u0003[𡁘󶹾=U"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( < 7.7.4 && >= 1.4.1 && <= 1.2.6 && < 2.8.6 && >= 6.5.5 && == 5.2.1 ) || ( > 6.1.1 && >= 5.4.1 && < 3.6.7 && == 1.3.2 ) || ( > 6.2.7 && >= 6.4.8 ) || ( <= 3.2.2 && < 7.8.4 && < 7.5.7 && < 2.2.4 && > 4.1.1 && == 5.5.5 && > 4.4.8 && >= 6.7.7 )": {+                                        "dlHash": "hoz",+                                        "dlSubdir": {+                                            "RegexDir": "V9 \u0004ubr𡵐"+                                        },+                                        "dlUri": "https:g"+                                    },+                                    "( == 8.8.6 && <= 4.4.1 ) || ( <= 7.5.3 && == 1.2.4 && >= 1.2.2 && <= 8.6.2 && > 8.3.7 )": {+                                        "dlHash": "pjnhs",+                                        "dlSubdir": null,+                                        "dlUri": "https:um"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 8.3.6 && == 2.8.4 && >= 3.6.8 && > 3.1.3 ) || ( < 6.3.5 && <= 1.8.7 ) || ( < 4.8.4 ) || ( <= 7.10.1 && < 8.4.6 && < 8.6.5 && > 8.2.7 )": {+                                        "dlHash": "ng",+                                        "dlSubdir": {+                                            "RegexDir": "\r>펜:P\u0016y"+                                        },+                                        "dlUri": "https:qtq"+                                    },+                                    "( >= 4.8.2 ) || ( > 2.3.3 && < 1.5.7 && <= 4.4.4 && == 6.7.7 ) || ( > 6.6.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": "𗹁+&YDQ",+                                        "dlUri": "http:friwzsyr"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "xss",+                                        "dlSubdir": "𗨙\u0012\u001d(",+                                        "dlUri": "http:lajll"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 8.4.1 && <= 2.4.7 && <= 6.3.1 && > 1.5.8 && < 2.4.5 && < 2.7.3 && < 1.7.8 && > 5.1.3 && >= 8.2.3 )": {+                                        "dlHash": "qsxgm",+                                        "dlSubdir": null,+                                        "dlUri": "https:dw"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( < 5.5.2 && > 9.8.1 && < 5.5.2 && < 1.3.2 && >= 7.7.8 && > 5.3.3 && < 4.8.5 && == 4.8.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u000eAHL",+                                        "dlUri": "https:z"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( < 4.5.7 && == 5.2.8 && <= 2.3.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "􉢃",+                                        "dlUri": "https:rmnj"+                                    },+                                    "( <= 8.3.7 ) || ( < 7.8.3 && <= 2.5.7 && <= 3.6.8 && == 4.5.1 && < 4.5.1 && >= 2.6.7 && == 6.6.5 && <= 3.8.4 && < 2.3.6 ) || ( == 6.8.7 && <= 6.4.7 && <= 7.7.3 ) || ( >= 4.6.1 && > 1.1.1 && > 2.5.6 ) || ( == 6.2.1 && <= 8.1.8 && <= 6.7.6 && < 4.4.6 && >= 6.3.5 && <= 4.3.6 )": {+                                        "dlHash": "mgdkqcvr",+                                        "dlSubdir": null,+                                        "dlUri": "http:delcj"+                                    },+                                    "( == 1.7.3 && < 8.2.4 && < 5.2.1 && < 1.6.6 && == 4.5.4 ) || ( >= 7.3.5 && < 1.5.5 && >= 4.1.7 )": {+                                        "dlHash": "ueszcmiv",+                                        "dlSubdir": {+                                            "RegexDir": "R<\u0017𦹞!?\t:"+                                        },+                                        "dlUri": "https:xbwvpa"+                                    },+                                    "( == 8.8.6 && <= 5.5.7 && <= 4.8.6 )": {+                                        "dlHash": "hg",+                                        "dlSubdir": {+                                            "RegexDir": "T"+                                        },+                                        "dlUri": "https:qe"+                                    },+                                    "( > 2.4.1 )": {+                                        "dlHash": "cmp",+                                        "dlSubdir": null,+                                        "dlUri": "https:ianumul"+                                    },+                                    "( >= 8.6.2 && < 3.6.3 && <= 6.3.3 && <= 4.6.5 && >= 3.4.7 )": {+                                        "dlHash": "qxdwz",+                                        "dlSubdir": {+                                            "RegexDir": "\t6"+                                        },+                                        "dlUri": "https:naua"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u000e"+                                        },+                                        "dlUri": "https:bztmrj"+                                    }+                                },+                                "Windows": {+                                    "( < 2.4.5 && == 6.6.3 && >= 4.1.4 && == 5.5.8 && >= 8.7.2 && < 3.6.5 && <= 5.7.8 ) || ( < 8.5.8 ) || ( <= 4.2.2 )": {+                                        "dlHash": "ewrntm",+                                        "dlSubdir": {+                                            "RegexDir": "\rN"+                                        },+                                        "dlUri": "http:ri"+                                    },+                                    "( > 6.3.4 && <= 6.8.1 && > 3.8.7 && <= 2.1.6 && == 4.7.1 && >= 2.7.5 )": {+                                        "dlHash": "asbdc",+                                        "dlSubdir": {+                                            "RegexDir": "􎣅"+                                        },+                                        "dlUri": "http:fkhd"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:uwr",+                        "viPostInstall": "m",+                        "viPostRemove": "nwnzw",+                        "viPreCompile": "s",+                        "viSourceDL": {+                            "dlHash": "dinptoca",+                            "dlSubdir": {+                                "RegexDir": "Z)"+                            },+                            "dlUri": "http:xszo"+                        },+                        "viTags": [+                            "base-6.2.8",+                            "Prerelease",+                            "Prerelease",+                            "Recommended"+                        ]+                    },+                    "7.1.4": {+                        "viArch": {+                            "A_32": {+                                "FreeBSD": {+                                    "( >= 6.6.4 && > 1.5.3 ) || ( < 5.5.8 && <= 4.8.5 && == 1.8.2 && < 1.4.2 && < 4.5.5 ) || ( > 8.3.5 && >= 4.4.4 && >= 1.2.8 && < 8.8.5 && >= 2.3.5 && < 3.6.5 && > 8.5.5 && >= 4.6.2 ) || ( <= 1.6.7 && == 2.7.4 && <= 5.5.1 && > 3.2.5 && < 3.1.4 && < 8.4.1 && >= 3.7.3 && < 4.5.1 ) || ( == 8.6.7 && < 6.6.4 && < 1.7.3 && < 5.8.2 && >= 2.5.8 && < 4.5.1 && > 3.7.3 ) || ( >= 6.2.2 && >= 5.6.7 && > 8.6.8 && < 4.8.6 && == 1.4.8 && == 4.7.1 )": {+                                        "dlHash": "idemaw",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:mprfajjb"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "Windows": {+                                    "( < 4.4.3 && <= 8.2.4 && < 1.1.4 && < 2.3.7 && == 5.1.7 )": {+                                        "dlHash": "sbnlym",+                                        "dlSubdir": null,+                                        "dlUri": "http:lsllshp"+                                    },+                                    "( <= 3.5.2 && == 4.7.1 && == 4.2.1 ) || ( < 7.5.1 && == 1.7.1 )": {+                                        "dlHash": "tn",+                                        "dlSubdir": "ꆹcJG𨼻R\u0008",+                                        "dlUri": "https:lzz"+                                    },+                                    "( >= 1.4.4 && <= 4.8.7 && > 8.7.2 && >= 1.5.4 && > 6.1.5 && == 6.6.7 && < 7.8.7 && > 6.4.2 ) || ( >= 6.8.2 )": {+                                        "dlHash": "oxdc",+                                        "dlSubdir": "\u000fK?",+                                        "dlUri": "http:gisrws"+                                    },+                                    "( >= 2.6.8 && >= 1.7.1 && < 4.3.1 && == 1.2.5 ) || ( <= 9.7.6 && == 8.5.5 && < 4.1.3 && > 7.8.8 && == 3.1.7 && >= 6.4.5 && <= 8.7.4 && < 2.3.4 && < 7.1.4 ) || ( > 7.7.8 && < 6.6.4 && > 4.1.7 && >= 2.6.1 && >= 5.7.7 && >= 3.2.1 && >= 8.6.6 ) || ( < 7.7.7 && < 6.3.7 && < 4.8.2 && <= 2.2.1 && == 4.2.3 && == 1.6.7 ) || ( < 1.2.5 && > 5.7.8 && >= 6.2.2 && == 3.2.8 && < 8.7.2 && == 8.8.6 && <= 3.6.1 ) || ( == 5.2.5 && == 1.6.7 && == 2.7.5 && == 5.8.8 && == 8.8.1 )": {+                                        "dlHash": "s",+                                        "dlSubdir": null,+                                        "dlUri": "https:r"+                                    },+                                    "( >= 3.1.8 ) || ( > 3.6.7 && >= 4.8.6 && <= 1.7.7 && == 1.1.6 && >= 3.2.4 ) || ( == 5.6.3 )": {+                                        "dlHash": "pct",+                                        "dlSubdir": null,+                                        "dlUri": "https:itnqkzx"+                                    },+                                    "( >= 4.4.2 && >= 6.2.8 && < 3.4.5 && < 2.4.3 && < 8.2.5 && == 9.4.8 )": {+                                        "dlHash": "pvbizf",+                                        "dlSubdir": {+                                            "RegexDir": "`􆝨cB󶈉"+                                        },+                                        "dlUri": "https:erzkam"+                                    },+                                    "( >= 5.4.5 )": {+                                        "dlHash": "ptkpbfy",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:ohqs",+                        "viPostInstall": "bquxgn",+                        "viPostRemove": null,+                        "viPreCompile": "rtzhvw",+                        "viSourceDL": {+                            "dlHash": "xs",+                            "dlSubdir": {+                                "RegexDir": "9\u0011\u0013"+                            },+                            "dlUri": "https:jyl"+                        },+                        "viTags": [+                            "",+                            "base-2.5.6",+                            "Latest",+                            "Recommended",+                            "|",+                            "Latest",+                            "\u0013ADq\u001bX<",+                            "base-8.2.4"+                        ]+                    },+                    "8.2.3": {+                        "viArch": {+                            "A_32": {+                                "Linux_Alpine": {+                                    "( <= 7.8.6 && < 7.7.5 && < 6.1.8 )": {+                                        "dlHash": "ns",+                                        "dlSubdir": {+                                            "RegexDir": ")c~"+                                        },+                                        "dlUri": "http:gl"+                                    },+                                    "( > 6.7.1 && < 6.8.4 && == 8.6.2 && <= 4.4.1 && >= 1.3.3 && > 6.2.1 && <= 7.6.4 && <= 4.5.5 && <= 4.6.3 )": {+                                        "dlHash": "qmvnoiyk",+                                        "dlSubdir": "\u0013qdMQN󼩔",+                                        "dlUri": "https:khnegj"+                                    }+                                }+                            },+                            "A_64": {},+                            "A_PowerPC": {+                                "FreeBSD": {+                                    "( <= 6.7.9 && >= 2.2.3 ) || ( == 7.4.7 ) || ( < 2.5.2 && >= 7.2.5 && <= 6.3.7 && <= 8.5.9 && > 7.8.5 && >= 2.1.3 && < 6.7.8 && == 5.2.6 ) || ( == 3.7.8 && >= 1.8.2 && >= 3.2.7 )": {+                                        "dlHash": "tn",+                                        "dlSubdir": "!G\u0019",+                                        "dlUri": "http:dqcxh"+                                    },+                                    "( == 1.2.4 && <= 7.1.8 && > 6.2.5 && >= 1.8.3 && < 6.3.8 && > 4.8.5 && == 5.2.1 )": {+                                        "dlHash": "qvvvmtin",+                                        "dlSubdir": "}5\u001b",+                                        "dlUri": "http:k"+                                    },+                                    "( == 3.5.8 )": {+                                        "dlHash": "sfov",+                                        "dlSubdir": null,+                                        "dlUri": "https:pmzz"+                                    },+                                    "( == 7.6.4 && < 5.7.8 && == 2.3.2 && >= 1.5.3 )": {+                                        "dlHash": "itwxvnoj",+                                        "dlSubdir": {+                                            "RegexDir": "󻱺jN 5"+                                        },+                                        "dlUri": "https:yckahel"+                                    },+                                    "( >= 4.7.1 && <= 4.7.6 && == 5.1.2 )": {+                                        "dlHash": "tyhaped",+                                        "dlSubdir": "󱭕,𫯙󽼇",+                                        "dlUri": "https:jf"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "vebe",+                                        "dlSubdir": {+                                            "RegexDir": "㽽\u00045𢮴𢀬E"+                                        },+                                        "dlUri": "http:exrteiuk"+                                    }+                                },+                                "Linux_Gentoo": {+                                    "( == 3.7.3 && >= 6.8.5 && >= 4.2.2 && < 5.7.5 && >= 4.4.8 && == 3.3.5 )": {+                                        "dlHash": "ohr",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( >= 5.3.5 ) || ( <= 8.6.7 && == 5.3.5 && > 6.7.3 && >= 4.4.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\t𞹧PHI{􄘔G"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "sij",+                                        "dlSubdir": "",+                                        "dlUri": "https:nc"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:bxw",+                        "viPostInstall": "bxdutem",+                        "viPostRemove": null,+                        "viPreCompile": "dl",+                        "viSourceDL": {+                            "dlHash": "uvy",+                            "dlSubdir": "􁧊𦏴>𪂓:󴤭",+                            "dlUri": "https:"+                        },+                        "viTags": [+                            "base-4.1.8",+                            "Latest",+                            "Latest",+                            "base-8.8.7",+                            "𠖛",+                            "恦AD假n#",+                            "Prerelease"+                        ]+                    },+                    "8.3.5": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {},+                                "FreeBSD": {+                                    "( < 3.7.2 && == 8.1.1 && == 8.5.8 && <= 7.1.6 )": {+                                        "dlHash": "upnwalg",+                                        "dlSubdir": {+                                            "RegexDir": "S\u001a\u0012\u0010U{@\u001a"+                                        },+                                        "dlUri": "https:zfzxsr"+                                    },+                                    "( <= 2.6.2 && > 8.1.1 && == 5.5.3 && <= 3.4.3 && <= 5.2.5 && >= 3.1.3 && <= 6.4.8 && == 8.5.3 && > 2.5.5 ) || ( == 6.4.8 && >= 1.2.4 && > 2.4.8 && < 2.5.5 && < 3.1.4 && <= 5.4.5 && > 5.5.8 && < 6.3.2 && <= 7.4.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u0005"+                                        },+                                        "dlUri": "https:xgr"+                                    },+                                    "( > 6.3.6 && < 7.4.3 && > 5.6.2 && > 6.2.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "y\"#L`≢\u001b\\"+                                        },+                                        "dlUri": "http:anqycvhw"+                                    },+                                    "( > 8.6.1 && <= 2.2.1 && <= 1.5.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "Q𝂲"+                                        },+                                        "dlUri": "https:mvrmar"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "zd",+                                        "dlSubdir": {+                                            "RegexDir": "\u000buT"+                                        },+                                        "dlUri": "http:npq"+                                    }+                                },+                                "Windows": {+                                    "( > 2.5.7 && >= 6.6.5 && >= 4.1.2 && == 1.1.7 && > 7.5.3 && > 4.3.1 )": {+                                        "dlHash": "rufoyb",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:jibihdg"+                                    }+                                }+                            },+                            "A_64": {+                                "Darwin": {+                                    "unknown_versioning": {+                                        "dlHash": "wmuz",+                                        "dlSubdir": null,+                                        "dlUri": "https:gxnnplbf"+                                    }+                                },+                                "Linux_Fedora": {+                                    "( < 5.8.1 && >= 6.7.6 ) || ( < 6.4.8 && > 6.6.7 && < 3.7.3 && < 8.8.8 && <= 8.4.1 && <= 4.3.5 ) || ( < 7.3.4 && > 6.5.6 && >= 8.3.8 && < 7.7.7 )": {+                                        "dlHash": "quhz",+                                        "dlSubdir": {+                                            "RegexDir": "🄺I%W.\u0006"+                                        },+                                        "dlUri": "https:qq"+                                    },+                                    "( <= 5.3.4 && == 7.6.7 && == 8.6.7 && > 6.3.2 && == 4.7.4 && >= 3.7.3 && < 3.5.1 && == 3.4.6 && >= 5.7.5 )": {+                                        "dlHash": "j",+                                        "dlSubdir": {+                                            "RegexDir": "\u000b~"+                                        },+                                        "dlUri": "https:ocyagjo"+                                    },+                                    "( > 2.4.2 ) || ( <= 3.4.6 && > 7.5.4 && >= 1.8.1 && == 2.5.4 && == 8.6.4 && == 6.4.4 && >= 6.4.5 && >= 5.7.9 && < 5.7.5 )": {+                                        "dlHash": "czc",+                                        "dlSubdir": null,+                                        "dlUri": "https:wmc"+                                    },+                                    "( > 2.6.1 && <= 6.8.6 && <= 2.4.5 && >= 3.7.7 && >= 1.4.5 && < 9.8.7 )": {+                                        "dlHash": "fqydhn",+                                        "dlSubdir": "F\u0015󳥡Ft9Ux",+                                        "dlUri": "https:mhqid"+                                    },+                                    "( >= 2.4.4 && >= 4.6.5 && < 5.2.2 && == 8.1.1 && < 1.1.2 && >= 3.3.6 ) || ( == 4.5.1 && <= 6.2.4 && > 2.3.2 && <= 8.3.6 && <= 4.1.3 ) || ( < 7.7.3 && == 7.2.7 && > 4.8.2 ) || ( == 8.6.4 && > 8.6.5 && <= 6.1.5 && == 6.1.7 && >= 6.1.3 && >= 2.4.6 && >= 5.2.6 && >= 3.2.5 )": {+                                        "dlHash": "dbzbtd",+                                        "dlSubdir": {+                                            "RegexDir": "􅐱􊛍v"+                                        },+                                        "dlUri": "https:zzzqzb"+                                    },+                                    "( >= 4.7.3 && >= 4.5.4 && < 7.6.1 && < 1.8.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "󻅷\r"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "vuuyiub",+                                        "dlSubdir": null,+                                        "dlUri": "http:wjlaqmh"+                                    }+                                }+                            },+                            "A_ARM": {+                                "Darwin": {+                                    "( < 7.5.5 && > 8.4.6 && > 5.7.6 && < 4.6.3 ) || ( < 6.1.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "~hjbE\u0004tV",+                                        "dlUri": "https:aiibqb"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 8.8.3 && < 1.4.4 && >= 8.3.6 && >= 2.8.4 && == 5.5.1 && == 2.5.4 && == 2.4.8 ) || ( > 7.6.4 )": {+                                        "dlHash": "n",+                                        "dlSubdir": {+                                            "RegexDir": "h`𨐝\u001d\\\u001e"+                                        },+                                        "dlUri": "http:oj"+                                    },+                                    "( <= 4.8.7 && >= 4.1.7 && >= 4.3.4 && < 2.7.1 && <= 1.1.2 && >= 6.2.1 && >= 7.6.5 && <= 7.6.5 ) || ( < 6.8.3 && <= 5.6.3 && < 5.6.1 && < 4.4.8 && < 3.2.2 && < 6.1.3 && > 6.6.1 && == 6.8.6 ) || ( < 2.4.1 && >= 3.1.6 && <= 6.2.8 && <= 3.1.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:jwqoyf"+                                    },+                                    "( > 2.1.1 && == 5.1.5 ) || ( >= 2.6.1 && == 4.2.1 && == 2.6.5 )": {+                                        "dlHash": "qp",+                                        "dlSubdir": "<\u001ch",+                                        "dlUri": "http:ph"+                                    },+                                    "( > 8.5.4 && <= 1.1.6 && >= 4.6.3 && < 3.1.3 )": {+                                        "dlHash": "yh",+                                        "dlSubdir": {+                                            "RegexDir": "\"\n"+                                        },+                                        "dlUri": "https:mwkddafr"+                                    },+                                    "( >= 3.7.2 && < 3.5.1 && == 8.4.8 && <= 3.1.3 && < 4.4.3 && == 5.1.3 && > 4.3.3 && == 5.5.1 && == 5.3.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": "JJ\t\u000ec4\u001fU",+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_Debian": {+                                    "( < 6.1.7 && < 3.5.7 )": {+                                        "dlHash": "fh",+                                        "dlSubdir": "Y𑶠|",+                                        "dlUri": "http:nsq"+                                    },+                                    "( == 3.8.3 && > 2.8.7 && <= 7.5.2 )": {+                                        "dlHash": "tlywl",+                                        "dlSubdir": "𘠫\u00027\u0011􋪑",+                                        "dlUri": "http:tksugex"+                                    },+                                    "( == 6.4.5 && > 4.8.6 && > 5.5.5 ) || ( <= 6.4.2 && <= 1.1.7 && <= 7.5.8 && == 1.2.7 && <= 1.6.2 && > 6.4.8 && >= 3.8.4 && >= 7.7.6 )": {+                                        "dlHash": "kahlv",+                                        "dlSubdir": {+                                            "RegexDir": ";"+                                        },+                                        "dlUri": "https:ddf"+                                    },+                                    "( > 3.7.2 && >= 6.8.8 && < 5.5.4 && <= 1.2.5 && >= 1.4.6 && > 5.2.1 && < 1.3.2 && <= 3.6.9 )": {+                                        "dlHash": "d",+                                        "dlSubdir": {+                                            "RegexDir": "󲠔b7󳝆x"+                                        },+                                        "dlUri": "https:hvhadvpp"+                                    }+                                },+                                "Windows": {+                                    "( <= 2.1.5 && <= 4.1.4 && > 3.5.2 && >= 7.4.9 ) || ( < 5.4.6 && == 6.6.7 && <= 6.4.4 )": {+                                        "dlHash": "ahcwf",+                                        "dlSubdir": {+                                            "RegexDir": "𡓖􇾗\u0011\n9-"+                                        },+                                        "dlUri": "https:jzn"+                                    },+                                    "( <= 8.3.5 && >= 8.2.7 && >= 6.6.1 && > 6.4.7 && == 2.4.7 && > 3.2.3 ) || ( == 8.8.4 && <= 7.8.5 && >= 3.7.7 && == 5.1.2 && >= 5.8.2 && <= 7.8.6 && <= 2.4.6 ) || ( < 6.5.7 && <= 8.3.4 && >= 7.8.3 && < 6.7.3 && >= 6.3.4 ) || ( >= 4.5.1 && > 7.4.8 ) || ( <= 6.3.1 && < 5.4.2 && > 2.6.5 && <= 3.1.2 && >= 6.6.1 && <= 7.5.8 && == 8.6.6 && < 8.8.3 ) || ( >= 7.3.4 && <= 8.7.2 && <= 6.8.1 && > 7.5.8 && > 7.4.1 && >= 1.7.3 && <= 3.1.3 ) || ( <= 1.6.1 && > 2.3.5 && <= 8.4.4 && >= 4.8.3 && >= 8.5.4 ) || ( == 2.3.6 && <= 3.4.6 ) || ( < 6.7.8 && <= 8.8.8 && > 5.7.3 )": {+                                        "dlHash": "aaupe",+                                        "dlSubdir": {+                                            "RegexDir": "󼋇"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( == 3.6.4 && > 5.2.2 && <= 6.3.8 ) || ( < 8.8.7 && > 7.6.2 && >= 5.4.7 )": {+                                        "dlHash": "cgffxchv",+                                        "dlSubdir": "Up󴮘",+                                        "dlUri": "http:rab"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Windows": {+                                    "( < 3.2.1 && < 2.2.2 )": {+                                        "dlHash": "d",+                                        "dlSubdir": {+                                            "RegexDir": "Fx𐢨6\u0004{En"+                                        },+                                        "dlUri": "https:jvdpt"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 1.7.2 && >= 8.6.7 && > 6.2.8 ) || ( < 7.5.5 && <= 4.1.2 && < 7.7.6 && >= 2.7.7 )": {+                                        "dlHash": "drpolxtq",+                                        "dlSubdir": {+                                            "RegexDir": "?42𪯜'`"+                                        },+                                        "dlUri": "http:td"+                                    },+                                    "( >= 1.7.8 ) || ( < 8.3.5 && >= 4.2.3 && == 4.5.8 && < 3.6.1 )": {+                                        "dlHash": "pekvm",+                                        "dlSubdir": {+                                            "RegexDir": "\u0003\u0005\u000b𨰇0|"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( >= 7.2.1 && >= 4.9.4 && <= 6.6.2 && < 8.6.1 && <= 7.3.6 && >= 1.4.1 && == 1.5.1 && >= 3.8.7 ) || ( < 7.4.6 && > 4.6.4 && >= 2.1.6 )": {+                                        "dlHash": "gqeotyo",+                                        "dlSubdir": "%!_",+                                        "dlUri": "http:oj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "𥳒\u0014S􆀕\u0004􀼠\u001c",+                                        "dlUri": "http:uuq"+                                    }+                                },+                                "FreeBSD": {+                                    "( == 7.3.1 && > 8.2.6 && == 8.10.1 && <= 3.7.7 && == 3.2.5 && < 2.4.5 && > 2.2.2 && <= 4.1.5 )": {+                                        "dlHash": "puog",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:ebnp"+                                    },+                                    "( >= 5.2.7 && <= 2.4.6 && <= 1.1.3 && <= 3.5.8 && >= 2.8.1 && > 7.2.5 && >= 5.2.4 ) || ( >= 3.1.3 && >= 1.3.4 && < 5.1.2 && >= 2.7.8 && == 2.2.2 && > 7.3.3 && <= 7.7.7 ) || ( == 3.1.6 )": {+                                        "dlHash": "phkfvhsv",+                                        "dlSubdir": null,+                                        "dlUri": "https:osimbv"+                                    },+                                    "( >= 6.7.1 && >= 3.4.4 && <= 3.8.2 && <= 5.8.8 ) || ( <= 2.6.3 && == 2.4.6 && < 2.8.7 && < 8.2.3 && <= 6.4.1 && > 1.2.1 && >= 1.3.6 ) || ( <= 8.8.8 && < 7.3.1 && < 4.6.6 && == 1.5.4 && <= 8.7.1 && == 1.8.1 && >= 3.8.5 && == 7.2.6 ) || ( >= 7.2.4 && < 1.4.4 && <= 1.6.1 && <= 1.3.2 && < 7.3.8 && >= 6.5.5 && <= 5.6.1 )": {+                                        "dlHash": "rz",+                                        "dlSubdir": {+                                            "RegexDir": "\u0006𫮚𣱗"+                                        },+                                        "dlUri": "https:u"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "oftrpiyv",+                                        "dlSubdir": "=k􋝤G󸀳$",+                                        "dlUri": "https:smqfx"+                                    }+                                },+                                "Linux_Ubuntu": {+                                    "( < 2.3.2 && > 7.5.8 && < 6.7.8 && > 8.7.2 && >= 2.7.2 )": {+                                        "dlHash": "jv",+                                        "dlSubdir": null,+                                        "dlUri": "https:tjev"+                                    },+                                    "( < 3.3.5 && == 1.2.6 && == 7.4.2 && < 8.7.2 )": {+                                        "dlHash": "uiqrfbw",+                                        "dlSubdir": "|(V",+                                        "dlUri": "http:exa"+                                    },+                                    "( < 6.4.8 && > 5.3.4 && < 5.1.8 && >= 2.3.6 && <= 8.3.7 )": {+                                        "dlHash": "nhni",+                                        "dlSubdir": {+                                            "RegexDir": "\u0012𤳐N𢞶6􈄷,M"+                                        },+                                        "dlUri": "https:ihop"+                                    },+                                    "( < 7.6.5 && > 9.4.5 && > 4.4.6 && > 2.8.3 && <= 1.8.3 && > 8.8.1 && >= 5.1.5 && <= 7.4.7 && >= 2.1.8 )": {+                                        "dlHash": "hpxs",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( <= 1.2.2 && < 7.4.6 ) || ( > 1.7.4 && > 5.3.3 && >= 4.1.7 && == 5.8.5 && < 2.4.3 ) || ( == 1.2.8 ) || ( < 8.2.8 && >= 4.2.4 && == 5.3.8 && > 5.7.2 && >= 6.6.7 ) || ( > 2.7.6 && < 1.4.5 && == 1.8.2 && == 8.4.8 && > 3.2.3 )": {+                                        "dlHash": "yxlmduc",+                                        "dlSubdir": {+                                            "RegexDir": "\r󸿰󵧷iG0"+                                        },+                                        "dlUri": "https:ifbsqd"+                                    },+                                    "( == 4.6.1 && <= 4.7.1 && > 5.3.5 && <= 3.6.6 ) || ( > 1.1.5 && > 5.5.3 && <= 6.7.2 && <= 2.4.5 && > 2.1.6 && >= 8.6.1 && > 6.1.1 && < 5.5.3 ) || ( <= 1.4.2 ) || ( < 1.1.1 && < 6.8.8 && < 5.8.8 && <= 6.6.6 && <= 6.6.8 && <= 2.7.2 && < 1.8.6 && > 1.2.1 ) || ( <= 1.7.2 && > 7.1.2 && < 2.6.7 && <= 3.5.7 && > 5.7.3 && == 1.4.3 ) || ( > 4.2.2 && <= 9.6.8 && > 4.5.8 && > 8.1.1 && >= 6.4.3 && < 4.9.8 && > 4.2.8 && < 4.1.7 && >= 1.4.7 ) || ( <= 5.4.5 )": {+                                        "dlHash": "mfajsov",+                                        "dlSubdir": "|峖}㷞𪘘4􌨒",+                                        "dlUri": "https:tzp"+                                    },+                                    "( > 6.8.1 && == 3.6.1 && == 9.2.3 )": {+                                        "dlHash": "v",+                                        "dlSubdir": {+                                            "RegexDir": "|."+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( >= 3.2.5 )": {+                                        "dlHash": "fe",+                                        "dlSubdir": null,+                                        "dlUri": "https:pogqw"+                                    }+                                },+                                "Windows": {+                                    "( <= 4.6.5 && > 2.1.2 && == 8.5.3 )": {+                                        "dlHash": "xaz",+                                        "dlSubdir": null,+                                        "dlUri": "https:ph"+                                    },+                                    "( == 8.1.7 && > 1.5.1 && >= 8.2.1 && <= 8.6.2 && >= 3.2.4 && < 2.6.7 && <= 5.5.5 ) || ( >= 8.1.5 && <= 6.2.2 && == 8.1.5 && > 6.4.2 && <= 1.3.8 && < 7.1.7 && < 1.4.7 && <= 4.7.4 && >= 3.1.4 ) || ( <= 5.4.8 && <= 3.3.4 )": {+                                        "dlHash": "h",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( > 6.2.6 && < 4.2.6 && < 4.2.3 && >= 7.1.1 && > 8.7.7 && >= 4.7.6 && < 7.1.8 && >= 8.3.1 ) || ( < 6.5.4 && >= 4.8.4 && <= 3.3.3 && == 8.4.7 && <= 2.6.2 ) || ( > 2.7.2 && >= 8.7.4 && <= 3.2.8 && > 4.5.6 && < 5.3.7 && < 3.3.6 && > 7.5.4 && > 1.3.8 && <= 4.8.8 ) || ( > 8.4.6 && > 2.5.8 && < 7.8.2 && <= 7.5.5 && == 5.5.4 && <= 1.5.1 && >= 1.4.2 && == 3.8.3 ) || ( >= 8.2.3 && < 3.7.6 && <= 5.5.8 && > 2.3.2 && <= 5.8.3 && == 3.2.1 && < 1.5.3 && == 7.6.7 && == 4.4.8 ) || ( == 3.8.6 && < 2.3.6 && == 5.7.3 && == 1.1.1 && >= 1.2.1 && < 1.2.1 && > 5.2.5 && < 8.2.2 && <= 1.3.9 )": {+                                        "dlHash": "aun",+                                        "dlSubdir": "\u0014",+                                        "dlUri": "https:vyh"+                                    },+                                    "( >= 7.6.1 && >= 6.8.3 && <= 5.4.6 && > 7.7.3 && >= 4.2.2 && >= 4.5.2 && == 2.5.3 && < 5.2.4 ) || ( <= 5.1.7 && == 8.5.4 && < 8.8.2 && >= 8.8.2 && <= 1.2.4 && > 7.8.4 && <= 5.2.1 && == 1.8.6 )": {+                                        "dlHash": "xcztgbln",+                                        "dlSubdir": "G\u0017㈳",+                                        "dlUri": "https:ee"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "e",+                                        "dlSubdir": "",+                                        "dlUri": "https:jgwkqwtr"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:lkbs",+                        "viPostInstall": "ocvjmosz",+                        "viPostRemove": "b",+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "jo",+                            "dlSubdir": {+                                "RegexDir": "󾷇>\u000b"+                            },+                            "dlUri": "http:qvxkdkm"+                        },+                        "viTags": [+                            "Prerelease",+                            "Prerelease",+                            "%󵠣R灡𑈃pS",+                            "Latest"+                        ]+                    }+                }+            },+            "globalTools": {+                "ShimGen": {+                    "dlHash": "klhtnqpbmfgiduwrvzmgzupwgmc",+                    "dlSubdir": null,+                    "dlUri": "https:tvaqj"+                }+            },+            "toolRequirements": {+                "HLS": {+                    "2.6.9": {+                        "Linux_CentOS": {+                            "( <= 3.7.3 && > 8.1.3 && == 5.8.1 && > 2.8.4 && < 2.5.2 && <= 1.5.3 && < 1.6.5 && <= 5.5.8 )": {+                                "distroPKGs": [+                                    "wirvs",+                                    "gq",+                                    "uutgyger"+                                ],+                                "notes": "lpkr"+                            }+                        }+                    },+                    "4.2.1": {+                        "FreeBSD": {+                            "( < 7.2.7 && >= 1.8.5 && > 5.2.1 && >= 7.6.1 && >= 2.5.8 && < 7.2.5 )": {+                                "distroPKGs": [+                                    "ez",+                                    "cwpd",+                                    "so",+                                    "jory"+                                ],+                                "notes": "kcxli"+                            },+                            "( == 1.1.2 && == 5.8.7 && >= 1.2.1 && <= 8.6.3 )": {+                                "distroPKGs": [+                                    "jbnm",+                                    "lrwdfm",+                                    "phzq",+                                    "lnumqp",+                                    "plfni"+                                ],+                                "notes": "ik"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "crcrrqm",+                                    "sdtaay",+                                    "t",+                                    "hwklejk"+                                ],+                                "notes": "p"+                            }+                        }+                    },+                    "4.4.6": {+                        "Darwin": {+                            "( < 3.1.5 )": {+                                "distroPKGs": [+                                    "akstmo"+                                ],+                                "notes": "n"+                            },+                            "( <= 5.8.2 && <= 7.5.3 && > 4.7.2 && <= 5.7.6 && >= 6.7.4 && > 4.6.1 && > 2.6.3 && == 5.6.6 && < 2.8.7 ) || ( == 1.9.4 && >= 6.6.2 && >= 4.6.8 && >= 6.8.3 && > 6.1.8 ) || ( > 7.6.8 ) || ( > 8.5.5 && == 5.1.7 ) || ( == 2.5.7 && <= 4.6.3 && > 6.1.6 && >= 7.8.8 && == 1.8.4 ) || ( == 6.8.6 && == 2.8.5 && == 1.2.3 && > 8.2.4 && >= 5.6.3 && == 5.2.7 && < 7.8.2 && == 3.3.8 && == 4.3.2 )": {+                                "distroPKGs": [+                                    "rwgny",+                                    "nxuevo",+                                    "",+                                    "zq"+                                ],+                                "notes": "hhurntm"+                            },+                            "( <= 6.7.4 && <= 6.4.1 && <= 3.1.8 && >= 3.4.8 && <= 1.7.2 )": {+                                "distroPKGs": [+                                    "dmm",+                                    "bxi",+                                    "bmyosi",+                                    "nqmse",+                                    "fqcgru",+                                    "qa"+                                ],+                                "notes": "d"+                            },+                            "( == 2.1.5 && < 9.8.6 && == 7.3.8 && <= 3.4.3 && < 2.7.5 && >= 8.7.8 && > 8.4.6 && > 4.5.3 && > 2.8.6 )": {+                                "distroPKGs": [+                                    "ma",+                                    "zob",+                                    "j",+                                    "lbfsj",+                                    "bebobpqr",+                                    "dwcv",+                                    ""+                                ],+                                "notes": "cbcf"+                            },+                            "( == 3.5.1 && > 2.3.7 && == 5.4.3 && < 2.6.1 && <= 2.2.3 && <= 6.4.8 && == 8.3.1 )": {+                                "distroPKGs": [+                                    "ejjtbxp",+                                    "kpsab",+                                    "nlmyp",+                                    "zrepqiyc",+                                    "",+                                    "l"+                                ],+                                "notes": "atywoot"+                            },+                            "( == 6.4.4 && == 1.4.6 && == 7.7.3 && <= 8.7.3 && == 3.4.5 && < 5.3.8 && == 7.8.8 && >= 4.1.7 ) || ( > 5.5.8 && <= 7.3.6 && <= 1.4.4 && <= 1.4.2 && > 2.2.2 ) || ( <= 6.3.8 && >= 1.4.8 && == 3.2.2 && > 8.3.7 && > 2.1.8 && == 7.2.5 ) || ( == 1.7.8 ) || ( == 3.4.3 && <= 6.8.6 && >= 2.3.2 && >= 5.7.6 && > 3.6.4 && > 2.5.4 && >= 1.3.3 && < 4.2.2 && == 8.5.6 ) || ( > 4.3.8 ) || ( >= 1.5.7 && > 5.7.2 && > 8.2.8 && == 7.7.6 && > 6.8.4 && > 1.3.8 && == 8.7.3 ) || ( <= 3.2.1 && > 8.4.3 && == 1.2.2 && < 3.4.3 && < 1.6.1 )": {+                                "distroPKGs": [+                                    "agdiyds",+                                    "mwhqlxj",+                                    "zi",+                                    "ftoucr"+                                ],+                                "notes": "yaw"+                            },+                            "( > 8.7.8 && < 8.7.1 && > 4.7.5 && < 6.3.1 && > 1.1.2 && >= 4.3.3 && >= 8.8.5 )": {+                                "distroPKGs": [],+                                "notes": "h"+                            }+                        },+                        "FreeBSD": {+                            "( < 2.3.3 && >= 7.1.3 && >= 4.1.3 && > 9.3.3 && >= 5.6.3 && <= 4.1.7 )": {+                                "distroPKGs": [+                                    "f",+                                    "asozbk",+                                    "b",+                                    "ummxn",+                                    "upkwzdqf",+                                    ""+                                ],+                                "notes": "ucffxs"+                            },+                            "( < 2.7.2 && < 6.7.2 && >= 6.3.4 && < 8.6.8 && >= 7.1.7 && <= 6.3.4 && < 6.3.3 && >= 7.4.4 && == 6.8.2 )": {+                                "distroPKGs": [+                                    "",+                                    "cb",+                                    "rpozzj",+                                    "jxygirfn",+                                    "",+                                    "borz"+                                ],+                                "notes": "khxeo"+                            },+                            "( == 1.2.1 && < 2.1.5 && == 3.1.8 && < 4.5.7 && < 7.7.3 ) || ( > 2.5.8 ) || ( > 4.6.1 && > 2.4.7 && == 3.1.2 ) || ( > 8.8.8 && == 6.1.5 && <= 4.4.7 && == 2.8.8 && < 7.8.2 && == 1.6.7 )": {+                                "distroPKGs": [+                                    "l",+                                    "uqzct",+                                    "md",+                                    "rfzjv"+                                ],+                                "notes": "kquino"+                            },+                            "( == 1.5.3 && > 4.8.4 && <= 1.4.6 && > 5.6.1 && == 3.6.7 && == 4.2.6 && == 6.7.4 && == 5.2.6 ) || ( < 4.1.3 && >= 1.8.5 && <= 9.7.5 && <= 7.2.1 && > 7.3.2 && <= 5.7.1 ) || ( == 2.1.4 && == 6.2.5 && == 5.3.8 && > 8.3.3 && == 1.2.2 && >= 6.1.6 && <= 8.8.1 && >= 3.3.2 && == 6.7.2 ) || ( > 8.6.3 && < 6.4.7 && > 8.3.1 && > 4.6.5 && > 5.5.1 && > 3.4.6 && >= 4.2.8 ) || ( == 1.4.6 && == 8.5.5 && <= 6.5.5 && < 7.1.4 && > 4.5.3 && >= 2.7.5 && > 8.4.4 )": {+                                "distroPKGs": [+                                    "wkeluhb",+                                    "giseovf",+                                    "famosezn",+                                    "oaw",+                                    "dpwjcpu"+                                ],+                                "notes": "ucgalle"+                            },+                            "( == 3.7.1 && < 2.7.5 && < 8.6.7 && < 4.1.1 && < 6.8.3 && >= 6.1.1 && >= 5.4.2 ) || ( == 1.5.3 )": {+                                "distroPKGs": [],+                                "notes": "h"+                            },+                            "( >= 7.1.7 && >= 1.1.2 && >= 5.4.8 && == 3.6.2 && <= 7.1.7 && == 7.7.8 && == 7.4.1 ) || ( == 6.6.5 && >= 8.3.7 && <= 6.2.1 )": {+                                "distroPKGs": [+                                    "a",+                                    "vp"+                                ],+                                "notes": "b"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "nzscbd",+                                    "nysx",+                                    "yejurp",+                                    "vsf",+                                    "znhyxda",+                                    "jeev"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_AmazonLinux": {+                            "( < 4.2.7 && >= 7.2.1 && <= 4.7.5 && > 6.6.6 && < 3.6.2 && > 5.8.2 )": {+                                "distroPKGs": [+                                    "azrlxw",+                                    "h",+                                    "tchk"+                                ],+                                "notes": "ql"+                            },+                            "( >= 2.6.7 && >= 1.1.5 && < 7.6.4 && == 8.4.6 && < 7.5.4 )": {+                                "distroPKGs": [+                                    "kizgzmo",+                                    "dmznhcm",+                                    "su",+                                    "dyn",+                                    "dpilob",+                                    "gyry"+                                ],+                                "notes": "lxbsmwe"+                            },+                            "( >= 4.8.8 && >= 4.2.2 && == 2.7.6 && == 6.4.8 && == 3.7.4 ) || ( <= 6.5.8 )": {+                                "distroPKGs": [+                                    "zj",+                                    "w",+                                    "ox",+                                    "dn",+                                    "mokjnrs",+                                    "aghl",+                                    "zdhp"+                                ],+                                "notes": "hcvvin"+                            },+                            "( >= 5.5.2 ) || ( <= 4.6.3 )": {+                                "distroPKGs": [+                                    "aquei",+                                    "pn",+                                    "snj",+                                    "eboybndj",+                                    "yqhzlk",+                                    "bs"+                                ],+                                "notes": "jpscotgr"+                            },+                            "( >= 6.4.5 && == 2.6.8 && <= 8.5.7 && == 2.5.4 && == 2.2.1 && <= 8.2.8 && > 2.1.4 )": {+                                "distroPKGs": [+                                    "fega"+                                ],+                                "notes": "t"+                            },+                            "( >= 8.3.8 && < 2.6.7 && < 6.3.5 && <= 8.8.3 && < 7.1.6 )": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": "sd"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "jso",+                                    "kkld",+                                    "nccxwi",+                                    "po",+                                    "bj"+                                ],+                                "notes": "zefdmicl"+                            }+                        },+                        "Windows": {+                            "( < 2.2.5 && < 3.6.3 && < 2.2.1 && == 4.7.6 && < 4.5.7 && == 4.6.3 )": {+                                "distroPKGs": [+                                    "xdoqizf"+                                ],+                                "notes": "rsi"+                            },+                            "( == 2.5.7 && < 4.8.5 && >= 1.6.7 && == 5.8.7 && == 3.7.4 && < 7.5.6 )": {+                                "distroPKGs": [],+                                "notes": ""+                            },+                            "( == 6.6.2 && > 8.2.5 && == 6.2.6 && > 1.5.3 && <= 6.5.9 && < 7.2.5 && == 4.3.3 )": {+                                "distroPKGs": [+                                    "q",+                                    "sededmi",+                                    "wtdjel",+                                    "",+                                    "ycuunpwv",+                                    "xu",+                                    "hvhoozza"+                                ],+                                "notes": ""+                            },+                            "( > 2.6.3 && < 3.1.6 && < 4.2.3 && < 4.4.6 && <= 6.6.6 && <= 8.3.7 )": {+                                "distroPKGs": [+                                    "xk",+                                    "tj",+                                    "apibg",+                                    "vtkv"+                                ],+                                "notes": "u"+                            },+                            "( >= 4.6.3 && > 4.2.6 && <= 3.8.1 && > 1.7.4 && >= 6.8.5 && >= 3.7.6 && > 3.6.7 )": {+                                "distroPKGs": [+                                    "",+                                    "dkwycdq",+                                    "mri",+                                    "yhc",+                                    "zzyhkq",+                                    "naefngl",+                                    "",+                                    ""+                                ],+                                "notes": "tr"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "f",+                                    "d",+                                    "ynjdzpx",+                                    "tls",+                                    "qb"+                                ],+                                "notes": "vizfzbqv"+                            }+                        }+                    },+                    "4.4.7": {+                        "Windows": {+                            "( < 6.7.7 && >= 2.7.8 && <= 7.5.1 && < 2.5.2 && >= 5.9.8 && >= 6.1.4 && >= 6.6.3 && >= 5.6.2 ) || ( < 1.3.8 && <= 4.5.8 && <= 5.7.1 && > 7.7.1 && < 4.3.7 && < 3.1.5 && < 3.7.6 && > 3.2.6 ) || ( <= 8.3.7 && >= 8.4.6 && >= 3.2.2 && == 8.1.1 && > 5.1.3 && >= 8.7.8 && == 5.8.1 && <= 2.4.4 && >= 6.5.3 ) || ( <= 6.7.8 && >= 7.7.2 && < 5.3.8 && >= 1.5.8 && < 5.3.3 && <= 5.2.1 && < 5.2.3 && > 8.4.8 && == 6.4.5 )": {+                                "distroPKGs": [+                                    "nskluq",+                                    "irxkqesp",+                                    "uerkjx",+                                    "ymhwpos",+                                    "xrku",+                                    "zwh"+                                ],+                                "notes": ""+                            },+                            "( <= 3.2.1 && < 2.1.4 )": {+                                "distroPKGs": [+                                    "e",+                                    "vmfh"+                                ],+                                "notes": "prsgeyvq"+                            },+                            "( > 6.6.1 && >= 7.7.6 && <= 7.3.3 && == 1.1.1 && < 7.3.3 && < 3.5.5 )": {+                                "distroPKGs": [+                                    "",+                                    "hxiurhbl",+                                    "dqfhp",+                                    "irtv",+                                    "bsbnkzj"+                                ],+                                "notes": "zuum"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "zwly",+                                    "uy",+                                    "mgd",+                                    "fd",+                                    "gr",+                                    "a",+                                    "npcccgbq",+                                    "nldzw"+                                ],+                                "notes": "chth"+                            }+                        }+                    },+                    "4.7.6": {+                        "Darwin": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "wgbezy",+                                    "aaw",+                                    "cgwao",+                                    "hxq",+                                    "m",+                                    "oht",+                                    "ienz",+                                    "a"+                                ],+                                "notes": "ml"+                            }+                        },+                        "FreeBSD": {+                            "( == 6.8.8 && < 1.2.4 && > 2.6.4 ) || ( > 2.1.2 && >= 3.1.7 && >= 9.2.6 )": {+                                "distroPKGs": [+                                    "jly",+                                    "ov"+                                ],+                                "notes": "etfad"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "j",+                                    "eabpp",+                                    "ribldfq",+                                    "xopdlh",+                                    "kmzjng",+                                    "kv"+                                ],+                                "notes": "khx"+                            }+                        },+                        "Linux_Alpine": {+                            "( < 1.4.6 && < 6.6.1 )": {+                                "distroPKGs": [+                                    "rxprewfv",+                                    "gi",+                                    "ebjjn",+                                    "cra"+                                ],+                                "notes": "hcutvfg"+                            },+                            "( < 6.6.7 && <= 5.2.8 )": {+                                "distroPKGs": [+                                    "dpc",+                                    "",+                                    "pjll",+                                    "",+                                    "seye"+                                ],+                                "notes": "jx"+                            },+                            "( < 6.6.8 && > 7.3.8 && < 6.6.7 ) || ( <= 6.5.1 && == 1.5.3 && <= 8.8.7 && < 5.5.3 && <= 3.2.4 && == 3.4.1 && >= 5.8.7 && > 6.8.1 ) || ( <= 3.3.8 && >= 2.7.3 && > 9.2.4 && == 1.6.5 )": {+                                "distroPKGs": [+                                    "fog",+                                    "abvht",+                                    "snxcwz",+                                    "",+                                    "cynjlc",+                                    "dxv",+                                    "fhnpul",+                                    "iacqocc"+                                ],+                                "notes": "xwbdinll"+                            },+                            "( <= 5.5.6 && >= 7.1.8 && < 7.7.5 ) || ( == 6.3.5 && <= 7.5.6 && < 2.5.1 && > 6.7.4 && <= 8.7.6 && < 7.5.9 && > 5.1.6 && == 6.1.6 && == 7.3.4 ) || ( < 6.1.4 && <= 7.1.5 && == 5.4.3 && > 3.2.3 && > 8.1.1 && < 8.8.6 ) || ( < 6.6.2 && > 7.7.3 )": {+                                "distroPKGs": [+                                    "xtzhlgds"+                                ],+                                "notes": "mmchv"+                            },+                            "( == 2.1.2 && >= 3.5.2 && >= 1.4.1 && > 3.7.1 && < 2.1.3 && >= 4.8.7 && > 4.1.2 )": {+                                "distroPKGs": [],+                                "notes": "ak"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "qwlcbnev"+                                ],+                                "notes": "gqhxexjp"+                            }+                        },+                        "Linux_CentOS": {+                            "( < 4.7.2 && <= 1.3.5 && <= 8.4.2 && == 2.5.5 && < 8.1.2 && >= 6.8.2 && >= 1.6.8 )": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": "vr"+                            },+                            "( < 5.5.2 && >= 5.7.1 && > 4.5.2 && == 5.6.4 && > 1.2.2 && >= 5.1.5 )": {+                                "distroPKGs": [+                                    "fgr",+                                    "comgnpzo",+                                    "iw",+                                    "vhmspa"+                                ],+                                "notes": "wo"+                            },+                            "( < 8.8.1 && <= 8.4.3 && == 8.1.1 && > 5.1.1 && >= 8.2.2 && < 3.2.3 && < 6.4.8 ) || ( > 8.8.7 && == 6.1.7 && < 7.7.5 && == 6.7.8 && > 4.5.1 && > 4.3.2 && <= 6.8.1 && < 1.4.7 )": {+                                "distroPKGs": [+                                    "cwcczif",+                                    "ngg",+                                    "kv",+                                    "f"+                                ],+                                "notes": ""+                            },+                            "( <= 3.3.2 && < 7.7.8 && == 8.7.4 && >= 8.6.4 && == 7.8.8 )": {+                                "distroPKGs": [+                                    "khak",+                                    "pm",+                                    "ez",+                                    "yvpxhmq",+                                    "yiymbpzs",+                                    "dq",+                                    "ybb"+                                ],+                                "notes": "ganr"+                            },+                            "( == 1.2.8 && >= 4.6.4 ) || ( < 3.1.6 && < 2.3.8 && <= 4.3.3 && >= 6.2.9 && >= 7.1.2 && <= 8.6.8 && == 2.6.1 ) || ( == 3.3.5 && < 6.6.2 && <= 3.1.4 && >= 1.6.7 && > 2.1.2 ) || ( < 2.8.1 && == 3.5.4 && <= 1.2.8 && >= 4.4.2 && > 3.7.7 && >= 3.4.9 && > 4.1.6 && <= 1.1.5 ) || ( >= 1.7.8 && <= 8.7.6 && == 7.8.1 && >= 4.3.1 )": {+                                "distroPKGs": [+                                    "pukbsyqg",+                                    "hvkoinnw",+                                    "l",+                                    "qx"+                                ],+                                "notes": "cuja"+                            },+                            "( == 4.4.4 && >= 5.1.4 && < 2.6.5 && == 7.8.6 )": {+                                "distroPKGs": [+                                    "cvlx",+                                    "kxzu",+                                    "uoqf"+                                ],+                                "notes": "qef"+                            },+                            "( > 8.7.4 && < 7.6.4 ) || ( < 2.8.7 && == 4.8.7 && >= 4.5.2 && <= 6.5.5 && == 7.3.6 && == 1.4.5 )": {+                                "distroPKGs": [+                                    "ttnepvsp",+                                    "",+                                    "qestrgg",+                                    "of"+                                ],+                                "notes": "f"+                            }+                        },+                        "Windows": {+                            "( < 4.6.1 && < 5.6.3 && >= 1.7.6 )": {+                                "distroPKGs": [+                                    "yzt",+                                    "wrwx",+                                    "nbm",+                                    "yt"+                                ],+                                "notes": "peycffn"+                            },+                            "( == 8.4.5 && <= 3.2.4 && < 5.3.1 && == 9.6.5 && > 8.1.2 && >= 2.3.2 ) || ( >= 6.3.8 && <= 3.1.3 && >= 1.1.7 && == 5.6.7 && >= 4.8.4 && < 2.5.8 && < 9.5.7 && > 1.3.3 )": {+                                "distroPKGs": [+                                    "leym",+                                    "sppllv"+                                ],+                                "notes": "ycjhs"+                            },+                            "( > 8.5.1 && >= 1.4.7 && == 1.1.6 && == 8.5.1 ) || ( < 1.3.5 && <= 6.6.2 && > 4.8.5 && <= 1.1.1 && > 6.6.1 && > 6.2.3 ) || ( < 2.8.4 && == 4.8.3 && == 5.1.4 && > 6.5.8 && == 6.8.3 && < 7.6.6 )": {+                                "distroPKGs": [+                                    "",+                                    "nao",+                                    "gptlbuz",+                                    "kf",+                                    "g",+                                    "zsflyg",+                                    "gk",+                                    "ntqvszc"+                                ],+                                "notes": "mtiphl"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "tx",+                                    "inmw",+                                    "",+                                    "vifjw",+                                    "m"+                                ],+                                "notes": "iiyihow"+                            }+                        }+                    },+                    "5.1.4": {+                        "FreeBSD": {+                            "( < 7.3.6 && < 6.1.3 && < 1.1.8 && == 1.2.1 && <= 5.4.4 && == 6.2.5 && > 2.1.1 && >= 8.7.1 && <= 4.9.8 )": {+                                "distroPKGs": [+                                    "vm",+                                    "iyzp",+                                    "zfy",+                                    "",+                                    ""+                                ],+                                "notes": "agku"+                            },+                            "( <= 4.3.4 && < 4.7.4 && >= 5.7.1 )": {+                                "distroPKGs": [+                                    "mu",+                                    "",+                                    "lfnyo",+                                    "",+                                    "mkme"+                                ],+                                "notes": "adn"+                            },+                            "( <= 7.5.7 && == 8.8.1 )": {+                                "distroPKGs": [+                                    "micrru",+                                    "uwnmeqko"+                                ],+                                "notes": "ovpeoh"+                            },+                            "( == 6.10.3 && <= 7.8.6 && < 1.7.6 && <= 8.6.8 && < 8.3.8 ) || ( <= 7.6.8 && == 4.6.8 && >= 3.4.5 && > 8.3.1 && > 2.6.7 && >= 7.2.4 && == 5.3.3 ) || ( > 8.3.4 && == 5.3.4 && <= 2.1.7 && == 5.5.3 && >= 5.1.8 && == 3.3.1 && >= 4.1.3 )": {+                                "distroPKGs": [+                                    "djmpss",+                                    "abh",+                                    "fqvmfis",+                                    "t",+                                    "xaxr"+                                ],+                                "notes": ""+                            },+                            "( > 4.6.2 && == 6.7.1 )": {+                                "distroPKGs": [+                                    "grnj",+                                    "g",+                                    "",+                                    "",+                                    "jcqcuxq",+                                    "uyagfsvz",+                                    "oivajoec",+                                    "xujy"+                                ],+                                "notes": "wwjq"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "pimdo",+                                    "fnf",+                                    "lwii",+                                    "ut",+                                    "v"+                                ],+                                "notes": "zscajjj"+                            }+                        },+                        "Linux_Alpine": {+                            "( == 5.3.4 && == 1.2.7 && > 2.3.2 && <= 3.2.8 && <= 2.8.6 && > 6.3.6 && <= 8.4.3 )": {+                                "distroPKGs": [+                                    "sphikwtl",+                                    "zeyjmy"+                                ],+                                "notes": "fdju"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "mj"+                            }+                        },+                        "Linux_CentOS": {+                            "( < 1.2.7 && == 8.4.1 && == 5.4.7 && == 3.2.7 && < 7.8.7 ) || ( <= 4.5.1 && >= 2.8.7 && >= 4.4.8 && == 5.7.2 && > 3.3.4 && > 9.3.6 ) || ( == 4.4.8 && > 4.2.3 && > 5.7.8 && <= 5.4.4 && == 5.4.1 && > 3.3.8 )": {+                                "distroPKGs": [+                                    "iioq",+                                    "stzw",+                                    "yfyhh"+                                ],+                                "notes": "yzbes"+                            },+                            "( <= 3.1.7 && > 3.8.7 && > 9.1.5 && > 1.5.1 && <= 4.7.2 && == 1.5.6 && > 8.5.8 && == 4.1.4 && <= 3.4.6 )": {+                                "distroPKGs": [+                                    "cfvb"+                                ],+                                "notes": "bymqimbe"+                            },+                            "( > 1.4.1 && == 7.4.2 && >= 2.4.5 && < 3.5.5 )": {+                                "distroPKGs": [+                                    "odmuij",+                                    "np",+                                    "xzfu",+                                    "krq",+                                    "uc",+                                    "etkkxnll",+                                    "ewse"+                                ],+                                "notes": "m"+                            },+                            "( > 6.3.2 && == 1.1.2 && > 5.5.8 && <= 2.7.7 && > 7.3.9 && > 7.6.8 && >= 1.1.5 && > 5.3.2 && > 1.4.2 )": {+                                "distroPKGs": [+                                    "opdf",+                                    "dgvbvpn",+                                    "cdjh",+                                    "aqwspzk",+                                    "xbta",+                                    "ojgd",+                                    ""+                                ],+                                "notes": "phlvaphc"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "qwee"+                            }+                        },+                        "Linux_Debian": {+                            "( <= 2.1.7 && >= 4.7.6 && <= 6.3.7 && > 7.5.4 && == 2.8.2 ) || ( < 8.4.3 && > 6.3.4 && < 3.6.1 && >= 5.2.6 && < 5.1.4 && < 6.2.6 )": {+                                "distroPKGs": [+                                    "",+                                    "wngslavs",+                                    "b",+                                    "cxofcwnd",+                                    "arsgc"+                                ],+                                "notes": "nygs"+                            },+                            "( <= 2.4.2 && < 3.8.2 && == 1.8.2 && <= 7.7.4 && < 6.8.2 && < 1.3.2 && > 3.8.4 && > 8.6.6 && <= 6.2.7 )": {+                                "distroPKGs": [+                                    "mukmu"+                                ],+                                "notes": "ztoe"+                            },+                            "( >= 6.2.7 )": {+                                "distroPKGs": [+                                    "ysxckmm"+                                ],+                                "notes": "oabufgpl"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "adacln",+                                    "qrutj",+                                    "tqczqx",+                                    "nstauvs",+                                    "pkhwz",+                                    "mgcoa",+                                    "e"+                                ],+                                "notes": "mxewbc"+                            }+                        },+                        "Windows": {+                            "( <= 3.2.7 && < 8.5.6 && <= 2.5.2 && == 4.8.4 && == 7.5.3 && > 3.8.3 && == 1.7.6 && <= 8.3.6 && == 6.1.5 ) || ( >= 4.8.7 && <= 2.6.2 && > 6.8.5 && >= 5.2.6 && < 3.4.8 )": {+                                "distroPKGs": [+                                    "gepkbc",+                                    "jmvg",+                                    "hdflb"+                                ],+                                "notes": "xuvsiuni"+                            },+                            "( <= 5.2.5 && > 5.3.2 && >= 3.4.5 && < 8.3.2 && <= 1.6.4 ) || ( < 3.7.8 ) || ( > 8.1.5 && <= 3.9.1 && <= 3.5.7 && < 5.3.8 && >= 2.6.4 && < 4.3.5 && >= 5.2.5 && < 5.1.1 && >= 3.5.4 ) || ( <= 3.8.1 && <= 7.3.7 && == 1.2.2 ) || ( == 3.8.5 ) || ( > 5.2.5 && <= 4.5.2 && <= 1.7.8 && < 1.5.1 && > 1.7.3 && == 4.8.6 && > 6.8.1 && == 8.5.7 && <= 7.5.6 ) || ( == 4.2.4 && > 3.8.1 )": {+                                "distroPKGs": [+                                    "cgg",+                                    "p",+                                    "symxp",+                                    "uf",+                                    "p"+                                ],+                                "notes": "ctnhts"+                            },+                            "( <= 6.6.8 && < 8.2.2 && < 5.2.5 ) || ( > 3.7.2 && >= 6.8.4 ) || ( == 7.1.3 && == 8.2.6 && == 2.5.1 && <= 7.3.5 && > 3.7.8 && == 5.7.3 && == 2.1.4 )": {+                                "distroPKGs": [+                                    "lab",+                                    "wwl",+                                    "fklgzup",+                                    "qdtkjm",+                                    ""+                                ],+                                "notes": "ycabtrhu"+                            },+                            "( == 3.1.5 && == 6.5.7 && > 3.4.8 && > 5.8.7 && > 2.7.2 && > 3.8.4 && < 3.2.1 ) || ( >= 8.8.2 && < 7.6.2 && <= 6.7.6 && <= 4.8.7 && <= 7.6.5 && >= 7.8.3 )": {+                                "distroPKGs": [+                                    "galnxfu",+                                    "ue",+                                    "lzftv"+                                ],+                                "notes": ""+                            },+                            "( == 4.4.6 && == 8.4.2 && > 6.3.2 ) || ( == 2.3.4 && < 6.8.8 && == 6.1.8 && == 2.2.6 && > 6.3.3 && >= 5.3.7 && < 2.8.8 && > 7.6.2 && >= 6.3.6 )": {+                                "distroPKGs": [+                                    "cep"+                                ],+                                "notes": "xiesxu"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ugdkt"+                                ],+                                "notes": "gxycxs"+                            }+                        }+                    },+                    "9.4.8": {+                        "Linux_Mint": {+                            "( < 6.3.8 && > 5.4.4 && == 4.5.3 ) || ( > 8.3.2 && >= 3.6.2 && > 7.8.4 && == 5.1.5 && > 6.3.2 && == 6.7.3 && == 3.8.8 && > 1.7.1 )": {+                                "distroPKGs": [+                                    "q",+                                    "",+                                    "pzb",+                                    "ex"+                                ],+                                "notes": "bmbxgf"+                            },+                            "( <= 8.5.5 && == 1.6.2 && <= 4.2.3 && <= 8.3.7 && == 6.6.1 && >= 4.3.8 ) || ( > 2.3.5 && == 4.4.3 && > 4.6.2 ) || ( <= 8.4.4 && == 6.3.1 && < 8.3.7 && >= 5.4.8 && < 7.5.3 && > 7.3.1 )": {+                                "distroPKGs": [+                                    "uvj",+                                    "eqhumgck",+                                    "al",+                                    "lywl",+                                    "onirmq"+                                ],+                                "notes": "ajkzcsf"+                            },+                            "( == 2.8.6 && >= 4.5.8 && >= 4.3.2 && > 6.5.2 && == 6.7.6 && >= 5.2.6 ) || ( >= 8.2.6 && > 7.3.5 && > 6.6.5 )": {+                                "distroPKGs": [+                                    "ohhb",+                                    "rnu",+                                    "r"+                                ],+                                "notes": "dgzwlznq"+                            },+                            "( > 6.1.4 && < 5.1.5 && <= 4.2.5 && >= 8.1.1 && >= 3.5.6 && <= 2.7.8 && == 5.1.5 && < 2.7.4 ) || ( <= 5.5.8 && == 7.1.7 && >= 8.3.8 && <= 6.4.6 && <= 7.3.4 )": {+                                "distroPKGs": [+                                    "q",+                                    "daxlja",+                                    "ocvkasdv"+                                ],+                                "notes": "h"+                            },+                            "( >= 6.4.4 && <= 2.7.1 && > 4.2.4 && < 1.2.5 ) || ( <= 7.2.1 && <= 8.8.7 && >= 9.3.2 && > 1.2.7 )": {+                                "distroPKGs": [+                                    "bdew",+                                    "oodf",+                                    "mplr",+                                    "xwyqlqu",+                                    "cb",+                                    "",+                                    "tpjct"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "pomqbebm"+                                ],+                                "notes": "jblhrssj"+                            }+                        }+                    },+                    "unknown_version": {+                        "Darwin": {+                            "( < 3.6.3 && > 4.7.10 && >= 2.3.4 && >= 7.8.7 && >= 8.5.3 && >= 7.2.8 && < 5.7.4 && > 2.1.3 )": {+                                "distroPKGs": [],+                                "notes": "jtyhnss"+                            },+                            "( <= 1.1.1 ) || ( == 1.5.4 && >= 7.1.3 && > 3.1.4 && == 3.7.2 && < 2.1.5 && >= 1.7.4 && <= 8.2.3 && > 1.4.7 && == 8.5.6 )": {+                                "distroPKGs": [+                                    "gvkxzqa",+                                    "e"+                                ],+                                "notes": "rmzl"+                            },+                            "( > 7.5.8 && < 7.6.1 && < 2.4.4 ) || ( < 4.1.3 && == 7.5.7 && >= 2.8.2 && == 2.7.1 && == 2.1.7 && == 8.4.3 && < 2.3.4 && < 7.1.1 && >= 1.7.2 )": {+                                "distroPKGs": [+                                    "m",+                                    "zptgozr"+                                ],+                                "notes": "bzfqj"+                            },+                            "( > 8.2.8 && < 4.5.6 && >= 7.4.5 && <= 4.1.4 && == 4.8.1 && > 6.2.8 && >= 3.7.5 && <= 5.2.8 && == 8.5.3 )": {+                                "distroPKGs": [+                                    "vwkf",+                                    "rje",+                                    "wawyniw",+                                    "",+                                    "uukrzq"+                                ],+                                "notes": "lleoqw"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "mcvi",+                                    "grlw"+                                ],+                                "notes": "koewqj"+                            }+                        },+                        "Linux_AmazonLinux": {+                            "( < 4.3.1 && < 8.5.4 && > 1.4.5 && == 3.4.3 && < 6.5.6 && >= 5.3.4 && == 8.2.4 ) || ( == 2.1.7 && == 5.4.3 && < 6.2.7 )": {+                                "distroPKGs": [+                                    "nryyfely"+                                ],+                                "notes": "xt"+                            },+                            "( == 7.7.2 && >= 6.6.1 )": {+                                "distroPKGs": [+                                    "udrqfp",+                                    "jwvb",+                                    "nwhtexfp",+                                    "dbbntal",+                                    "",+                                    ""+                                ],+                                "notes": "hgkvkp"+                            },+                            "( > 5.1.5 && >= 1.3.3 && >= 6.2.4 && >= 5.6.1 && < 6.8.5 && >= 7.7.4 ) || ( < 4.5.3 && < 6.5.4 && > 1.1.7 && >= 4.7.2 && == 4.6.8 && == 3.6.6 && >= 2.6.2 )": {+                                "distroPKGs": [+                                    "fon",+                                    "zcbjd"+                                ],+                                "notes": "c"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "gwhelip",+                                    "",+                                    "o",+                                    "",+                                    "pnxjsj",+                                    "sm"+                                ],+                                "notes": "gbwcyqq"+                            }+                        },+                        "Linux_CentOS": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "j",+                                    "uxreylp",+                                    "amqpm",+                                    "j",+                                    "pkyhsdk"+                                ],+                                "notes": "jctli"+                            }+                        },+                        "Windows": {+                            "( < 8.4.2 && == 6.5.5 && < 1.8.3 && == 2.5.1 && > 4.8.5 && > 3.2.2 ) || ( < 5.8.7 ) || ( > 6.8.3 && > 1.7.6 && > 2.1.6 && == 1.7.6 && == 4.2.4 && < 4.4.7 )": {+                                "distroPKGs": [+                                    "hti",+                                    "mbmqoxj",+                                    "w",+                                    "pvbt",+                                    "c",+                                    ""+                                ],+                                "notes": "nn"+                            },+                            "( < 8.5.3 && >= 3.1.6 && < 1.2.4 && > 5.1.6 && < 7.6.3 && >= 4.3.8 && < 8.3.4 ) || ( == 7.7.5 && >= 3.5.6 && >= 4.7.4 && >= 8.6.7 && <= 5.7.4 && < 6.8.8 && > 1.7.8 ) || ( <= 3.2.1 && == 8.1.2 && < 6.4.1 ) || ( <= 3.3.4 && > 2.6.8 && <= 2.7.5 )": {+                                "distroPKGs": [+                                    "gwx",+                                    "z"+                                ],+                                "notes": "nuqq"+                            },+                            "( <= 3.4.6 && > 6.6.7 && < 1.1.2 && > 3.6.8 && < 4.4.5 && <= 5.5.8 ) || ( == 7.8.1 && >= 8.1.6 && > 5.6.3 && == 1.1.6 ) || ( > 4.3.2 && <= 6.7.8 && > 3.8.2 && < 6.7.3 && >= 4.3.1 && > 2.7.3 && > 5.3.1 )": {+                                "distroPKGs": [+                                    "s",+                                    "iufzivg",+                                    "doyrcmr",+                                    "ktwph",+                                    "pmma",+                                    "",+                                    "deponq",+                                    ""+                                ],+                                "notes": "twm"+                            },+                            "( == 7.3.4 && >= 5.3.8 ) || ( == 4.6.2 && >= 6.7.1 && > 2.6.2 && < 6.8.4 && > 5.3.4 )": {+                                "distroPKGs": [+                                    "xcskjzlb",+                                    "uarb",+                                    "f",+                                    "jmanhh",+                                    "s",+                                    "hln",+                                    "gsvbfupu"+                                ],+                                "notes": "jabw"+                            },+                            "( >= 4.2.1 ) || ( > 7.7.2 )": {+                                "distroPKGs": [+                                    "owf"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "k",+                                    "sxhg",+                                    "exh",+                                    "cmrnvuhg",+                                    "qxmkj"+                                ],+                                "notes": "gu"+                            }+                        }+                    }+                }+            }+        },+        {+            "ghcupDownloads": {+                "GHC": {+                    "1.7.7": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {+                                    "( <= 1.7.1 && <= 4.3.8 && < 7.2.3 && >= 8.7.1 && > 6.3.4 && >= 6.8.1 && < 1.1.8 && == 5.2.3 ) || ( > 1.3.7 && <= 6.7.5 )": {+                                        "dlHash": "bw",+                                        "dlSubdir": "\u0018n#KhO",+                                        "dlUri": "http:vdxnm"+                                    },+                                    "( <= 6.4.4 && <= 3.6.3 && > 3.8.1 && == 4.4.7 && >= 2.3.4 ) || ( > 8.7.5 && >= 1.3.6 ) || ( > 5.6.2 && == 8.4.4 && >= 2.3.7 && > 6.5.5 ) || ( >= 1.2.4 && < 5.2.3 && >= 5.6.5 && >= 1.1.2 && >= 4.2.7 ) || ( > 1.4.7 && < 4.8.6 && < 5.4.3 && >= 3.8.2 )": {+                                        "dlHash": "q",+                                        "dlSubdir": null,+                                        "dlUri": "https:wx"+                                    },+                                    "( <= 7.5.7 && <= 6.5.1 && < 1.4.3 && == 5.8.7 )": {+                                        "dlHash": "vcp",+                                        "dlSubdir": null,+                                        "dlUri": "https:ltdcvvn"+                                    },+                                    "( > 7.2.5 && < 4.8.5 && <= 7.4.1 && < 7.4.1 && >= 2.8.8 && == 2.2.5 && <= 2.6.5 && <= 1.6.1 && < 6.2.7 )": {+                                        "dlHash": "xqcoct",+                                        "dlSubdir": null,+                                        "dlUri": "http:c"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "hn",+                                        "dlSubdir": "",+                                        "dlUri": "http:dxaxrgi"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 6.8.2 && == 4.8.1 && <= 8.5.8 && == 5.1.4 && == 8.4.8 ) || ( <= 8.1.1 && >= 6.3.5 && == 1.2.6 && <= 1.6.6 && < 1.1.2 && == 2.8.3 && <= 3.5.4 && < 7.7.8 )": {+                                        "dlHash": "n",+                                        "dlSubdir": {+                                            "RegexDir": "P3𨑰💑ળQ"+                                        },+                                        "dlUri": "https:yb"+                                    },+                                    "( < 7.5.3 && < 5.6.3 && > 9.1.6 && > 1.2.6 ) || ( > 6.1.7 && > 5.7.3 && < 1.2.2 && == 6.8.2 && == 6.7.5 && < 4.7.7 ) || ( < 2.3.3 && == 3.2.6 )": {+                                        "dlHash": "x",+                                        "dlSubdir": "\\Rm𒎙􏤰䀾󽣄",+                                        "dlUri": "http:eu"+                                    },+                                    "( <= 8.8.6 && == 8.2.1 && == 5.6.2 && < 6.6.2 && < 7.3.3 && >= 6.1.3 )": {+                                        "dlHash": "jmkcu",+                                        "dlSubdir": null,+                                        "dlUri": "http:t"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "qfl",+                                        "dlSubdir": null,+                                        "dlUri": "https:qii"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( < 5.2.4 && < 3.4.1 && >= 2.1.6 && > 2.5.1 && >= 5.4.6 && < 7.4.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "󷝞T𗖂u󿍙\r"+                                        },+                                        "dlUri": "https:e"+                                    },+                                    "( < 8.8.3 && <= 1.6.1 && < 4.3.3 && < 8.6.5 && > 8.1.2 && >= 5.3.6 && <= 3.2.3 && <= 9.2.3 && > 7.7.5 ) || ( >= 3.5.1 && <= 7.3.2 && >= 2.4.3 && <= 5.2.2 && <= 6.6.5 && >= 8.2.1 && > 7.4.3 )": {+                                        "dlHash": "yzakihw",+                                        "dlSubdir": {+                                            "RegexDir": "\"M"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( <= 1.5.2 && >= 2.1.2 && == 3.6.2 && > 5.8.4 && <= 8.5.6 && > 6.4.4 && == 1.7.6 && <= 7.3.2 ) || ( == 5.3.1 && > 2.2.7 && >= 7.7.5 && > 4.5.1 && == 1.1.7 && == 5.6.3 ) || ( > 1.7.6 && > 2.4.6 && <= 2.3.4 && >= 4.7.1 && < 8.4.5 && <= 7.3.7 && <= 4.4.8 && == 6.4.5 && == 5.4.5 )": {+                                        "dlHash": "az",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    },+                                    "( <= 4.5.4 && < 8.4.7 && >= 3.2.2 && <= 6.4.8 && >= 2.5.8 && == 8.4.2 && > 7.6.3 && > 5.1.7 )": {+                                        "dlHash": "dw",+                                        "dlSubdir": {+                                            "RegexDir": "*k"+                                        },+                                        "dlUri": "http:krxdz"+                                    },+                                    "( >= 2.7.1 && == 2.5.2 && >= 4.8.5 && == 2.8.4 && == 3.2.2 ) || ( >= 1.7.7 ) || ( == 6.8.6 ) || ( <= 2.3.3 && >= 8.7.2 && <= 1.8.4 && <= 3.6.7 && >= 1.7.7 && > 1.7.3 && == 1.2.7 && >= 7.5.5 && <= 8.2.2 ) || ( >= 2.3.3 && == 3.4.5 && > 2.4.6 && <= 6.1.6 && >= 7.2.4 ) || ( <= 7.7.7 && == 1.6.7 ) || ( == 6.4.8 && >= 7.2.3 ) || ( == 2.1.2 && < 4.1.5 && <= 2.3.5 && <= 1.2.3 && > 1.4.4 && == 7.3.8 && > 6.5.1 && == 5.1.8 && >= 8.2.2 ) || ( <= 8.6.8 && >= 4.8.7 && == 1.7.5 && > 4.7.3 && < 5.3.3 && == 4.8.7 && < 4.7.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "I2gHI𬖱&A",+                                        "dlUri": "https:vljqum"+                                    },+                                    "( >= 3.4.8 && > 7.1.2 && >= 7.8.8 ) || ( <= 1.4.7 && < 3.7.5 && >= 5.3.2 && == 1.3.4 && >= 7.2.4 && == 6.3.7 )": {+                                        "dlHash": "awiz",+                                        "dlSubdir": ";NFJ\u000e9",+                                        "dlUri": "https:nizhdk"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "oe",+                                        "dlSubdir": {+                                            "RegexDir": "𖦲"+                                        },+                                        "dlUri": "https:j"+                                    }+                                },+                                "Linux_Exherbo": {+                                    "( < 6.5.6 && > 4.7.1 && >= 1.6.5 && > 6.2.1 )": {+                                        "dlHash": "nfeucwv",+                                        "dlSubdir": {+                                            "RegexDir": "\u0013\u0002\u0015𒍺\u0005q?"+                                        },+                                        "dlUri": "http:phn"+                                    },+                                    "( <= 4.7.2 && == 4.9.7 && >= 1.1.2 && >= 6.4.7 && < 5.4.5 && >= 5.7.2 && <= 4.5.1 && >= 7.6.5 && == 5.6.1 )": {+                                        "dlHash": "a",+                                        "dlSubdir": {+                                            "RegexDir": "C5H"+                                        },+                                        "dlUri": "https:knd"+                                    },+                                    "( <= 6.1.5 && <= 2.2.2 && < 2.5.3 ) || ( <= 5.4.1 && >= 1.4.6 && >= 6.2.4 ) || ( < 4.8.5 && < 7.3.5 && > 8.5.5 && <= 7.6.1 ) || ( == 3.3.3 && >= 1.6.1 && < 1.2.7 ) || ( == 4.4.4 && < 5.6.2 && <= 7.2.1 && <= 8.2.7 && <= 3.1.3 && >= 8.8.5 && <= 3.8.7 && > 7.4.2 ) || ( > 1.6.4 && > 3.7.5 && < 8.6.6 && <= 2.5.2 && == 3.5.2 && == 3.3.5 && >= 4.1.7 ) || ( >= 6.4.7 && < 4.6.3 && >= 8.7.6 && <= 6.6.2 ) || ( <= 4.8.5 && <= 2.3.4 && > 2.3.5 && < 8.6.2 && > 7.4.5 && > 6.4.3 ) || ( > 7.2.1 && <= 1.6.3 && < 8.2.8 && > 2.5.2 && < 4.5.7 && > 3.4.7 && <= 4.8.8 && <= 1.4.1 && > 2.4.7 ) || ( <= 3.5.2 ) || ( > 1.6.4 && < 4.3.3 && < 1.1.6 && <= 5.8.2 && <= 8.9.8 && > 6.4.1 )": {+                                        "dlHash": "tlv",+                                        "dlSubdir": "\u0002",+                                        "dlUri": "http:tuyec"+                                    }+                                },+                                "Linux_UnknownLinux": {}+                            },+                            "A_PowerPC": {+                                "Darwin": {+                                    "( <= 8.8.3 )": {+                                        "dlHash": "jusmuda",+                                        "dlSubdir": null,+                                        "dlUri": "http:tsbt"+                                    },+                                    "( == 3.2.1 && == 8.6.2 && >= 7.8.6 && > 2.5.3 && == 5.2.8 && > 8.1.7 && <= 7.4.7 ) || ( == 1.7.2 && >= 4.4.3 && <= 6.8.6 && > 2.1.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": "~0䋶]较",+                                        "dlUri": "http:wjz"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "kgeasled",+                                        "dlSubdir": "m𒍪y`",+                                        "dlUri": "https:bdmslflx"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 5.3.5 && > 4.6.3 && < 3.8.7 && >= 3.5.9 ) || ( < 7.4.1 && == 3.7.8 && > 4.7.1 && > 1.4.2 && >= 5.8.7 && >= 5.2.1 && == 5.5.4 && >= 2.2.4 )": {+                                        "dlHash": "lzbjcrv",+                                        "dlSubdir": "pA!X",+                                        "dlUri": "https:"+                                    },+                                    "( == 7.4.7 && == 7.6.7 && == 7.3.4 && >= 8.4.4 && == 1.3.5 && == 6.4.2 ) || ( < 8.2.2 && < 5.4.1 )": {+                                        "dlHash": "oub",+                                        "dlSubdir": ",󶋼",+                                        "dlUri": "http:jcyuhga"+                                    },+                                    "( > 2.1.5 )": {+                                        "dlHash": "mrxyju",+                                        "dlSubdir": null,+                                        "dlUri": "https:ixmyjr"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "]嗑󷝒\rsQd "+                                        },+                                        "dlUri": "https:"+                                    }+                                },+                                "Windows": {+                                    "( < 3.2.7 && == 7.5.8 && > 6.3.8 && <= 2.7.5 && < 5.3.2 )": {+                                        "dlHash": "wanmlhwd",+                                        "dlSubdir": {+                                            "RegexDir": "\u0011E\u0007𤛩2"+                                        },+                                        "dlUri": "https:vclviii"+                                    },+                                    "( < 3.4.2 && > 7.4.6 && == 2.2.4 && == 5.8.2 && > 8.1.6 && >= 5.2.5 && == 2.8.2 && >= 3.1.2 && >= 6.8.6 )": {+                                        "dlHash": "wbnegg",+                                        "dlSubdir": null,+                                        "dlUri": "https:m"+                                    },+                                    "( <= 2.3.4 && == 1.6.5 && > 8.3.7 && < 8.1.3 ) || ( == 7.1.2 && >= 7.4.6 && > 1.1.2 )": {+                                        "dlHash": "mftjqkc",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( == 6.5.6 && >= 6.4.4 && < 7.1.6 && == 1.2.6 && < 8.3.2 && >= 3.8.1 && == 4.2.1 )": {+                                        "dlHash": "uftgz",+                                        "dlSubdir": "\u000e7#",+                                        "dlUri": "http:xzwdqjc"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "amefdje",+                                        "dlSubdir": null,+                                        "dlUri": "http:q"+                                    }+                                }+                            },+                            "A_Sparc": {},+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 4.8.2 && < 1.1.2 && == 7.7.2 && == 8.6.8 && > 7.5.1 && <= 4.5.3 && == 6.3.5 ) || ( < 2.7.4 && <= 7.8.7 && > 9.2.3 && < 7.3.2 ) || ( == 6.5.4 && <= 1.5.7 && < 4.2.6 && <= 1.5.8 && < 4.7.8 && >= 2.6.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "hi𭗈#"+                                        },+                                        "dlUri": "http:jqrpsqo"+                                    },+                                    "( <= 7.8.1 && <= 5.4.1 && <= 1.6.2 ) || ( >= 8.7.2 && <= 7.8.6 && >= 7.2.2 && <= 1.4.1 && == 5.3.4 && == 3.3.7 )": {+                                        "dlHash": "z",+                                        "dlSubdir": {+                                            "RegexDir": "𢓋"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( == 8.1.7 && < 4.5.3 && < 7.4.1 && <= 1.7.6 && < 4.1.2 && <= 7.4.8 && < 4.7.3 && >= 8.1.4 && >= 3.7.1 )": {+                                        "dlHash": "hcvnqoo",+                                        "dlSubdir": {+                                            "RegexDir": "M\u001d􍥄\u001b\u0001"+                                        },+                                        "dlUri": "http:hmrfzi"+                                    },+                                    "( > 3.8.7 )": {+                                        "dlHash": "ja",+                                        "dlSubdir": "\u0002\u0004m𪑜󸹪󺰽T",+                                        "dlUri": "http:"+                                    },+                                    "( > 5.2.8 && >= 8.6.6 && > 5.6.2 && < 1.7.7 && <= 8.8.5 && > 4.1.3 && >= 4.7.2 && < 5.8.6 && <= 6.3.5 ) || ( >= 8.7.3 && == 6.3.6 && <= 2.3.3 && <= 2.6.1 && >= 6.4.2 ) || ( == 7.8.1 && > 8.5.3 && >= 8.4.6 )": {+                                        "dlHash": "ly",+                                        "dlSubdir": "􍒋\u000bႺ𘌤",+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "zorpbt",+                                        "dlSubdir": "+􃛞.;Im7",+                                        "dlUri": "https:lrrquhf"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 7.1.4 && == 6.8.1 && >= 1.8.8 && <= 1.1.3 && == 4.8.2 && < 3.8.1 && < 8.1.4 ) || ( >= 6.2.3 && > 4.5.3 && > 7.2.5 && <= 5.1.7 && == 4.7.8 && < 5.6.1 && <= 5.8.2 ) || ( == 7.5.1 && >= 1.4.6 && >= 7.6.6 ) || ( <= 6.5.2 ) || ( == 4.8.5 && < 4.1.2 && > 6.2.3 && <= 7.1.4 && >= 5.7.2 && < 4.6.6 ) || ( <= 7.8.5 && >= 5.7.7 && < 2.8.6 && == 4.2.6 && <= 4.1.6 && > 4.8.5 && <= 5.4.7 )": {+                                        "dlHash": "yaevnip",+                                        "dlSubdir": "\u001e 󷯀\u000b󳀱􊸈}𥮊",+                                        "dlUri": "https:txyf"+                                    },+                                    "( == 1.4.1 && > 4.8.8 ) || ( > 3.4.2 && >= 2.6.5 && <= 5.1.8 && <= 8.4.5 )": {+                                        "dlHash": "vavjj",+                                        "dlSubdir": {+                                            "RegexDir": "Ww1"+                                        },+                                        "dlUri": "http:rzlab"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "k",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:pdyrj"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:mjfe",+                        "viPostInstall": null,+                        "viPostRemove": null,+                        "viPreCompile": "rkmaobn",+                        "viSourceDL": {+                            "dlHash": "gbhvafgn",+                            "dlSubdir": "c",+                            "dlUri": "http:vhrje"+                        },+                        "viTags": [+                            "Recommended",+                            "old",+                            "Prerelease",+                            "base-8.2.1",+                            "old",+                            "Latest",+                            "base-8.5.8"+                        ]+                    },+                    "2.1.4": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {+                                    "( <= 4.4.4 && <= 6.5.3 )": {+                                        "dlHash": "dqlpyh",+                                        "dlSubdir": "sj\"\u001a󹣝􃍔",+                                        "dlUri": "http:"+                                    },+                                    "( == 7.1.4 )": {+                                        "dlHash": "or",+                                        "dlSubdir": {+                                            "RegexDir": "6\t{𐇮𩛑\u0018"+                                        },+                                        "dlUri": "http:h"+                                    }+                                },+                                "FreeBSD": {},+                                "Linux_AmazonLinux": {+                                    "( == 1.6.3 && > 2.1.1 && <= 5.1.5 && < 8.2.7 && < 7.4.3 && > 5.3.2 )": {+                                        "dlHash": "zmazx",+                                        "dlSubdir": null,+                                        "dlUri": "http:iuv"+                                    },+                                    "( == 5.7.3 && > 8.5.8 && <= 4.7.8 )": {+                                        "dlHash": "iy",+                                        "dlSubdir": {+                                            "RegexDir": "!("+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( > 3.4.7 && > 4.6.4 && <= 3.2.7 && == 6.7.8 && > 7.6.5 && < 7.4.1 && <= 8.5.1 && >= 8.5.6 && < 7.7.2 ) || ( == 3.3.3 ) || ( >= 5.6.7 && == 7.4.7 )": {+                                        "dlHash": "i",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:fbfojc"+                                    },+                                    "( > 5.4.7 && >= 1.4.8 )": {+                                        "dlHash": "idvcwdwb",+                                        "dlSubdir": "M",+                                        "dlUri": "http:"+                                    },+                                    "( >= 1.2.1 && == 8.5.1 && < 1.2.1 && > 3.4.8 && > 5.7.4 && <= 4.4.8 && == 8.6.5 ) || ( == 4.2.4 && <= 2.3.4 && >= 6.4.4 && == 3.7.5 && <= 3.6.5 && > 4.4.4 ) || ( > 4.6.5 && <= 5.7.6 && > 7.5.8 && < 2.1.7 && == 5.5.3 && == 2.6.1 && < 3.3.6 && < 6.4.4 ) || ( == 2.8.5 && > 1.4.8 && > 8.1.5 && > 8.6.8 && >= 4.4.4 && >= 7.7.2 && > 7.7.4 && >= 1.6.5 && >= 6.1.3 ) || ( < 7.8.2 )": {+                                        "dlHash": "v",+                                        "dlSubdir": null,+                                        "dlUri": "https:ihxawj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "srmnkhs",+                                        "dlSubdir": "w",+                                        "dlUri": "https:iapulx"+                                    }+                                },+                                "Linux_Debian": {+                                    "( < 4.8.4 && == 4.8.4 && == 1.2.7 && >= 6.4.3 && > 6.5.6 && < 5.4.3 )": {+                                        "dlHash": "biqb",+                                        "dlSubdir": "L\u0005_y?",+                                        "dlUri": "http:auttlat"+                                    },+                                    "( < 6.1.6 && >= 4.1.8 )": {+                                        "dlHash": "atb",+                                        "dlSubdir": {+                                            "RegexDir": "^@]o"+                                        },+                                        "dlUri": "http:ze"+                                    },+                                    "( > 3.1.1 && > 1.8.3 && >= 2.5.8 && <= 2.1.4 )": {+                                        "dlHash": "oa",+                                        "dlSubdir": null,+                                        "dlUri": "http:gw"+                                    },+                                    "( >= 5.8.4 && == 5.6.3 && > 3.2.7 && >= 7.7.4 && >= 10.7.2 && < 1.3.8 && >= 5.1.4 && <= 6.1.7 && < 1.2.8 ) || ( == 8.1.5 && < 3.2.6 )": {+                                        "dlHash": "sqbv",+                                        "dlSubdir": {+                                            "RegexDir": "h_>4"+                                        },+                                        "dlUri": "http:cunv"+                                    },+                                    "( >= 7.7.7 && >= 1.1.1 && <= 1.1.7 && < 5.7.2 && == 8.2.4 && > 2.7.5 && <= 8.3.2 )": {+                                        "dlHash": "ki",+                                        "dlSubdir": null,+                                        "dlUri": "http:dbk"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ofg",+                                        "dlSubdir": "𫅅SV䆘",+                                        "dlUri": "http:btrl"+                                    }+                                },+                                "Windows": {+                                    "( < 8.4.7 && > 2.2.3 && == 5.1.7 && < 7.4.5 && == 4.5.2 && > 3.9.3 )": {+                                        "dlHash": "qqoa",+                                        "dlSubdir": "\u0011o7𢤍uC",+                                        "dlUri": "http:"+                                    },+                                    "( <= 4.6.2 && >= 7.1.4 && == 2.1.2 && < 4.5.3 && > 1.8.4 && <= 6.7.5 && < 4.4.2 ) || ( > 5.3.5 )": {+                                        "dlHash": "bfokctlr",+                                        "dlSubdir": null,+                                        "dlUri": "http:spziffm"+                                    },+                                    "( == 4.5.6 && == 8.8.1 && < 4.3.1 && <= 6.5.3 && > 3.3.3 && == 2.1.2 && < 7.4.3 ) || ( >= 7.8.1 && > 7.1.8 )": {+                                        "dlHash": "djupyqxp",+                                        "dlSubdir": null,+                                        "dlUri": "http:vta"+                                    },+                                    "( >= 5.1.6 && == 1.6.8 && <= 3.3.7 && <= 1.8.6 && > 7.1.6 && < 8.3.8 && <= 4.4.4 ) || ( < 7.4.5 && < 8.5.5 && <= 3.7.2 && == 3.1.1 )": {+                                        "dlHash": "bft",+                                        "dlSubdir": "P62􍘱𣍵`󲳚",+                                        "dlUri": "https:tjys"+                                    }+                                }+                            },+                            "A_ARM": {+                                "Darwin": {+                                    "( <= 1.8.8 && == 4.7.3 && > 2.7.5 && == 2.3.8 && == 5.4.6 && <= 7.3.8 && >= 6.4.2 && < 2.2.3 && <= 7.7.3 )": {+                                        "dlHash": "komdbct",+                                        "dlSubdir": null,+                                        "dlUri": "http:eoqb"+                                    },+                                    "( == 2.4.3 && >= 4.2.5 && == 7.5.5 && >= 3.6.7 && < 7.7.3 ) || ( >= 8.6.7 && == 8.3.6 && == 3.2.5 && < 6.1.3 )": {+                                        "dlHash": "mhjpic",+                                        "dlSubdir": null,+                                        "dlUri": "https:rh"+                                    },+                                    "( > 8.5.5 && < 8.4.6 && >= 1.3.4 )": {+                                        "dlHash": "ogzavkh",+                                        "dlSubdir": "\u001c",+                                        "dlUri": "https:qdedqmsk"+                                    },+                                    "( >= 6.1.2 )": {+                                        "dlHash": "rkxgri",+                                        "dlSubdir": "\u0008𬦬\u0014𭙪T\u0005",+                                        "dlUri": "http:pxwx"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "f􃬬tl𢱫",+                                        "dlUri": "http:emvzoio"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "FreeBSD": {+                                    "( < 7.4.1 && < 2.8.7 && == 7.5.8 && <= 2.3.6 && <= 2.7.5 && < 3.8.6 && >= 3.1.3 && <= 2.8.8 && == 5.7.8 ) || ( >= 3.4.3 && >= 1.4.6 && <= 1.3.3 && == 2.7.5 && < 2.5.1 && <= 8.7.1 && <= 1.8.3 && >= 5.8.1 && == 4.6.8 ) || ( < 7.4.3 && < 8.5.3 && < 3.1.3 && <= 4.3.8 && == 4.6.4 && > 1.3.4 && == 6.1.5 ) || ( > 8.1.8 && <= 4.6.6 && <= 1.5.2 ) || ( <= 2.4.8 && == 4.4.2 && > 6.2.8 && == 7.5.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u000b#u\u000b𨵯\u0016;2",+                                        "dlUri": "https:hoayenv"+                                    },+                                    "( <= 2.1.7 && >= 2.1.5 && == 6.6.8 && < 5.5.7 )": {+                                        "dlHash": "e",+                                        "dlSubdir": "𣸡K1\u0012\u000e",+                                        "dlUri": "https:m"+                                    },+                                    "( > 4.6.5 && == 2.6.4 ) || ( > 6.1.8 && <= 2.2.1 && <= 5.4.3 && == 3.4.3 && >= 2.7.8 ) || ( > 8.7.4 && > 1.1.4 && > 4.3.4 && >= 7.3.5 && > 8.8.6 && > 3.1.4 && <= 8.5.5 && > 1.8.2 ) || ( <= 8.6.5 && == 1.4.7 && < 8.5.2 && > 3.1.7 && > 5.7.2 && < 4.4.8 )": {+                                        "dlHash": "jmfktdt",+                                        "dlSubdir": "󵍞`(",+                                        "dlUri": "http:hzrfdde"+                                    },+                                    "( > 6.5.8 && == 6.4.6 && >= 3.2.6 && < 3.7.4 && <= 2.4.6 && >= 1.5.1 )": {+                                        "dlHash": "jr",+                                        "dlSubdir": {+                                            "RegexDir": "\r\u0003\u001aG􀍮)"+                                        },+                                        "dlUri": "https:anraq"+                                    },+                                    "( > 7.6.7 )": {+                                        "dlHash": "buem",+                                        "dlSubdir": {+                                            "RegexDir": "谆ܔ𗡘\u0001@iNw"+                                        },+                                        "dlUri": "https:q"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( < 8.6.7 && == 8.2.7 && > 8.5.1 ) || ( <= 5.5.4 ) || ( == 4.2.6 && < 5.8.4 && >= 5.4.2 && > 2.8.2 )": {+                                        "dlHash": "x",+                                        "dlSubdir": {+                                            "RegexDir": "6u󰷜󶙰\\$r"+                                        },+                                        "dlUri": "https:ql"+                                    },+                                    "( <= 3.8.2 && == 4.5.7 && == 4.1.7 && >= 7.1.5 && > 8.6.2 && <= 8.1.5 && == 7.6.4 && <= 4.8.1 && < 7.8.3 )": {+                                        "dlHash": "wx",+                                        "dlSubdir": null,+                                        "dlUri": "https:m"+                                    },+                                    "( == 5.8.7 && == 4.1.6 && == 4.1.3 && >= 5.7.7 && <= 3.5.8 && <= 5.7.4 && < 7.6.7 ) || ( >= 5.8.7 && <= 5.3.4 && == 4.6.6 && <= 1.6.1 && < 1.3.4 && > 5.6.4 && <= 3.5.5 )": {+                                        "dlHash": "yftv",+                                        "dlSubdir": null,+                                        "dlUri": "http:ts"+                                    },+                                    "( >= 1.7.7 && > 3.7.3 && > 7.3.7 && <= 3.5.3 && <= 5.5.4 && > 8.6.5 && >= 6.7.2 && < 7.7.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "F󽲸𡩈@H󴵐",+                                        "dlUri": "https:tgum"+                                    },+                                    "( >= 2.1.1 && <= 7.7.6 && <= 2.3.7 && > 7.3.4 && <= 5.2.2 && <= 6.1.4 && < 6.5.8 )": {+                                        "dlHash": "mx",+                                        "dlSubdir": {+                                            "RegexDir": "NB\u000b\r𞸝"+                                        },+                                        "dlUri": "https:vbuh"+                                    },+                                    "( >= 8.4.1 && > 4.7.4 && == 2.1.9 && < 7.7.7 && == 4.6.4 && > 9.3.1 && > 1.2.7 ) || ( <= 7.2.8 && < 6.5.4 && < 8.7.1 ) || ( >= 8.9.3 && >= 2.7.4 ) || ( < 5.7.8 && < 4.8.1 && < 5.8.6 && == 8.5.5 && <= 2.7.6 && < 7.1.8 && == 6.4.7 )": {+                                        "dlHash": "zcy",+                                        "dlSubdir": {+                                            "RegexDir": "e"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "󹕰(",+                                        "dlUri": "https:mpjylejt"+                                    }+                                },+                                "Linux_CentOS": {+                                    "unknown_versioning": {+                                        "dlHash": "ff",+                                        "dlSubdir": "-zN",+                                        "dlUri": "https:u"+                                    }+                                },+                                "Linux_Mint": {+                                    "( == 3.1.4 && == 5.1.3 && >= 7.2.1 && >= 5.3.4 && == 1.5.6 && <= 8.8.5 && >= 4.7.6 && < 6.5.4 && < 4.6.1 )": {+                                        "dlHash": "wegwdgq",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:zyalree"+                                    },+                                    "( > 2.7.4 && <= 7.1.4 && > 7.7.8 && < 2.1.2 && == 1.5.7 && < 2.2.4 && > 4.3.1 ) || ( == 4.7.2 && < 4.8.8 && < 7.1.7 && <= 2.4.7 && == 7.5.6 ) || ( >= 3.2.1 && == 2.7.4 ) || ( <= 4.3.2 && >= 4.4.3 && < 1.2.2 ) || ( < 2.8.2 && >= 7.7.3 && < 2.8.4 && < 7.2.3 && == 4.7.3 && >= 7.2.4 && == 6.1.5 && > 7.4.5 )": {+                                        "dlHash": "fab",+                                        "dlSubdir": {+                                            "RegexDir": "M"+                                        },+                                        "dlUri": "https:odtazice"+                                    },+                                    "( >= 4.8.2 && >= 4.2.1 && <= 3.5.5 && < 5.7.6 )": {+                                        "dlHash": "d",+                                        "dlSubdir": "NF=S",+                                        "dlUri": "https:fdlzdm"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "alt",+                                        "dlSubdir": "XΏ\n\u001c[KXi",+                                        "dlUri": "https:cbhik"+                                    }+                                },+                                "Windows": {}+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( < 3.8.1 && <= 6.2.8 && >= 1.6.7 && == 3.7.5 && == 6.1.8 && >= 3.1.4 )": {+                                        "dlHash": "xi",+                                        "dlSubdir": {+                                            "RegexDir": "\u0000p"+                                        },+                                        "dlUri": "http:dcepgx"+                                    },+                                    "( == 1.7.8 && < 8.2.5 && >= 2.5.8 && > 6.4.3 && < 8.6.5 && == 2.4.5 && > 8.8.1 && < 1.3.6 )": {+                                        "dlHash": "s",+                                        "dlSubdir": "󵌇u迤-g",+                                        "dlUri": "https:"+                                    },+                                    "( > 4.6.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "𭒆;*󵆞\u0005z\u0019\t"+                                        },+                                        "dlUri": "https:tyihb"+                                    },+                                    "( >= 5.5.6 && == 3.3.7 && <= 4.7.3 && == 2.1.1 && == 7.8.1 )": {+                                        "dlHash": "aqotx",+                                        "dlSubdir": null,+                                        "dlUri": "http:oehnm"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 1.8.2 && > 4.1.6 && >= 3.3.1 && == 8.7.1 && > 4.8.1 && >= 2.4.7 && >= 7.6.2 && == 2.6.1 ) || ( >= 5.4.1 && <= 4.4.1 && == 3.3.8 && == 7.4.6 ) || ( > 5.5.2 && >= 1.3.8 && > 2.9.1 && < 4.1.8 && == 6.3.5 && < 7.2.7 && < 3.2.3 && == 7.5.6 && <= 1.8.4 )": {+                                        "dlHash": "k",+                                        "dlSubdir": null,+                                        "dlUri": "https:mjhmjgdg"+                                    },+                                    "( == 5.7.1 )": {+                                        "dlHash": "pupx",+                                        "dlSubdir": "~Pl\u0015",+                                        "dlUri": "http:z"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "tnckkxev",+                                        "dlSubdir": "+\t",+                                        "dlUri": "http:ynpdqh"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( < 1.6.1 && < 8.6.5 && > 3.3.6 && == 2.2.1 && < 8.1.3 && < 8.2.2 && <= 3.7.3 ) || ( <= 8.5.8 && < 1.6.8 && == 6.4.1 && < 1.3.5 && < 3.6.6 && == 6.3.7 && < 4.6.1 ) || ( == 8.3.2 && == 7.8.7 ) || ( == 6.5.3 && == 6.9.7 && <= 4.8.6 && < 2.4.5 && <= 8.3.8 && > 7.7.1 && <= 5.3.1 && <= 7.3.5 )": {+                                        "dlHash": "bdikn",+                                        "dlSubdir": "\n\r6%繐􌫠",+                                        "dlUri": "https:l"+                                    },+                                    "( == 3.6.3 && <= 5.7.2 && >= 1.5.1 )": {+                                        "dlHash": "sh",+                                        "dlSubdir": {+                                            "RegexDir": "6𡃃迟\u000bv􈱌"+                                        },+                                        "dlUri": "https:um"+                                    },+                                    "( == 5.7.3 && == 8.6.5 && == 8.6.2 ) || ( <= 6.2.8 && < 6.1.6 && <= 2.2.4 && <= 7.7.6 && <= 1.5.8 && > 7.7.7 && > 2.2.7 && <= 6.3.2 && > 5.6.3 )": {+                                        "dlHash": "tfg",+                                        "dlSubdir": {+                                            "RegexDir": "N"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( >= 3.7.3 && == 4.1.8 && >= 8.3.6 && == 5.8.2 && < 5.4.1 )": {+                                        "dlHash": "wyo",+                                        "dlSubdir": "𡧟I)'cJ",+                                        "dlUri": "http:dyvi"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "qiuiabbi",+                                        "dlSubdir": "\u0008",+                                        "dlUri": "https:izateonx"+                                    }+                                },+                                "Linux_Debian": {+                                    "( > 8.1.4 && >= 5.1.8 && < 2.4.8 ) || ( >= 4.4.8 && <= 4.4.1 && >= 5.4.4 && >= 5.3.3 && <= 7.1.6 && <= 6.3.1 && <= 2.2.7 )": {+                                        "dlHash": "ihm",+                                        "dlSubdir": "_\u0004\"\u0017M#",+                                        "dlUri": "http:kwqkcy"+                                    },+                                    "( >= 5.8.3 && <= 4.7.6 && <= 2.1.4 && > 6.3.8 && < 6.1.5 && >= 1.2.3 && > 2.8.1 && < 6.8.9 ) || ( == 4.2.3 && <= 5.6.4 && == 3.6.6 && <= 6.3.6 && < 4.3.7 && >= 6.1.6 && == 1.6.3 && >= 5.6.8 ) || ( > 4.1.2 && < 6.8.7 && < 3.1.7 && < 8.7.5 && < 2.2.7 )": {+                                        "dlHash": "cis",+                                        "dlSubdir": {+                                            "RegexDir": "᪃\u000c􉕖"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( >= 6.8.5 && > 7.1.3 && == 8.4.4 && > 7.3.6 ) || ( <= 8.6.8 && < 7.6.7 && == 8.3.5 )": {+                                        "dlHash": "aslcoc",+                                        "dlSubdir": "𭲋𣗖cf;𧠘𞹂",+                                        "dlUri": "http:kij"+                                    },+                                    "( >= 8.2.5 && > 4.2.3 && < 3.7.1 && >= 5.1.3 && > 5.2.8 && <= 1.4.3 && <= 3.6.5 && <= 7.3.7 )": {+                                        "dlHash": "fbaodxtt",+                                        "dlSubdir": "\u000bV",+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "q",+                                        "dlSubdir": {+                                            "RegexDir": "&"+                                        },+                                        "dlUri": "http:ofodg"+                                    }+                                },+                                "Windows": {+                                    "( < 8.6.1 && == 7.4.4 ) || ( >= 1.1.1 && <= 8.4.7 && > 1.2.6 && == 8.3.8 ) || ( < 7.3.5 && > 5.7.2 && < 7.6.8 && < 2.1.8 && < 5.5.7 && >= 7.8.7 && > 3.8.8 && > 5.7.4 && >= 5.3.5 )": {+                                        "dlHash": "gluethg",+                                        "dlSubdir": null,+                                        "dlUri": "http:nulcriw"+                                    },+                                    "( < 8.6.2 && == 5.1.3 && < 8.5.5 )": {+                                        "dlHash": "hjdlbo",+                                        "dlSubdir": {+                                            "RegexDir": "H\u000c"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( <= 1.5.7 && == 1.8.5 && == 3.7.8 && == 4.3.2 && > 6.9.2 && < 2.3.3 && >= 3.7.6 && >= 5.2.6 && == 5.7.3 ) || ( == 6.3.1 && >= 8.8.2 && >= 6.6.3 ) || ( >= 8.4.7 && <= 3.6.6 && >= 6.8.3 && > 1.6.4 && < 2.6.5 && == 2.3.2 && == 3.6.5 && > 6.7.5 && <= 4.3.4 ) || ( >= 7.5.6 && > 3.6.5 && >= 3.4.3 && == 5.1.7 && > 1.9.3 ) || ( == 5.1.6 && > 5.8.7 && == 6.1.4 && >= 4.2.3 && < 5.4.1 && <= 1.8.4 )": {+                                        "dlHash": "wnqv",+                                        "dlSubdir": {+                                            "RegexDir": "'k𮯠\u001e􅔥7\u0004"+                                        },+                                        "dlUri": "https:mii"+                                    },+                                    "( == 3.6.7 && == 7.6.3 && == 8.3.1 && > 4.4.3 )": {+                                        "dlHash": "ei",+                                        "dlSubdir": "{먼",+                                        "dlUri": "http:encsehlw"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "vtwo",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( <= 1.3.4 && > 7.8.2 && == 1.4.7 && == 2.4.2 && >= 5.2.5 && >= 5.1.6 && <= 1.7.7 && >= 5.3.5 && < 5.7.5 ) || ( < 5.8.3 && >= 8.7.5 && < 5.2.7 )": {+                                        "dlHash": "as",+                                        "dlSubdir": "󶄃^F罣𮗈",+                                        "dlUri": "https:idufdly"+                                    },+                                    "( > 3.8.7 )": {+                                        "dlHash": "z",+                                        "dlSubdir": {+                                            "RegexDir": "􇔇WKVB\n+"+                                        },+                                        "dlUri": "http:eife"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 2.8.2 && > 8.3.1 && > 7.4.8 && >= 5.7.3 && < 4.2.7 && == 3.5.7 )": {+                                        "dlHash": "gcmv",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:zdgiko"+                                    },+                                    "( == 1.6.5 && >= 3.4.2 && == 2.2.5 && >= 7.2.7 && > 7.6.8 && >= 4.8.3 && == 1.1.2 && <= 6.4.2 )": {+                                        "dlHash": "cxv",+                                        "dlSubdir": null,+                                        "dlUri": "https:dmixom"+                                    },+                                    "( == 2.2.8 ) || ( <= 7.1.6 && <= 7.5.2 && < 5.8.8 && < 7.2.3 && <= 3.7.4 && > 9.1.3 && < 5.4.1 && > 6.5.3 ) || ( > 3.3.8 && == 6.4.3 && == 7.1.5 && < 5.4.1 && >= 4.5.1 && >= 2.5.5 && < 4.7.1 && == 4.1.1 )": {+                                        "dlHash": "dxdrrp",+                                        "dlSubdir": {+                                            "RegexDir": ",/aMx\u000e"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( == 4.8.6 && > 2.7.2 && < 2.5.8 && > 3.7.1 && < 5.2.8 && >= 3.2.8 && > 7.6.8 && == 5.2.7 )": {+                                        "dlHash": "tw",+                                        "dlSubdir": {+                                            "RegexDir": "\u0013Z4"+                                        },+                                        "dlUri": "http:zsla"+                                    },+                                    "( > 4.6.8 && >= 4.4.5 && < 5.5.2 && >= 1.1.6 && <= 2.1.6 && < 7.2.2 && < 6.3.1 && > 1.2.6 )": {+                                        "dlHash": "r",+                                        "dlSubdir": "󶰐\u0014􁸄2\r1",+                                        "dlUri": "http:i"+                                    },+                                    "( >= 4.4.4 )": {+                                        "dlHash": "i",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "mlekl",+                                        "dlSubdir": "",+                                        "dlUri": "http:a"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( < 3.3.2 && <= 2.3.3 && < 1.6.7 ) || ( < 5.5.2 && >= 3.6.7 && < 3.7.5 && >= 5.2.7 && <= 8.6.8 && < 3.2.1 )": {+                                        "dlHash": "uoqh",+                                        "dlSubdir": {+                                            "RegexDir": "(y\"𨻥􊚎VS"+                                        },+                                        "dlUri": "http:mnx"+                                    },+                                    "( < 7.1.6 ) || ( <= 3.8.5 && <= 2.1.7 && == 4.6.3 && > 5.7.8 && > 8.2.8 ) || ( == 6.2.5 )": {+                                        "dlHash": "srrt",+                                        "dlSubdir": null,+                                        "dlUri": "http:rksstiq"+                                    },+                                    "( < 7.4.6 ) || ( >= 1.8.3 && == 4.4.3 && >= 6.2.8 && == 7.2.8 && >= 6.1.3 && == 2.7.4 )": {+                                        "dlHash": "bk",+                                        "dlSubdir": {+                                            "RegexDir": "\u001c"+                                        },+                                        "dlUri": "https:tzsksswz"+                                    },+                                    "( < 8.1.8 && == 3.8.8 && == 3.5.6 && >= 3.8.8 ) || ( == 8.4.3 && <= 4.3.2 && == 5.6.1 && <= 3.5.7 && == 1.2.6 && == 8.1.1 && == 5.4.8 && < 4.3.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u0015e􅋸Is\u0003"+                                        },+                                        "dlUri": "http:fu"+                                    },+                                    "( > 8.1.5 && >= 6.8.2 && >= 8.5.6 && >= 2.5.5 && <= 3.7.3 && == 5.7.2 && == 6.4.8 )": {+                                        "dlHash": "ljqxy",+                                        "dlSubdir": "𭆳4\u0012Ag",+                                        "dlUri": "http:jvs"+                                    },+                                    "( > 9.6.7 && > 5.8.3 && < 2.5.2 && <= 5.4.6 && == 3.4.1 && == 8.2.6 && <= 4.5.8 ) || ( <= 7.2.5 )": {+                                        "dlHash": "uxtbaz",+                                        "dlSubdir": {+                                            "RegexDir": ",=󱳈\u0006zLt"+                                        },+                                        "dlUri": "https:jf"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "s",+                                        "dlSubdir": null,+                                        "dlUri": "http:b"+                                    }+                                },+                                "Windows": {}+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 6.7.3 && <= 1.6.3 ) || ( <= 7.1.7 && >= 6.3.3 && > 4.3.4 )": {+                                        "dlHash": "fwies",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( <= 2.1.8 )": {+                                        "dlHash": "iwdkjro",+                                        "dlSubdir": null,+                                        "dlUri": "http:tkbxagi"+                                    },+                                    "( <= 7.2.1 && < 8.6.6 && < 5.4.3 && <= 6.6.4 && <= 6.5.1 && == 7.3.8 && < 1.6.7 && >= 7.5.1 && < 4.3.2 ) || ( <= 1.4.7 && <= 5.7.2 && > 1.5.8 && <= 7.8.4 && > 8.8.4 && == 7.1.6 ) || ( < 1.8.4 && >= 5.1.7 && <= 5.7.2 && <= 2.2.8 && >= 5.7.6 && >= 5.1.2 && == 4.5.1 && == 8.8.3 && == 1.5.3 ) || ( >= 6.5.8 && <= 5.8.6 && > 3.3.3 && == 7.2.1 && >= 7.3.7 && < 7.3.3 && < 7.2.8 )": {+                                        "dlHash": "c",+                                        "dlSubdir": {+                                            "RegexDir": "X0\u001f<"+                                        },+                                        "dlUri": "https:wpuuion"+                                    },+                                    "( == 8.8.4 )": {+                                        "dlHash": "pz",+                                        "dlSubdir": "",+                                        "dlUri": "https:nff"+                                    },+                                    "( > 3.6.3 && == 3.6.3 && >= 1.2.5 && > 3.7.2 ) || ( == 3.7.8 && >= 6.1.6 && < 5.1.5 && <= 2.3.7 ) || ( >= 6.1.1 && < 5.5.5 && <= 5.7.4 && >= 7.3.1 && == 1.8.3 )": {+                                        "dlHash": "u",+                                        "dlSubdir": {+                                            "RegexDir": "}𥃆r𐐆J\u0007󹯌["+                                        },+                                        "dlUri": "https:mzem"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "vd",+                                        "dlSubdir": null,+                                        "dlUri": "http:wyr"+                                    }+                                },+                                "FreeBSD": {},+                                "Linux_Gentoo": {+                                    "( <= 8.2.3 && <= 4.8.3 && <= 4.4.4 && == 6.3.8 )": {+                                        "dlHash": "iurnij",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:nkf"+                                    },+                                    "( == 3.1.3 && <= 3.1.8 && >= 8.4.5 && >= 5.1.1 && > 1.4.1 && >= 1.3.8 ) || ( == 5.8.6 && < 4.2.4 && >= 3.4.4 && < 6.10.8 && == 7.7.8 && < 8.6.6 && >= 6.5.6 )": {+                                        "dlHash": "vaiyqwcr",+                                        "dlSubdir": null,+                                        "dlUri": "https:mhuyi"+                                    },+                                    "( == 4.2.2 && >= 6.6.3 && > 4.3.1 && >= 1.5.1 )": {+                                        "dlHash": "jwaxea",+                                        "dlSubdir": "",+                                        "dlUri": "http:nd"+                                    },+                                    "( > 4.2.7 && > 2.7.7 )": {+                                        "dlHash": "jcjwo",+                                        "dlSubdir": "+E",+                                        "dlUri": "http:ll"+                                    },+                                    "( >= 4.7.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:grwlcqpd"+                                    }+                                },+                                "Linux_Mint": {+                                    "( < 5.3.7 && >= 5.6.7 && <= 2.6.2 && >= 6.1.2 && <= 3.2.1 && == 1.5.8 && > 5.2.5 && <= 7.1.2 && == 4.7.6 )": {+                                        "dlHash": "w",+                                        "dlSubdir": "1\u0018\u0014󵶎\u0005dP2",+                                        "dlUri": "https:dgmqu"+                                    },+                                    "( <= 6.2.2 && == 6.1.1 )": {+                                        "dlHash": "p",+                                        "dlSubdir": "l󴝓*`S􏈖\u0015",+                                        "dlUri": "https:ftblpvp"+                                    },+                                    "( == 2.7.2 && < 3.3.6 && <= 2.5.5 && > 4.5.8 )": {+                                        "dlHash": "cnvkgtu",+                                        "dlSubdir": {+                                            "RegexDir": "ᮋo1!P󴉡\u000cN"+                                        },+                                        "dlUri": "http:utqeuk"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:",+                        "viPostInstall": null,+                        "viPostRemove": "hdst",+                        "viPreCompile": "lssslq",+                        "viSourceDL": null,+                        "viTags": [+                            "",+                            "\u0018\u0017GF󾐘\u0018",+                            "base-8.7.8"+                        ]+                    },+                    "4.6.8": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {},+                                "Windows": {+                                    "( >= 1.7.8 && > 8.4.7 && < 5.3.6 && < 2.8.1 && >= 4.1.1 && >= 8.1.4 && >= 6.2.8 && == 4.2.5 && > 6.5.3 ) || ( == 6.7.6 && < 8.5.2 && < 1.4.1 && > 1.5.6 && < 6.4.6 ) || ( > 3.3.5 && >= 4.7.5 && == 4.4.6 && <= 6.6.3 && <= 6.4.1 && < 6.8.4 ) || ( >= 3.7.1 && < 2.8.6 && >= 8.3.8 && == 6.3.5 && >= 7.7.2 && >= 7.3.2 && == 1.3.8 && == 8.7.5 )": {+                                        "dlHash": "onp",+                                        "dlSubdir": null,+                                        "dlUri": "http:oec"+                                    },+                                    "( >= 8.3.6 )": {+                                        "dlHash": "aq",+                                        "dlSubdir": "g\u0002􌭌8\u0013x",+                                        "dlUri": "https:h"+                                    },+                                    "( >= 8.4.1 && == 5.8.3 && <= 8.5.2 && <= 1.4.4 && >= 5.5.6 && >= 6.7.8 ) || ( > 3.6.8 && <= 3.7.7 && <= 3.4.5 && <= 1.1.4 )": {+                                        "dlHash": "rjiwqmow",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    },+                                    "( >= 8.4.7 && >= 5.4.8 && <= 4.3.4 && < 3.6.1 && == 7.2.2 && > 5.7.5 )": {+                                        "dlHash": "gh",+                                        "dlSubdir": null,+                                        "dlUri": "https:z"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "dbchcojz",+                                        "dlSubdir": null,+                                        "dlUri": "https:ixw"+                                    }+                                }+                            },+                            "A_ARM": {+                                "Windows": {+                                    "( < 5.4.3 && <= 1.5.7 && < 8.3.2 && >= 3.6.2 && <= 2.1.7 )": {+                                        "dlHash": "fgo",+                                        "dlSubdir": "󸰦󲢀&K󳡛\u0005b",+                                        "dlUri": "https:ta"+                                    },+                                    "( < 8.3.4 && < 3.1.2 && <= 7.7.2 && >= 5.2.7 && > 4.8.2 && >= 4.7.6 && > 5.1.8 && <= 1.4.7 ) || ( < 4.5.6 && < 2.2.6 && <= 3.8.2 && < 8.3.8 && == 8.5.2 && <= 1.3.2 && == 8.8.6 && <= 6.3.4 && <= 4.3.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:gmhdy"+                                    },+                                    "( <= 2.8.2 && == 4.3.3 && > 4.8.8 && <= 4.2.1 ) || ( <= 7.1.8 && > 8.1.6 && <= 5.6.7 && <= 8.6.1 && <= 4.5.3 && < 4.4.8 ) || ( <= 1.8.7 && > 1.6.2 )": {+                                        "dlHash": "yu",+                                        "dlSubdir": {+                                            "RegexDir": "W𠙜"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( == 1.8.6 && <= 5.2.2 && == 1.4.5 && <= 1.7.2 && <= 4.7.3 && > 1.5.6 )": {+                                        "dlHash": "yqm",+                                        "dlSubdir": null,+                                        "dlUri": "https:y"+                                    },+                                    "( >= 1.2.1 && > 6.7.5 && == 5.8.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "https:ryjkujc"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( <= 5.8.5 )": {+                                        "dlHash": "svkpbgb",+                                        "dlSubdir": "\t\u001f\u0001<",+                                        "dlUri": "https:dwrmr"+                                    },+                                    "( <= 5.8.7 && == 9.8.7 && > 7.4.1 && <= 5.5.5 && <= 6.5.5 && > 1.3.6 && < 2.5.1 )": {+                                        "dlHash": "foaoly",+                                        "dlSubdir": null,+                                        "dlUri": "http:ibpvmwt"+                                    },+                                    "( > 3.4.3 && < 3.3.3 && < 6.5.4 && > 2.6.3 && > 6.2.1 && < 7.1.5 && >= 7.3.6 && == 8.1.5 && == 1.8.8 )": {+                                        "dlHash": "kifq",+                                        "dlSubdir": "𡭭?",+                                        "dlUri": "https:qy"+                                    },+                                    "( >= 7.5.1 && < 1.5.8 && > 1.3.6 && == 6.2.1 && >= 4.9.4 && > 3.7.7 && < 6.5.5 ) || ( >= 4.6.4 && < 5.8.3 && > 2.4.1 )": {+                                        "dlHash": "gj",+                                        "dlSubdir": {+                                            "RegexDir": "K\u0010\u0017@"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "iy",+                                        "dlSubdir": null,+                                        "dlUri": "http:uo"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 4.2.5 && >= 6.8.7 && == 5.5.3 ) || ( >= 1.3.8 && >= 2.8.3 && >= 5.1.8 && < 5.2.3 )": {+                                        "dlHash": "qlw",+                                        "dlSubdir": null,+                                        "dlUri": "https:yaq"+                                    },+                                    "( > 2.7.4 && > 4.8.6 && <= 1.6.3 && >= 5.3.8 && == 2.4.2 ) || ( > 5.2.3 && < 5.2.1 && >= 8.5.1 && >= 2.3.5 && < 7.2.1 && > 8.5.8 && > 1.3.4 ) || ( <= 1.5.2 && <= 7.1.3 && > 6.5.5 && <= 7.9.3 && == 5.2.7 && == 1.7.4 ) || ( >= 6.1.6 && >= 6.1.6 && < 5.8.3 && > 6.2.7 && > 6.2.2 && > 1.8.7 && > 5.8.7 )": {+                                        "dlHash": "ehikcm",+                                        "dlSubdir": {+                                            "RegexDir": "󹳊V"+                                        },+                                        "dlUri": "http:enhzfd"+                                    },+                                    "( > 7.7.5 && == 2.1.3 && <= 7.8.2 && > 4.6.6 && > 4.2.4 && == 3.3.1 && > 8.5.2 && < 2.3.6 && == 6.3.6 )": {+                                        "dlHash": "vnojew",+                                        "dlSubdir": "",+                                        "dlUri": "https:d"+                                    },+                                    "( >= 7.5.3 && >= 6.3.7 && == 6.8.8 && < 5.3.7 && < 6.8.6 )": {+                                        "dlHash": "cnjhka",+                                        "dlSubdir": "^l\u0000",+                                        "dlUri": "http:up"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( <= 7.6.3 && < 7.2.1 && < 8.6.5 && > 4.3.3 && >= 4.3.1 && >= 6.8.5 )": {+                                        "dlHash": "wrnb",+                                        "dlSubdir": "\u001c\u000e#􆂞C",+                                        "dlUri": "https:"+                                    },+                                    "( > 2.8.4 && > 1.1.8 && < 7.4.3 && < 5.7.5 && == 8.5.7 && <= 5.1.10 && > 7.3.3 && < 2.8.3 && > 3.7.4 ) || ( > 5.1.2 && >= 5.5.2 && >= 8.2.4 )": {+                                        "dlHash": "niixhet",+                                        "dlSubdir": "/Z#轶􍃺s",+                                        "dlUri": "http:cd"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "h",+                                        "dlSubdir": "'x🖐",+                                        "dlUri": "http:sqj"+                                    }+                                },+                                "Windows": {+                                    "( < 1.3.5 && <= 8.5.8 && >= 4.4.3 && >= 8.1.1 && < 8.8.3 && >= 2.5.8 && < 5.2.5 && < 1.8.1 ) || ( == 1.3.3 && < 9.8.5 && >= 8.4.6 && >= 4.9.3 && < 1.7.5 && == 5.2.7 && >= 8.5.2 )": {+                                        "dlHash": "nu",+                                        "dlSubdir": null,+                                        "dlUri": "https:xwteyu"+                                    },+                                    "( < 8.2.2 && > 4.6.6 )": {+                                        "dlHash": "rexgnnk",+                                        "dlSubdir": "N",+                                        "dlUri": "https:mexc"+                                    },+                                    "( <= 1.3.3 && >= 1.1.2 && < 5.1.7 && >= 5.6.1 && >= 4.8.8 && > 8.3.5 && >= 6.4.1 && >= 4.4.4 ) || ( <= 8.5.1 && == 7.3.6 && >= 6.5.3 && < 2.6.5 ) || ( < 8.2.4 && <= 4.5.1 && < 5.5.6 && >= 1.4.6 && >= 4.5.8 )": {+                                        "dlHash": "zoppvur",+                                        "dlSubdir": "x.\u001e\u001e픚܁y4",+                                        "dlUri": "https:qvbltx"+                                    },+                                    "( > 3.4.4 && == 6.7.8 && < 1.2.7 && == 2.3.6 && >= 8.3.6 && > 1.4.1 && < 4.2.7 && == 1.3.2 && == 2.1.8 )": {+                                        "dlHash": "izhc",+                                        "dlSubdir": null,+                                        "dlUri": "http:hxx"+                                    }+                                }+                            },+                            "A_Sparc": {},+                            "A_Sparc64": {+                                "Darwin": {+                                    "( > 7.8.1 && > 1.5.2 && >= 6.1.6 && < 2.8.5 && > 2.7.4 )": {+                                        "dlHash": "oshmsov",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "qfpke",+                                        "dlSubdir": "\u0015",+                                        "dlUri": "http:qsiqnarw"+                                    }+                                },+                                "FreeBSD": {+                                    "unknown_versioning": {+                                        "dlHash": "pbmdafkf",+                                        "dlSubdir": {+                                            "RegexDir": "9􎒃*󽨌95"+                                        },+                                        "dlUri": "http:xvyfh"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( <= 7.6.4 && == 7.3.8 && > 8.2.3 )": {+                                        "dlHash": "y",+                                        "dlSubdir": "c",+                                        "dlUri": "http:psisoa"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "bzllj",+                                        "dlSubdir": "𑌜\u0000Q!􂕤",+                                        "dlUri": "https:kramfv"+                                    }+                                },+                                "Windows": {+                                    "( <= 4.6.2 && >= 3.3.8 && >= 2.7.6 && < 9.6.5 ) || ( >= 6.3.1 && <= 5.3.7 && == 5.8.3 && > 1.2.3 ) || ( < 8.2.6 && >= 1.2.7 && >= 1.1.8 && > 4.8.2 && < 3.3.5 && > 8.5.6 && > 9.2.3 )": {+                                        "dlHash": "dpyem",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:dra"+                                    },+                                    "( > 1.2.3 && < 8.8.2 && == 4.4.3 ) || ( < 1.1.2 && >= 1.1.5 && < 4.8.5 ) || ( == 9.6.5 && >= 2.4.5 && > 8.3.2 && < 8.4.1 && > 3.5.8 ) || ( == 3.7.6 && > 1.8.2 && >= 8.1.5 ) || ( >= 2.6.8 )": {+                                        "dlHash": "re",+                                        "dlSubdir": null,+                                        "dlUri": "https:rcrqyfcd"+                                    },+                                    "( > 1.6.8 && <= 6.3.7 && < 5.3.8 && >= 8.6.7 )": {+                                        "dlHash": "zmzes",+                                        "dlSubdir": "\u0014v!\u000b",+                                        "dlUri": "https:zsixsi"+                                    },+                                    "( > 8.3.5 && <= 6.4.4 && == 7.8.4 && > 5.8.10 && >= 2.3.4 && >= 8.5.3 && < 6.3.5 && == 5.5.8 && >= 2.7.4 )": {+                                        "dlHash": "iniwnad",+                                        "dlSubdir": {+                                            "RegexDir": ":\u0001󷲙􀫥"+                                        },+                                        "dlUri": "https:avcjbf"+                                    },+                                    "( >= 4.7.3 && >= 5.1.6 && >= 2.6.7 && < 1.4.3 && > 7.2.3 && <= 5.6.5 && <= 5.4.5 && == 1.1.5 && <= 1.6.1 ) || ( < 8.4.3 && > 7.4.3 && >= 7.5.5 && >= 6.5.4 && > 1.5.7 && <= 8.4.7 && <= 1.8.2 ) || ( > 7.8.6 && > 8.6.1 && == 5.5.2 && <= 3.2.8 && >= 1.5.6 ) || ( >= 8.7.5 && <= 6.6.6 && < 6.1.1 && == 8.8.5 )": {+                                        "dlHash": "zitzpm",+                                        "dlSubdir": null,+                                        "dlUri": "https:tgce"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "www",+                                        "dlSubdir": "9\u0000b\u0004􅼾\u0008A",+                                        "dlUri": "https:yqmvnbjs"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:ldlgqtca",+                        "viPostInstall": null,+                        "viPostRemove": "lp",+                        "viPreCompile": "orlne",+                        "viSourceDL": {+                            "dlHash": "wehnncsi",+                            "dlSubdir": "󺱡",+                            "dlUri": "http:wvxpc"+                        },+                        "viTags": [+                            "base-2.4.5",+                            "qg~}\\󺭢",+                            "Prerelease",+                            "base-8.1.6",+                            "old",+                            "Latest"+                        ]+                    },+                    "5.1.8": {+                        "viArch": {+                            "A_ARM": {+                                "Darwin": {+                                    "( == 7.8.1 && > 6.6.7 && == 6.4.1 )": {+                                        "dlHash": "hsf",+                                        "dlSubdir": {+                                            "RegexDir": "l,󿵀􎢮"+                                        },+                                        "dlUri": "http:riomvpst"+                                    },+                                    "( > 5.2.7 && < 5.2.2 ) || ( <= 7.1.5 && > 4.5.8 && < 4.8.5 && <= 6.2.5 )": {+                                        "dlHash": "yxpcynp",+                                        "dlSubdir": {+                                            "RegexDir": "x\u00197\u001d\u0003"+                                        },+                                        "dlUri": "http:adnvjp"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 5.7.3 && >= 8.5.5 && < 8.8.6 && < 4.5.4 )": {+                                        "dlHash": "xe",+                                        "dlSubdir": null,+                                        "dlUri": "http:g"+                                    },+                                    "( <= 8.3.8 && == 6.1.8 ) || ( <= 5.3.6 && < 1.8.5 && >= 1.2.5 )": {+                                        "dlHash": "zphhlee",+                                        "dlSubdir": null,+                                        "dlUri": "https:fnfudro"+                                    },+                                    "( > 5.7.3 ) || ( <= 7.6.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:vjyu"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "pdhvfp",+                                        "dlSubdir": {+                                            "RegexDir": "1cU"+                                        },+                                        "dlUri": "https:vpnsbfpf"+                                    }+                                },+                                "Linux_Alpine": {+                                    "( == 1.4.2 && > 2.1.1 && > 3.4.4 && < 7.2.1 && <= 4.8.3 && >= 2.6.10 )": {+                                        "dlHash": "t",+                                        "dlSubdir": null,+                                        "dlUri": "http:usiqo"+                                    },+                                    "( > 7.4.1 && == 2.1.3 && > 4.6.1 && < 1.8.3 && >= 1.2.2 && == 8.7.4 && == 3.8.6 )": {+                                        "dlHash": "ydbo",+                                        "dlSubdir": null,+                                        "dlUri": "https:cgija"+                                    },+                                    "( >= 6.3.2 && <= 7.2.4 )": {+                                        "dlHash": "a",+                                        "dlSubdir": {+                                            "RegexDir": "\u001f!'d"+                                        },+                                        "dlUri": "https:hjonvxp"+                                    }+                                },+                                "Linux_Fedora": {+                                    "( <= 1.3.2 && == 3.4.5 && == 6.8.3 ) || ( <= 3.5.5 && < 2.8.2 ) || ( >= 8.3.3 )": {+                                        "dlHash": "dsttea",+                                        "dlSubdir": "",+                                        "dlUri": "http:ujsa"+                                    },+                                    "( >= 5.4.6 && == 2.6.6 && > 6.2.5 && == 4.6.2 && > 8.7.8 ) || ( >= 7.3.7 && < 6.1.4 && == 6.3.2 && >= 7.5.5 && <= 1.1.7 && > 1.3.3 && >= 7.7.3 )": {+                                        "dlHash": "clvtt",+                                        "dlSubdir": {+                                            "RegexDir": "{b猆eY"+                                        },+                                        "dlUri": "https:aj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ezobjbei",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_Gentoo": {+                                    "( < 6.3.1 && > 2.7.1 && == 7.8.1 && > 7.6.4 && <= 4.4.8 && == 4.2.3 && == 2.2.2 ) || ( < 7.1.4 && == 5.6.1 )": {+                                        "dlHash": "qotuck",+                                        "dlSubdir": {+                                            "RegexDir": "\u001f\\\u0013"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( <= 8.7.5 && <= 6.1.4 && <= 1.6.4 && == 4.5.2 && > 4.5.6 && > 7.1.3 ) || ( < 8.7.4 && > 3.5.2 && >= 1.4.4 && >= 3.7.8 && < 6.1.7 && > 1.4.4 && == 7.8.6 && == 3.1.5 && > 5.8.7 ) || ( <= 3.5.7 && <= 7.2.1 && > 2.8.1 && < 7.5.3 && >= 5.7.5 && >= 8.1.8 ) || ( == 4.1.1 && >= 6.1.7 && >= 6.8.3 && < 6.5.5 && <= 7.1.7 && < 8.3.1 )": {+                                        "dlHash": "hbxudix",+                                        "dlSubdir": "\u0011􊚡`\u000b",+                                        "dlUri": "http:ijnns"+                                    },+                                    "( == 8.1.7 && >= 4.4.6 && <= 5.1.4 && <= 4.4.3 && == 7.1.6 && <= 5.3.7 && > 4.4.6 && == 8.8.7 )": {+                                        "dlHash": "m",+                                        "dlSubdir": "T\u0003\u000e4Y\u0016S",+                                        "dlUri": "http:vsdyawkv"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "wv",+                                        "dlSubdir": {+                                            "RegexDir": "𡺪􇣵󹬡\u0000s􅜔\u001bq"+                                        },+                                        "dlUri": "http:jtkxpge"+                                    }+                                },+                                "Windows": {+                                    "( <= 8.7.6 && >= 4.5.4 && > 3.3.6 && <= 6.3.5 && == 7.2.1 )": {+                                        "dlHash": "axnjybt",+                                        "dlSubdir": null,+                                        "dlUri": "http:qqrr"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Windows": {+                                    "( < 1.3.1 && < 6.2.8 && < 5.4.3 && <= 3.4.6 && <= 2.5.7 && >= 6.4.7 && >= 8.7.5 && > 4.3.1 ) || ( > 7.3.8 && > 2.2.7 && < 1.3.8 && > 5.6.2 )": {+                                        "dlHash": "wqq",+                                        "dlSubdir": "A󸥹_`𦒔",+                                        "dlUri": "https:wuhync"+                                    },+                                    "( <= 3.6.3 && > 2.8.6 && < 7.5.5 && == 3.1.5 && >= 6.8.3 && <= 1.2.4 && <= 5.7.9 ) || ( <= 7.8.6 && == 3.7.2 ) || ( <= 8.5.4 && > 3.2.7 && > 3.1.6 && >= 7.2.4 && > 7.1.5 && <= 5.2.9 && > 2.2.8 && == 5.1.5 ) || ( == 3.7.8 )": {+                                        "dlHash": "ddpwkw",+                                        "dlSubdir": "kQw𒐖\u0016i􅉞\u0007",+                                        "dlUri": "http:lprwytzi"+                                    },+                                    "( > 5.2.7 && == 8.8.8 )": {+                                        "dlHash": "jujff",+                                        "dlSubdir": "짯􄶭H󳮖^j",+                                        "dlUri": "http:rjyw"+                                    },+                                    "( > 9.2.1 && < 6.3.6 && >= 6.8.8 && >= 3.3.7 )": {+                                        "dlHash": "tmrcqh",+                                        "dlSubdir": "2P[v𨻔靷",+                                        "dlUri": "https:voolr"+                                    },+                                    "( >= 5.8.3 ) || ( >= 2.1.6 && >= 7.9.4 && == 1.3.6 && >= 6.4.8 && <= 5.1.7 && > 1.4.1 ) || ( <= 1.3.8 && > 3.8.5 && == 2.3.1 && <= 1.7.5 && >= 1.2.8 && == 2.8.5 && < 5.5.7 && == 6.1.3 )": {+                                        "dlHash": "dkmvu",+                                        "dlSubdir": {+                                            "RegexDir": "􁾬<8Z"+                                        },+                                        "dlUri": "http:mrg"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "wzfnufhp",+                                        "dlSubdir": {+                                            "RegexDir": "\u0005"+                                        },+                                        "dlUri": "http:m"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:fpyxhiq",+                        "viPostInstall": "izvcv",+                        "viPostRemove": "byey",+                        "viPreCompile": "lbl",+                        "viSourceDL": {+                            "dlHash": "jqlydnm",+                            "dlSubdir": {+                                "RegexDir": "𐬄"+                            },+                            "dlUri": "http:boiehok"+                        },+                        "viTags": [+                            "󲆏",+                            "Recommended",+                            "\u000e4朗",+                            ";vXVjDz",+                            "Recommended",+                            "Prerelease",+                            "~X6*𦥹",+                            "base-2.1.6"+                        ]+                    },+                    "5.4.7": {+                        "viArch": {},+                        "viChangeLog": "https:bn",+                        "viPostInstall": "oyil",+                        "viPostRemove": "sirzxo",+                        "viPreCompile": "hecmex",+                        "viSourceDL": {+                            "dlHash": "n",+                            "dlSubdir": {+                                "RegexDir": ""+                            },+                            "dlUri": "https:go"+                        },+                        "viTags": [+                            "󱪀9pR𥎷H",+                            "base-7.5.6",+                            "Recommended"+                        ]+                    }+                },+                "Stack": {+                    "1.1.7": {+                        "viArch": {+                            "A_ARM": {+                                "Darwin": {},+                                "Windows": {+                                    "( <= 8.6.1 && == 3.1.4 ) || ( <= 7.5.4 && == 6.7.2 && <= 8.6.5 && > 2.8.4 && < 2.2.3 && < 2.5.8 && == 1.7.3 ) || ( < 2.6.6 && >= 1.3.8 && == 6.5.1 && == 7.6.6 && == 1.1.8 && < 3.6.3 && == 3.6.6 && > 7.1.5 )": {+                                        "dlHash": "wrwfbj",+                                        "dlSubdir": {+                                            "RegexDir": "n󷔈󠁓"+                                        },+                                        "dlUri": "http:wmjdvfww"+                                    },+                                    "( > 5.1.6 && <= 2.5.3 && == 5.7.5 && <= 3.8.6 && > 2.7.3 )": {+                                        "dlHash": "wyg",+                                        "dlSubdir": null,+                                        "dlUri": "http:ndxgzng"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "qkuseqoo",+                                        "dlSubdir": {+                                            "RegexDir": "鱶<┿"+                                        },+                                        "dlUri": "http:fqbvx"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "Darwin": {+                                    "( < 7.1.1 && >= 2.2.4 && >= 6.6.9 && >= 8.4.6 && < 6.2.7 && >= 4.2.8 ) || ( >= 5.4.8 && > 7.2.8 && < 8.8.8 && >= 4.8.2 && >= 1.6.9 && == 2.2.7 )": {+                                        "dlHash": "hre",+                                        "dlSubdir": "",+                                        "dlUri": "https:bggorit"+                                    },+                                    "( == 7.1.2 && <= 3.2.5 && == 4.6.6 && == 4.5.8 && < 5.3.9 && > 5.3.3 && <= 3.7.7 )": {+                                        "dlHash": "bkhk",+                                        "dlSubdir": "󶃎J\u000c􉉺𡷋=lA",+                                        "dlUri": "http:wvshg"+                                    },+                                    "( > 6.5.2 && >= 6.3.4 && >= 1.5.6 && < 5.5.5 && > 7.8.4 && == 5.6.2 && >= 1.7.1 ) || ( < 3.6.8 && > 7.6.2 && == 6.2.1 && <= 4.5.3 && <= 8.7.8 )": {+                                        "dlHash": "lrel",+                                        "dlSubdir": "io󵻹􀓅\u0019",+                                        "dlUri": "http:tup"+                                    },+                                    "( > 7.6.2 && < 2.6.1 && > 4.8.3 && >= 1.6.6 && == 3.6.9 && >= 1.3.2 && > 2.5.7 && >= 8.3.4 )": {+                                        "dlHash": "fnthp",+                                        "dlSubdir": "\u0013}󳮖",+                                        "dlUri": "https:x"+                                    },+                                    "( > 8.1.2 && < 6.1.5 && == 4.7.7 && > 8.5.5 && <= 3.1.6 && <= 7.8.7 ) || ( <= 1.4.3 && >= 8.3.3 && > 3.3.6 && > 8.6.7 && <= 6.6.5 && >= 7.1.4 && == 2.3.7 )": {+                                        "dlHash": "ntz",+                                        "dlSubdir": ".􊛝",+                                        "dlUri": "https:lmndsfs"+                                    },+                                    "( >= 1.8.1 )": {+                                        "dlHash": "z",+                                        "dlSubdir": "捐\u0004Td㸩\"",+                                        "dlUri": "http:mrm"+                                    },+                                    "( >= 2.8.6 && < 4.8.2 && <= 8.1.5 && >= 3.1.3 && == 2.1.7 && == 1.4.5 )": {+                                        "dlHash": "rsrtzfj",+                                        "dlSubdir": "&g\u0005\u0017\\\u0011",+                                        "dlUri": "http:lbbnws"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "i",+                                        "dlSubdir": null,+                                        "dlUri": "https:vpfuzzn"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 8.3.8 && > 7.7.6 && >= 2.8.2 && <= 6.6.2 && < 8.3.3 && < 2.1.6 && >= 6.3.6 )": {+                                        "dlHash": "um",+                                        "dlSubdir": "ť\u0007󳌃Ui\u0019",+                                        "dlUri": "http:nouvvlv"+                                    },+                                    "( > 5.2.3 && > 7.3.2 && < 2.6.7 && <= 6.5.3 && <= 1.7.8 && >= 5.2.7 ) || ( > 8.4.7 && <= 7.3.5 && == 7.3.6 && >= 7.6.3 && > 2.7.4 && > 2.2.1 && > 3.7.8 && < 3.7.3 && < 5.5.2 ) || ( <= 8.5.1 && > 8.6.6 )": {+                                        "dlHash": "dwbqe",+                                        "dlSubdir": {+                                            "RegexDir": "&*"+                                        },+                                        "dlUri": "https:poss"+                                    },+                                    "( >= 3.2.8 && <= 8.6.2 && >= 6.8.2 && > 3.2.4 && < 5.5.3 && > 4.6.6 && >= 4.7.7 )": {+                                        "dlHash": "qhvz",+                                        "dlSubdir": "\u0008'\u0004+eJ",+                                        "dlUri": "https:tiifqubu"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "qddt",+                                        "dlSubdir": "",+                                        "dlUri": "http:sll"+                                    }+                                },+                                "Linux_Fedora": {+                                    "( == 8.3.3 && >= 8.2.3 && < 4.8.5 && >= 2.5.5 && < 4.5.1 && <= 8.5.7 && == 6.8.8 )": {+                                        "dlHash": "gfa",+                                        "dlSubdir": null,+                                        "dlUri": "https:yawgdtxx"+                                    },+                                    "( > 3.4.7 )": {+                                        "dlHash": "h",+                                        "dlSubdir": null,+                                        "dlUri": "https:fuymxv"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "xpjnh",+                                        "dlSubdir": {+                                            "RegexDir": "􀝴􉿋"+                                        },+                                        "dlUri": "https:knrk"+                                    }+                                },+                                "Windows": {+                                    "( < 2.1.6 && > 6.7.6 && <= 2.7.7 && == 4.4.2 && > 5.8.4 && > 4.9.1 && == 7.3.1 ) || ( < 8.8.1 && <= 4.7.4 && < 2.7.3 )": {+                                        "dlHash": "izrlx",+                                        "dlSubdir": {+                                            "RegexDir": "􁇨\u0019M"+                                        },+                                        "dlUri": "http:ziqph"+                                    },+                                    "( < 5.4.6 && == 3.5.6 && <= 3.4.1 && < 1.8.7 && == 8.1.6 && <= 7.3.1 && >= 4.1.3 && <= 4.3.2 && <= 6.2.5 )": {+                                        "dlHash": "qmzhqfx",+                                        "dlSubdir": {+                                            "RegexDir": "􉛬e󻃊\u001d𦄺􏽈"+                                        },+                                        "dlUri": "http:a"+                                    },+                                    "( < 7.3.6 && <= 2.3.3 && <= 6.8.4 && < 3.6.5 && < 6.6.2 && > 8.2.7 && <= 8.4.2 )": {+                                        "dlHash": "x",+                                        "dlSubdir": {+                                            "RegexDir": "\u0008M\u0015i5"+                                        },+                                        "dlUri": "https:bfq"+                                    },+                                    "( < 8.2.1 && <= 3.6.5 && >= 3.2.5 && < 3.6.3 && <= 6.8.8 && <= 7.1.2 && < 6.6.7 ) || ( == 5.3.8 )": {+                                        "dlHash": "mfynvk",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( == 7.4.7 && >= 7.3.4 && > 3.4.6 && >= 3.5.8 && <= 6.4.5 && <= 1.7.8 && > 1.3.4 ) || ( >= 3.2.6 && > 1.1.4 && > 4.7.7 && >= 5.8.2 && > 1.5.4 ) || ( > 1.4.8 && < 6.5.3 && <= 2.1.6 && < 5.4.6 && < 2.3.6 && == 4.1.6 && > 3.7.4 && >= 2.1.4 && >= 4.7.5 )": {+                                        "dlHash": "qd",+                                        "dlSubdir": null,+                                        "dlUri": "http:rwafnxbm"+                                    },+                                    "( == 8.6.2 && >= 6.4.2 && > 7.8.7 && >= 8.5.4 ) || ( == 3.2.3 && >= 3.2.3 && == 2.6.4 && >= 6.1.6 && < 2.3.6 && > 4.4.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "􎖰",+                                        "dlUri": "https:ezqdli"+                                    },+                                    "( >= 8.3.8 && == 5.4.2 && >= 3.1.1 && > 8.7.3 && < 8.1.8 && == 3.6.8 && >= 6.7.2 && >= 7.2.3 )": {+                                        "dlHash": "pnitjfax",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:gmgut"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "rje",+                                        "dlSubdir": "D&8$󴴑􍘬co",+                                        "dlUri": "https:u"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( <= 5.7.3 && <= 3.8.8 && == 8.5.7 && <= 4.2.7 && > 5.2.6 ) || ( >= 6.7.6 && == 5.3.5 && <= 8.7.4 && <= 6.7.1 && >= 4.5.1 && <= 4.5.1 && > 6.7.1 ) || ( < 1.1.4 && > 1.5.8 ) || ( > 6.1.7 && <= 7.3.3 && <= 5.5.2 && < 9.8.1 && > 5.3.2 && == 3.3.7 && <= 5.1.2 && >= 1.3.5 && <= 7.7.2 ) || ( > 3.8.4 && > 1.2.7 && == 5.2.7 && == 3.6.1 ) || ( < 7.7.5 && > 4.6.3 && > 5.5.3 && == 1.3.2 && > 5.8.4 && == 3.8.4 && < 5.7.3 && > 6.3.3 ) || ( <= 3.3.7 && < 1.5.6 && == 4.5.2 && == 8.6.7 && > 5.6.6 && > 8.1.4 && >= 7.3.2 ) || ( > 5.5.2 && <= 4.8.5 && > 1.1.8 && <= 8.3.6 && < 5.5.3 && < 1.8.7 )": {+                                        "dlHash": "qv",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( <= 7.2.6 && == 2.8.7 && >= 4.6.2 && < 3.1.7 && >= 9.3.4 && < 6.4.8 && <= 1.5.5 ) || ( <= 7.8.5 && < 7.5.2 && > 3.4.2 && == 5.3.3 && < 5.1.7 && <= 4.2.7 ) || ( < 6.8.3 && == 1.8.5 && <= 1.2.4 && == 5.4.6 && >= 8.5.6 && < 7.4.5 && == 2.1.5 && > 8.2.6 ) || ( < 1.8.4 && > 6.2.5 ) || ( == 3.4.3 && >= 2.6.5 && <= 8.7.5 && > 6.6.5 && >= 2.5.8 )": {+                                        "dlHash": "scr",+                                        "dlSubdir": "p5'd󽔅󶅔7",+                                        "dlUri": "https:qfgses"+                                    },+                                    "( > 3.1.1 && == 3.8.5 && <= 5.8.6 && == 8.7.4 && == 7.7.1 && > 2.5.1 && == 3.2.2 ) || ( > 7.4.4 && == 4.5.6 && < 2.3.7 && > 5.9.4 ) || ( <= 8.7.3 && <= 2.2.8 ) || ( == 7.3.1 && < 6.4.4 && <= 2.6.2 && <= 5.1.8 && <= 1.5.2 && > 2.4.8 && <= 8.1.6 && < 3.5.3 ) || ( == 6.9.3 && == 6.8.7 && < 4.3.8 && > 5.1.1 )": {+                                        "dlHash": "uxpsodg",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( <= 1.6.2 && <= 1.1.6 && > 2.4.6 ) || ( > 6.4.3 && > 3.4.2 && == 6.5.8 && < 2.1.7 && > 5.3.5 && >= 3.6.7 && >= 2.8.1 && > 6.5.6 && < 5.5.3 ) || ( == 1.8.3 && >= 6.3.6 )": {+                                        "dlHash": "xuvnw",+                                        "dlSubdir": "%\u001e\u0003H",+                                        "dlUri": "https:re"+                                    },+                                    "( <= 8.1.2 && == 6.7.6 && < 8.4.7 && <= 6.7.8 && == 8.4.5 && <= 8.5.6 && == 1.7.4 )": {+                                        "dlHash": "folhnudp",+                                        "dlSubdir": {+                                            "RegexDir": "􁭆\u0008"+                                        },+                                        "dlUri": "http:iibsxtdu"+                                    },+                                    "( == 3.4.8 && >= 7.3.5 )": {+                                        "dlHash": "ixsx",+                                        "dlSubdir": "M\u0011",+                                        "dlUri": "http:zlwvqywx"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "󷠤𤛈􏞇+󱑜",+                                        "dlUri": "http:f"+                                    }+                                },+                                "Windows": {+                                    "( < 3.3.5 && > 7.1.2 && <= 8.5.3 && <= 7.3.3 && >= 4.5.3 && >= 4.3.3 && == 1.7.1 && >= 7.2.1 )": {+                                        "dlHash": "qwugmu",+                                        "dlSubdir": null,+                                        "dlUri": "https:alxsg"+                                    },+                                    "( < 5.7.8 && < 7.3.1 )": {+                                        "dlHash": "pnm",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( < 6.8.6 && >= 3.8.5 && < 6.2.8 )": {+                                        "dlHash": "turghtmr",+                                        "dlSubdir": "0\u000c𫶮",+                                        "dlUri": "http:zg"+                                    },+                                    "( < 8.7.6 && <= 4.8.5 && == 1.6.3 && >= 4.2.1 && < 6.1.6 && < 2.5.2 && <= 5.1.4 && == 1.5.1 )": {+                                        "dlHash": "heulheiq",+                                        "dlSubdir": null,+                                        "dlUri": "http:um"+                                    },+                                    "( > 5.6.1 && < 7.8.4 && <= 6.2.7 && > 6.4.2 && > 8.1.2 && >= 6.4.4 && < 6.3.3 && == 4.1.8 && >= 7.4.1 ) || ( <= 4.4.5 && == 3.3.8 && > 4.8.3 && >= 5.4.5 && >= 3.7.7 )": {+                                        "dlHash": "ywgaczwd",+                                        "dlSubdir": null,+                                        "dlUri": "http:oh"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 7.5.2 && > 2.4.2 && < 6.3.4 && >= 4.8.5 && == 1.4.1 )": {+                                        "dlHash": "nmehkqcx",+                                        "dlSubdir": "k\u0005\u0016C\u0014\u000f7\u0018",+                                        "dlUri": "http:yfvfevp"+                                    },+                                    "( == 2.2.5 && < 3.1.6 && >= 4.5.5 && >= 1.5.3 && < 2.7.8 && >= 7.1.7 && <= 4.6.7 && < 1.8.5 && < 4.8.5 ) || ( >= 3.4.7 && > 5.5.4 && <= 2.1.7 && == 4.7.1 && < 3.8.1 && < 5.7.8 && >= 1.2.2 && >= 4.5.8 && == 2.8.3 )": {+                                        "dlHash": "sa",+                                        "dlSubdir": null,+                                        "dlUri": "http:eicb"+                                    }+                                },+                                "Windows": {+                                    "( < 4.4.4 && <= 1.8.4 && < 8.1.1 && == 7.5.2 ) || ( <= 2.7.3 && == 5.7.4 && <= 4.8.6 && > 6.1.4 && > 4.7.4 && > 6.5.8 && <= 7.8.4 )": {+                                        "dlHash": "q",+                                        "dlSubdir": {+                                            "RegexDir": "![𨲔\n𠁆"+                                        },+                                        "dlUri": "http:yybnnsxc"+                                    },+                                    "( < 4.8.6 && > 4.8.6 && <= 1.2.5 && == 2.6.6 && < 7.2.3 && <= 7.8.6 )": {+                                        "dlHash": "kmxmkpwn",+                                        "dlSubdir": "",+                                        "dlUri": "https:cabvtr"+                                    },+                                    "( == 8.1.4 && > 2.7.6 && < 6.8.4 && >= 7.5.4 )": {+                                        "dlHash": "oupgtano",+                                        "dlSubdir": {+                                            "RegexDir": "TY"+                                        },+                                        "dlUri": "http:urnoes"+                                    },+                                    "( >= 5.4.5 ) || ( < 2.4.7 && > 5.3.4 && <= 5.2.5 && < 4.7.7 && > 2.5.4 && >= 5.1.7 ) || ( > 7.3.5 && <= 4.8.6 && < 3.1.2 && >= 1.7.7 )": {+                                        "dlHash": "wox",+                                        "dlSubdir": "t􏓞\u000e)\u000b\u0016\u00132",+                                        "dlUri": "http:lxjsvo"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "e",+                                        "dlSubdir": null,+                                        "dlUri": "http:yfnmhjks"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:k",+                        "viPostInstall": null,+                        "viPostRemove": "pdwctmw",+                        "viPreCompile": "apqewk",+                        "viSourceDL": {+                            "dlHash": "xgebbvvt",+                            "dlSubdir": {+                                "RegexDir": "ѥ\u0012\u0005J驨\t􋜞"+                            },+                            "dlUri": "http:gji"+                        },+                        "viTags": []+                    },+                    "7.2.3": {+                        "viArch": {+                            "A_32": {},+                            "A_ARM": {+                                "FreeBSD": {+                                    "( <= 4.1.5 && == 1.5.3 && >= 8.7.4 && == 6.1.5 )": {+                                        "dlHash": "nfppnhz",+                                        "dlSubdir": null,+                                        "dlUri": "https:gaic"+                                    },+                                    "( == 7.2.2 )": {+                                        "dlHash": "mxtw",+                                        "dlSubdir": {+                                            "RegexDir": "\u0016𗂆.a"+                                        },+                                        "dlUri": "http:yxf"+                                    },+                                    "( > 8.3.2 && < 3.6.2 && >= 2.6.8 && <= 2.6.1 && > 1.3.8 && >= 1.7.3 && > 3.3.1 )": {+                                        "dlHash": "pc",+                                        "dlSubdir": ";",+                                        "dlUri": "https:qvk"+                                    },+                                    "( >= 2.1.1 ) || ( >= 1.3.1 && == 3.4.3 && <= 5.5.5 && <= 1.6.6 )": {+                                        "dlHash": "w",+                                        "dlSubdir": {+                                            "RegexDir": "y\u000b𢢂"+                                        },+                                        "dlUri": "https:urumk"+                                    },+                                    "( >= 4.4.1 && < 5.8.4 && < 7.3.6 && >= 3.6.2 && == 2.5.1 && <= 3.8.1 && >= 3.6.8 ) || ( >= 5.2.7 && < 2.4.5 && >= 1.7.8 && <= 5.1.7 && == 2.3.1 && < 3.3.4 && == 6.1.7 && >= 3.3.2 ) || ( == 7.8.5 && == 1.5.6 && <= 8.7.2 && == 4.1.1 && == 2.5.5 && > 7.2.4 && <= 3.8.5 && < 7.4.6 && <= 3.6.7 )": {+                                        "dlHash": "izixypd",+                                        "dlSubdir": "",+                                        "dlUri": "https:swguk"+                                    },+                                    "( >= 7.3.5 && == 5.7.1 && < 3.5.8 && == 3.6.2 && <= 5.7.3 && == 2.1.3 && > 6.1.2 ) || ( == 8.8.1 && == 8.1.3 && > 6.3.3 && <= 7.6.3 )": {+                                        "dlHash": "qw",+                                        "dlSubdir": "\u001e+𘛟",+                                        "dlUri": "http:ojlna"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "l",+                                        "dlSubdir": "V",+                                        "dlUri": "http:ogx"+                                    }+                                },+                                "Linux_Exherbo": {+                                    "unknown_versioning": {+                                        "dlHash": "mhhh",+                                        "dlSubdir": {+                                            "RegexDir": "7􋙭1"+                                        },+                                        "dlUri": "https:xkz"+                                    }+                                },+                                "Windows": {+                                    "( <= 2.6.8 && <= 4.8.2 && == 6.6.2 && > 1.6.4 && >= 8.7.1 && < 4.8.8 && == 7.6.2 ) || ( >= 6.2.1 && > 4.2.6 && == 2.1.8 && <= 6.1.2 )": {+                                        "dlHash": "mxn",+                                        "dlSubdir": null,+                                        "dlUri": "http:aqmyp"+                                    },+                                    "( <= 6.6.6 && < 8.1.1 ) || ( == 6.7.5 && > 5.5.6 && < 6.6.4 && == 8.1.3 && <= 2.6.1 && <= 3.3.7 && <= 7.7.6 && > 6.3.6 ) || ( < 1.3.5 && == 7.5.3 && >= 4.4.5 && < 2.6.5 && < 4.8.8 && >= 5.6.8 && <= 8.7.3 && >= 8.7.1 ) || ( < 3.7.1 && == 6.2.1 && >= 1.1.4 && >= 6.4.5 && == 3.8.2 ) || ( <= 8.5.7 && <= 3.5.3 ) || ( > 5.7.3 )": {+                                        "dlHash": "qvahr",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:xlgj"+                                    },+                                    "( == 2.6.1 && < 8.5.6 && > 1.5.8 && == 4.1.5 )": {+                                        "dlHash": "tdgqfwv",+                                        "dlSubdir": "$🟉",+                                        "dlUri": "http:z"+                                    },+                                    "( == 3.1.5 && > 7.1.8 && >= 1.2.1 && > 2.3.2 && < 8.3.4 ) || ( >= 6.3.7 && <= 3.4.4 && == 7.8.3 && < 6.8.6 && >= 1.6.5 )": {+                                        "dlHash": "bkavhkcr",+                                        "dlSubdir": "\u001e󷳀+􆺝Q\u0019",+                                        "dlUri": "http:hm"+                                    },+                                    "( > 4.1.7 && == 7.2.1 && == 6.8.4 && <= 6.6.8 && == 7.4.3 && == 5.4.4 && <= 2.7.6 && > 3.8.8 && >= 3.1.7 )": {+                                        "dlHash": "mixc",+                                        "dlSubdir": "`Blﴁ",+                                        "dlUri": "http:kvstfsa"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( < 1.6.3 && >= 2.1.8 && >= 2.4.8 && > 8.5.8 && < 2.5.1 && < 7.6.4 && > 6.3.8 )": {+                                        "dlHash": "nkp",+                                        "dlSubdir": null,+                                        "dlUri": "http:qx"+                                    },+                                    "( == 7.8.6 && >= 1.4.7 && > 8.3.5 && < 9.3.1 )": {+                                        "dlHash": "ifs",+                                        "dlSubdir": "\u001eA",+                                        "dlUri": "http:iak"+                                    },+                                    "( > 1.8.5 && <= 8.2.7 && > 5.5.9 && > 3.6.8 && >= 4.3.4 && <= 6.2.4 && >= 5.2.2 )": {+                                        "dlHash": "lmpxdks",+                                        "dlSubdir": "z\u0004",+                                        "dlUri": "http:yzqnqut"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ryplwoa",+                                        "dlSubdir": ",",+                                        "dlUri": "https:bixf"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:yzl",+                        "viPostInstall": "qecgd",+                        "viPostRemove": "zzuiq",+                        "viPreCompile": "jwqv",+                        "viSourceDL": {+                            "dlHash": "uhqdcf",+                            "dlSubdir": null,+                            "dlUri": "https:hm"+                        },+                        "viTags": [+                            "base-5.5.5",+                            "old",+                            "base-6.8.1",+                            "old",+                            "Recommended",+                            "base-2.5.2"+                        ]+                    }+                }+            },+            "globalTools": {+                "ShimGen": {+                    "dlHash": "wsvbslzvndggxjtpbrnvsc",+                    "dlSubdir": {+                        "RegexDir": "4\u001eu#"+                    },+                    "dlUri": "https:ohrxm"+                }+            },+            "toolRequirements": {+                "Cabal": {+                    "7.7.4": {+                        "Darwin": {+                            "( < 4.3.6 )": {+                                "distroPKGs": [+                                    "gssaww",+                                    "id",+                                    "",+                                    "",+                                    "nudek"+                                ],+                                "notes": "ncoyqt"+                            },+                            "( < 5.7.5 && < 8.1.5 && <= 6.4.1 && == 7.7.7 && <= 3.8.7 && < 7.7.1 && == 8.4.1 && < 3.2.1 && <= 4.6.6 ) || ( >= 4.8.2 && >= 4.3.6 && < 1.6.8 && >= 8.7.4 && <= 7.6.6 && < 1.1.2 && >= 4.4.5 && <= 7.6.1 && < 7.3.5 )": {+                                "distroPKGs": [+                                    "",+                                    "nrteluta"+                                ],+                                "notes": ""+                            },+                            "( > 1.8.3 && < 9.5.2 && >= 1.3.4 && >= 2.4.5 && > 5.5.7 ) || ( <= 7.4.3 && < 2.7.6 && < 1.7.8 && >= 5.8.6 && >= 2.6.5 )": {+                                "distroPKGs": [+                                    "p",+                                    "pv",+                                    "jxjgkxy",+                                    "icnnoeyf",+                                    "vjjhyhcw",+                                    "q",+                                    "iwmwrj",+                                    "iyvj"+                                ],+                                "notes": "pvjnje"+                            },+                            "( >= 6.6.1 && >= 3.7.7 && == 1.3.1 ) || ( <= 4.6.4 && == 3.5.4 && > 1.2.5 && > 6.6.5 && > 5.5.3 && > 3.1.5 ) || ( <= 6.4.2 && == 7.3.3 && < 5.7.2 && <= 9.6.1 ) || ( == 4.8.6 )": {+                                "distroPKGs": [+                                    "yhb",+                                    "kloj",+                                    "lywglkj",+                                    "rfrqfquq",+                                    "qyu",+                                    "aajlthx",+                                    "hpw"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "xlcxzodm"+                            }+                        },+                        "FreeBSD": {+                            "( >= 7.4.5 && < 2.8.2 && <= 8.8.7 && == 8.4.1 && < 5.9.6 && <= 5.6.5 && < 6.5.6 && == 1.3.1 )": {+                                "distroPKGs": [+                                    "gs"+                                ],+                                "notes": "kbzkotf"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "udyih",+                                    "",+                                    "yoe"+                                ],+                                "notes": "jysijo"+                            }+                        },+                        "Linux_AmazonLinux": {+                            "( >= 3.8.5 )": {+                                "distroPKGs": [+                                    "udpg",+                                    "qus",+                                    "fp",+                                    "a",+                                    "kp",+                                    "ued",+                                    "zeqe"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "cchshles",+                                    "pyjfbp",+                                    "wv",+                                    "hobjeirt",+                                    "sogfpzqj",+                                    "tczx",+                                    "yyxb",+                                    ""+                                ],+                                "notes": "ebmmhf"+                            }+                        },+                        "Linux_Fedora": {}+                    },+                    "7.8.2": {+                        "FreeBSD": {+                            "( <= 3.6.7 && <= 4.8.5 && < 1.5.7 && > 5.3.1 && <= 7.5.7 && <= 3.1.4 && > 7.3.4 && > 6.1.7 ) || ( > 3.1.7 && > 5.4.5 && <= 3.6.7 && >= 9.8.3 && > 8.5.8 && < 6.8.1 && == 1.2.6 && == 6.4.5 )": {+                                "distroPKGs": [+                                    "eugqrccr"+                                ],+                                "notes": "wfp"+                            }+                        },+                        "Windows": {+                            "( == 7.4.8 && <= 1.4.4 && <= 2.2.6 ) || ( < 2.1.4 && < 4.5.3 && <= 7.4.3 && > 9.5.8 ) || ( > 8.2.1 )": {+                                "distroPKGs": [],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "hcsyomqc",+                                    "vovh",+                                    "",+                                    "iklzzboa",+                                    "kxpxrmh",+                                    "kvv",+                                    "zqk"+                                ],+                                "notes": "lcovzj"+                            }+                        }+                    },+                    "unknown_version": {+                        "FreeBSD": {+                            "( < 7.6.1 && <= 5.3.4 && == 4.3.1 && < 4.7.8 && >= 3.6.1 && >= 8.7.5 )": {+                                "distroPKGs": [+                                    "mldarfsz",+                                    "bwiuq"+                                ],+                                "notes": "b"+                            },+                            "( >= 2.8.6 && == 4.3.2 && >= 3.2.6 && < 1.7.5 )": {+                                "distroPKGs": [+                                    "tcnnitzp",+                                    "ywyn",+                                    "rehieto",+                                    ""+                                ],+                                "notes": ""+                            },+                            "( >= 5.3.6 && <= 4.7.3 && <= 7.5.5 )": {+                                "distroPKGs": [+                                    "bnpybg",+                                    "mi",+                                    "wwoaolxq",+                                    "tmuyozfs",+                                    "qz",+                                    "hkfi",+                                    "wwd"+                                ],+                                "notes": "nxvco"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "rbtsg",+                                    "gxahhdcb",+                                    "tfutbpg",+                                    "fyqyfn",+                                    "xmjqoqsd",+                                    "ix",+                                    ""+                                ],+                                "notes": "djegug"+                            }+                        },+                        "Linux_Debian": {+                            "( <= 4.5.8 && > 1.6.8 && < 2.7.7 ) || ( <= 2.2.7 && < 1.3.6 && > 6.1.5 && == 1.3.4 && > 4.5.2 && == 4.1.7 ) || ( <= 7.4.7 && <= 1.8.2 && > 5.7.8 && < 6.8.5 && <= 4.3.4 && >= 2.1.6 ) || ( == 2.2.5 && > 1.4.2 && > 3.9.4 )": {+                                "distroPKGs": [+                                    "xiuun",+                                    "gndvpp",+                                    "",+                                    "nmfqlr",+                                    "zzcjc"+                                ],+                                "notes": "ytcrtm"+                            },+                            "( <= 5.8.3 && == 3.4.8 && < 1.4.6 && < 2.5.8 ) || ( >= 4.6.4 && >= 8.7.6 && <= 2.2.8 && <= 2.8.3 && <= 5.3.5 && <= 6.7.3 && < 3.5.2 )": {+                                "distroPKGs": [+                                    "y",+                                    "kfc",+                                    "dblcvrfv",+                                    "wwjuxpk"+                                ],+                                "notes": "nbve"+                            },+                            "( == 4.7.1 && < 2.2.6 )": {+                                "distroPKGs": [+                                    "wqy",+                                    "r",+                                    "bvhajz",+                                    "ahxxwx",+                                    "pgotj",+                                    "bp",+                                    "zjblrt"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "lo",+                                    "wofmkj",+                                    "ryudcry",+                                    "hpfq",+                                    "",+                                    "onvnodam"+                                ],+                                "notes": "joxjza"+                            }+                        },+                        "Windows": {+                            "( == 4.1.6 && >= 7.3.8 && > 2.2.4 && > 6.4.7 && < 4.8.5 ) || ( >= 2.6.7 && == 4.8.7 && >= 8.8.10 && >= 7.7.4 && == 8.4.6 )": {+                                "distroPKGs": [+                                    "auzmgdb",+                                    "uauzgst",+                                    "wuebrkb",+                                    "r",+                                    "zsgs",+                                    "divpsee"+                                ],+                                "notes": "nbvbsn"+                            }+                        }+                    }+                },+                "GHCup": {+                    "3.7.7": {},+                    "5.1.7": {+                        "FreeBSD": {+                            "( < 8.2.8 && > 3.8.3 && >= 1.5.4 && == 2.6.5 )": {+                                "distroPKGs": [+                                    "vyiru",+                                    "",+                                    "cedwsfiq",+                                    "no"+                                ],+                                "notes": "xufpoxgx"+                            },+                            "( <= 6.2.2 && == 2.5.5 && <= 5.8.8 && == 4.3.1 ) || ( > 6.5.5 && >= 1.8.1 && >= 4.3.2 && < 8.2.2 && < 1.5.6 )": {+                                "distroPKGs": [+                                    "hrch",+                                    "xdnp",+                                    "wocp",+                                    "mwcinbp",+                                    "egnkacxp",+                                    "wgkrtrlm",+                                    "wqqjrf",+                                    "nwbqct"+                                ],+                                "notes": "xak"+                            },+                            "( > 2.4.7 && == 8.6.4 && <= 3.5.3 )": {+                                "distroPKGs": [+                                    "nnvt",+                                    "qcag",+                                    "lxanmo",+                                    "cd"+                                ],+                                "notes": "hqfh"+                            },+                            "( > 5.5.7 && <= 2.6.5 && < 5.4.6 && > 5.1.7 && > 6.3.6 && >= 8.6.8 ) || ( < 7.2.5 && < 2.4.8 && >= 8.4.6 )": {+                                "distroPKGs": [],+                                "notes": "hgwl"+                            },+                            "( > 5.7.2 && < 3.7.4 && < 4.1.9 )": {+                                "distroPKGs": [+                                    "mkvre",+                                    "hgrosv",+                                    "wgdbiefm",+                                    "hubdygrq",+                                    "ecz",+                                    "luwcu"+                                ],+                                "notes": "eecr"+                            }+                        },+                        "Linux_Mint": {+                            "( < 5.4.3 && == 1.6.1 )": {+                                "distroPKGs": [+                                    "yksmf",+                                    "lb",+                                    "rkv",+                                    "niuik",+                                    "r",+                                    "cait"+                                ],+                                "notes": ""+                            },+                            "( == 2.8.1 && <= 3.9.5 && > 4.6.5 && < 6.5.1 && <= 1.2.9 && > 7.5.2 ) || ( >= 2.6.3 && <= 8.1.3 && == 4.3.6 && < 6.2.4 && > 4.1.2 && >= 7.5.7 && <= 3.5.7 && > 5.2.6 ) || ( == 8.1.3 && < 2.3.7 && >= 6.7.1 && > 5.3.1 )": {+                                "distroPKGs": [+                                    "gqe",+                                    "ss",+                                    "dxxtwv",+                                    "sqm",+                                    "",+                                    "",+                                    "xbh",+                                    ""+                                ],+                                "notes": "jhaoof"+                            },+                            "( == 3.5.6 && >= 3.1.2 && == 6.6.5 && < 6.1.5 && >= 5.2.6 && > 8.3.1 ) || ( == 8.8.2 && < 4.6.3 && <= 1.3.6 && > 7.2.3 && < 1.8.8 && == 6.5.1 && > 7.1.3 && < 7.5.4 )": {+                                "distroPKGs": [+                                    "whukylb",+                                    "levkfod",+                                    "jfvwddyc",+                                    "x",+                                    "dgdc",+                                    ""+                                ],+                                "notes": "vxiivox"+                            },+                            "( == 8.8.7 && == 8.6.1 && > 5.1.6 && < 3.7.3 && == 3.2.5 )": {+                                "distroPKGs": [+                                    "pvqob",+                                    "kepuj"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_RedHat": {+                            "( < 3.4.8 && < 6.2.2 && > 3.1.5 )": {+                                "distroPKGs": [+                                    "xv",+                                    "curuc"+                                ],+                                "notes": "vccm"+                            },+                            "( <= 4.8.2 && == 6.7.8 && <= 8.6.1 && > 8.3.2 ) || ( > 5.4.5 && < 4.2.7 )": {+                                "distroPKGs": [],+                                "notes": "liucgcw"+                            },+                            "( > 1.8.4 && > 7.1.5 && == 6.7.1 && <= 4.6.2 && <= 8.4.2 && > 6.4.1 && < 1.7.7 ) || ( < 1.8.7 && >= 5.6.3 && < 1.8.5 && > 7.8.5 && > 4.6.6 && >= 3.2.3 && > 1.2.2 && <= 8.8.3 && >= 4.3.6 ) || ( == 1.1.8 && == 4.3.4 ) || ( < 2.1.2 && == 7.2.1 && == 7.7.4 && >= 3.7.1 && > 7.3.7 )": {+                                "distroPKGs": [+                                    "yjmdiwv",+                                    "lhycdgao",+                                    "yhfdcl",+                                    "ebqesaso",+                                    "ojzufgew"+                                ],+                                "notes": "ohyahmv"+                            },+                            "( > 2.7.8 && <= 1.2.5 )": {+                                "distroPKGs": [+                                    "aadcv",+                                    "oq",+                                    "dbemhgjw",+                                    "ebgumyc",+                                    "hp",+                                    "r",+                                    "l"+                                ],+                                "notes": "mywi"+                            },+                            "( > 3.4.2 ) || ( >= 2.8.7 && == 6.5.4 && > 4.9.5 && > 1.5.3 && == 1.7.7 && < 9.5.3 )": {+                                "distroPKGs": [+                                    "",+                                    "jmfdo"+                                ],+                                "notes": "qw"+                            },+                            "( >= 4.6.7 && < 6.3.8 && > 5.7.8 && < 1.1.4 ) || ( == 5.2.8 && >= 6.6.4 && >= 5.4.7 && >= 1.3.1 )": {+                                "distroPKGs": [+                                    "",+                                    "r",+                                    "imy",+                                    "xuqmfcis",+                                    "",+                                    "bljsgpv",+                                    "p"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "emtfn",+                                    "a",+                                    "s",+                                    "icgpoz",+                                    "jgenxz",+                                    "ucxzgbkv"+                                ],+                                "notes": "nu"+                            }+                        },+                        "Windows": {+                            "( < 7.1.3 && >= 6.6.4 && <= 8.7.5 && >= 7.7.7 && <= 7.2.1 && < 7.1.4 && == 1.5.2 && <= 8.2.2 ) || ( >= 4.4.1 && < 2.4.1 && <= 3.4.3 && > 2.2.3 && == 2.7.3 && == 3.2.8 && <= 3.4.6 && >= 3.2.2 ) || ( > 5.5.3 && > 8.1.1 && > 8.4.2 && > 5.8.8 )": {+                                "distroPKGs": [],+                                "notes": "hfb"+                            },+                            "( > 8.1.3 && < 8.6.8 && < 3.7.1 && == 7.2.1 )": {+                                "distroPKGs": [+                                    "fuzyvnfa",+                                    "heud",+                                    "",+                                    "whkd"+                                ],+                                "notes": "jfh"+                            },+                            "( >= 2.3.7 ) || ( > 5.1.7 && >= 7.4.1 && >= 4.5.7 && < 7.4.5 && <= 5.5.7 && <= 5.3.3 && < 1.6.3 && == 5.3.2 && > 4.6.8 )": {+                                "distroPKGs": [+                                    "tgdxxie",+                                    "tudedtxa",+                                    "",+                                    "r",+                                    "",+                                    "qycdk",+                                    "foid"+                                ],+                                "notes": "jijhzazh"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "icll"+                            }+                        }+                    },+                    "7.3.3": {+                        "Darwin": {+                            "( < 6.4.2 ) || ( == 7.4.4 && > 1.7.5 && <= 3.2.8 ) || ( <= 2.3.4 && <= 5.6.1 && >= 1.3.6 && == 6.3.1 ) || ( > 3.8.7 && >= 7.7.9 && < 2.1.7 && < 3.7.4 && < 8.8.5 && > 7.8.7 ) || ( <= 5.8.1 && >= 3.3.5 && > 8.1.7 && > 6.1.6 && > 5.3.2 && == 3.4.4 ) || ( < 4.4.8 && <= 8.3.2 && >= 6.1.4 && == 1.8.4 && == 8.5.1 && > 4.5.7 )": {+                                "distroPKGs": [+                                    "d",+                                    "",+                                    "mf",+                                    "ghlvy",+                                    "tgdro",+                                    "duudzn"+                                ],+                                "notes": ""+                            },+                            "( <= 2.2.7 && > 6.6.2 && < 7.1.8 && == 7.2.3 ) || ( == 5.6.8 && <= 3.2.8 && <= 5.4.4 && <= 6.4.7 && >= 3.4.1 )": {+                                "distroPKGs": [+                                    "pytwx",+                                    "",+                                    "f",+                                    "giqf",+                                    "kjzcsc",+                                    ""+                                ],+                                "notes": ""+                            },+                            "( == 6.7.3 && > 8.7.6 && > 1.3.7 && == 2.4.7 && < 7.2.5 && == 2.7.7 && <= 1.6.4 && > 4.4.3 ) || ( < 2.7.2 )": {+                                "distroPKGs": [+                                    "awnqrw",+                                    "",+                                    "n",+                                    "cefono",+                                    "xxd"+                                ],+                                "notes": "wlzbx"+                            },+                            "( > 5.5.6 && > 6.4.5 && <= 2.5.4 && <= 7.4.4 && == 6.8.4 && < 1.7.7 && > 5.1.5 )": {+                                "distroPKGs": [+                                    "hbuxtj",+                                    "ph",+                                    "",+                                    "m"+                                ],+                                "notes": "nvzef"+                            },+                            "( > 6.2.6 && > 3.4.2 && <= 7.3.4 && >= 1.4.8 && <= 7.4.8 && < 5.1.4 )": {+                                "distroPKGs": [+                                    "ruojwasp",+                                    "ok",+                                    "f",+                                    "ayibt",+                                    "evnhp"+                                ],+                                "notes": "egab"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "odpyv"+                                ],+                                "notes": "im"+                            }+                        },+                        "FreeBSD": {+                            "( < 1.5.4 && == 8.3.1 && > 6.6.5 && >= 7.3.1 && <= 5.4.8 && >= 2.6.5 && == 8.8.1 && > 2.3.1 && <= 6.5.3 ) || ( > 7.1.1 && <= 1.1.6 && == 3.1.9 && == 1.1.7 && <= 8.8.8 && <= 6.3.6 ) || ( > 8.6.8 && >= 5.4.4 && > 8.4.5 && < 5.8.3 && <= 6.5.4 && > 8.4.2 && >= 6.4.1 && > 9.1.4 && < 4.6.6 )": {+                                "distroPKGs": [+                                    "",+                                    "gcmfnce",+                                    "rly"+                                ],+                                "notes": "vb"+                            },+                            "( <= 1.4.4 && == 5.7.4 )": {+                                "distroPKGs": [+                                    "vskpdkr",+                                    "lwgdeci",+                                    "a",+                                    "k",+                                    "",+                                    "axn",+                                    "brwmhtii"+                                ],+                                "notes": "erla"+                            },+                            "( > 6.7.2 && == 4.4.4 && >= 4.8.2 && < 2.2.6 )": {+                                "distroPKGs": [+                                    "fpqdf"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_Gentoo": {+                            "( > 8.2.8 && == 4.2.1 && == 8.3.4 && == 5.1.1 && <= 3.7.2 && < 5.7.5 && <= 1.4.6 && < 4.3.5 ) || ( < 1.4.7 && == 2.7.5 && >= 5.2.3 && > 2.6.7 && == 5.8.5 && > 4.1.6 && >= 6.2.8 && >= 8.7.5 && > 1.7.6 )": {+                                "distroPKGs": [+                                    "nijdeb"+                                ],+                                "notes": "iftwupn"+                            },+                            "( > 8.8.7 && <= 5.8.7 && < 4.1.3 && < 4.3.7 && < 7.2.2 )": {+                                "distroPKGs": [],+                                "notes": "neu"+                            },+                            "( >= 5.4.5 && == 3.3.10 && > 6.4.1 && == 5.7.4 && < 3.5.1 )": {+                                "distroPKGs": [+                                    "elgrn",+                                    "eu",+                                    "h",+                                    "gm",+                                    "xruwtb",+                                    "wbkkaykw",+                                    "xvosecj",+                                    "uzg"+                                ],+                                "notes": "kupnuyy"+                            },+                            "( >= 5.6.7 ) || ( > 6.5.8 && > 4.4.8 && >= 2.5.7 && == 3.1.5 && < 8.5.5 && < 2.9.6 && < 1.1.8 ) || ( >= 8.3.4 && <= 8.6.3 && == 6.7.6 ) || ( < 8.7.2 && >= 1.6.4 && < 8.1.7 && == 6.5.6 && > 3.8.6 && >= 5.4.7 && <= 3.7.7 && <= 6.4.6 ) || ( <= 7.7.2 && < 7.7.7 && >= 7.6.3 && == 6.7.7 && < 1.8.8 && > 6.5.1 && <= 3.1.3 && <= 3.8.5 ) || ( < 2.6.8 && < 6.6.4 && == 1.5.3 && >= 1.1.1 && == 1.4.7 && > 7.6.2 ) || ( <= 7.5.1 && == 4.8.5 && == 4.6.8 && == 5.3.5 )": {+                                "distroPKGs": [+                                    "vpoe",+                                    "e",+                                    "vu",+                                    "cxtvauww",+                                    "fhctyap"+                                ],+                                "notes": "fhzzg"+                            }+                        },+                        "Windows": {+                            "( < 2.1.5 && == 2.1.4 )": {+                                "distroPKGs": [+                                    "ptlf",+                                    "jedqybm",+                                    "vygog",+                                    "bczhhp",+                                    "",+                                    "txbv",+                                    "vgb"+                                ],+                                "notes": "ufdftd"+                            },+                            "( < 4.5.2 && < 4.6.8 && == 6.6.6 && == 1.3.6 && <= 1.6.3 && < 8.8.6 && == 2.7.4 && < 8.7.1 )": {+                                "distroPKGs": [+                                    "",+                                    "kin",+                                    "kr",+                                    "xjaiphvx",+                                    "wxhz",+                                    ""+                                ],+                                "notes": "rqplchqp"+                            },+                            "( < 7.5.6 && == 7.1.5 && < 4.7.2 && == 2.7.7 && < 5.2.5 && > 7.5.7 && >= 4.1.3 && < 1.5.4 ) || ( < 6.2.4 && <= 3.3.5 && < 3.1.1 && > 3.5.1 )": {+                                "distroPKGs": [+                                    "nv"+                                ],+                                "notes": "c"+                            },+                            "( == 4.2.5 && > 3.3.6 && > 4.4.4 && < 7.5.7 ) || ( == 4.2.8 && <= 8.8.1 && == 5.2.8 && < 3.2.4 && == 1.3.4 && > 8.1.2 && > 5.4.3 && >= 6.7.2 && < 2.8.8 )": {+                                "distroPKGs": [+                                    "lg",+                                    "jbv",+                                    "ht",+                                    "imlehk",+                                    "",+                                    "",+                                    "osxd"+                                ],+                                "notes": "epyaepo"+                            },+                            "( == 5.3.7 && < 8.4.8 && <= 6.6.2 && > 1.5.1 && <= 8.1.5 && >= 1.7.7 && > 4.1.6 && == 3.7.6 ) || ( > 2.6.8 && < 6.4.1 && > 6.3.7 && < 3.2.9 && >= 2.6.3 && == 1.7.4 ) || ( < 5.1.4 && > 6.1.4 && == 2.4.1 && >= 8.3.1 && >= 4.8.7 && > 1.2.2 && <= 5.7.3 && > 2.6.1 && > 4.1.6 ) || ( > 7.1.4 && < 4.5.7 ) || ( >= 2.7.4 && > 7.5.2 && < 4.3.3 ) || ( >= 6.5.7 && == 1.8.5 && >= 7.5.6 && >= 5.8.3 && > 4.3.3 )": {+                                "distroPKGs": [+                                    "wn",+                                    "izgboev",+                                    "lxtnh",+                                    "tmdxoxst",+                                    "zvbzr",+                                    "mvrm"+                                ],+                                "notes": ""+                            },+                            "( >= 6.1.2 && < 5.6.3 && > 2.4.2 )": {+                                "distroPKGs": [],+                                "notes": "zyd"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "nj",+                                    "",+                                    "p"+                                ],+                                "notes": "qk"+                            }+                        }+                    },+                    "unknown_version": {+                        "FreeBSD": {},+                        "Linux_RedHat": {+                            "( < 6.1.2 && < 7.6.3 && == 7.6.10 )": {+                                "distroPKGs": [+                                    "w",+                                    "k",+                                    "asrad",+                                    "tb",+                                    "j",+                                    "wqcsgi",+                                    "mlsyvw",+                                    "isuvhwy"+                                ],+                                "notes": "ps"+                            },+                            "( == 2.6.5 && == 6.5.7 && >= 1.8.6 && == 1.8.7 && > 6.2.2 && > 4.2.3 && >= 6.5.6 ) || ( == 7.8.3 )": {+                                "distroPKGs": [+                                    "r",+                                    "lhjpr",+                                    "tbdenuyi",+                                    "qwnjmeb",+                                    "f",+                                    "bphp"+                                ],+                                "notes": "v"+                            },+                            "( == 6.8.4 && <= 2.6.3 && > 4.5.3 && < 1.5.5 && < 3.2.4 && == 5.1.7 && == 4.4.2 && <= 4.6.1 && <= 8.7.1 )": {+                                "distroPKGs": [+                                    "haxuy",+                                    "mqfb",+                                    "fcyhwk",+                                    "gdrwaz",+                                    "cr"+                                ],+                                "notes": ""+                            },+                            "( > 5.3.6 && == 5.2.7 && == 6.4.2 )": {+                                "distroPKGs": [+                                    "ozet",+                                    "bxbpzy",+                                    "lfhkly",+                                    "yox",+                                    "qwhideq",+                                    "yovwdzy",+                                    "c",+                                    "xzbbojb"+                                ],+                                "notes": ""+                            },+                            "( >= 3.1.6 && == 6.7.4 && > 5.6.4 && == 3.4.2 ) || ( >= 1.2.6 && == 1.7.8 && > 3.2.1 && >= 3.6.4 ) || ( == 8.7.5 && >= 5.7.3 && > 2.8.1 && <= 3.2.1 && < 1.6.7 && >= 1.8.4 && == 3.2.1 && == 6.8.3 && >= 2.2.8 )": {+                                "distroPKGs": [+                                    "yrb",+                                    "nhzbt",+                                    "dcxo",+                                    "emn",+                                    "yxeblvu",+                                    "hcjt"+                                ],+                                "notes": "mqth"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ewlnro",+                                    "zxncfa"+                                ],+                                "notes": "yzlt"+                            }+                        }+                    }+                },+                "Stack": {+                    "1.5.3": {+                        "Linux_Debian": {+                            "( < 5.1.3 && == 4.3.6 && >= 1.7.6 && >= 5.3.1 && == 1.8.4 ) || ( <= 3.6.6 && > 5.8.5 && > 7.4.4 && < 8.6.5 && > 6.5.8 ) || ( < 4.2.1 && < 3.6.5 && == 3.3.8 && <= 8.6.4 ) || ( > 6.3.3 && == 2.3.5 && <= 6.4.5 && == 1.8.3 && > 7.5.7 && > 7.5.6 ) || ( < 4.6.3 && >= 7.8.8 && < 1.5.2 && == 3.6.3 && <= 8.4.8 && == 2.4.3 && <= 7.2.5 && >= 7.2.1 && > 8.6.7 ) || ( == 5.1.8 && == 3.1.8 && >= 7.3.4 && <= 1.4.6 && >= 1.1.3 && < 6.3.4 && >= 8.3.6 )": {+                                "distroPKGs": [+                                    "ilzwkpvh",+                                    "rjdimce",+                                    "nlufhh",+                                    "zprv"+                                ],+                                "notes": "hj"+                            },+                            "( <= 8.5.5 && < 4.4.4 && > 1.8.7 && == 7.7.4 && <= 1.8.7 && < 3.5.8 && >= 6.7.2 && < 1.1.3 && > 8.1.3 ) || ( == 1.4.1 && <= 6.6.2 && >= 4.5.7 && == 1.7.6 && >= 2.5.7 ) || ( >= 2.3.3 && <= 2.6.6 && <= 1.4.1 && == 4.2.6 && < 5.8.5 && >= 5.6.2 && == 4.3.8 && == 7.4.8 )": {+                                "distroPKGs": [+                                    "caigu",+                                    "eupgaskh",+                                    "o",+                                    "ohysfg",+                                    "rbthpn",+                                    "uub"+                                ],+                                "notes": "br"+                            },+                            "( >= 8.1.2 && >= 1.5.7 && > 6.4.4 && < 1.7.2 && >= 6.7.1 && > 6.6.1 && > 4.7.2 )": {+                                "distroPKGs": [+                                    "oefoyoa",+                                    "lhbl",+                                    "cg",+                                    "gm"+                                ],+                                "notes": "urkvu"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "iqlizflp",+                                    "",+                                    "mhs",+                                    "qpqspxyw",+                                    "",+                                    "udg"+                                ],+                                "notes": "gv"+                            }+                        },+                        "Windows": {}+                    },+                    "1.6.8": {+                        "Darwin": {+                            "( <= 2.6.8 && == 2.1.8 && > 3.3.4 && > 4.2.8 && < 8.3.2 && <= 1.8.5 ) || ( > 6.6.6 && <= 8.4.6 && < 8.2.6 && < 6.3.8 && >= 2.7.4 && <= 1.8.6 && >= 7.2.8 ) || ( < 5.8.8 && <= 3.3.6 ) || ( < 3.2.4 && == 7.6.6 ) || ( == 8.6.8 && == 1.7.1 ) || ( < 3.5.5 && < 1.1.7 && == 6.7.4 )": {+                                "distroPKGs": [+                                    "wajbcrez",+                                    "hxiojcfm",+                                    "oh",+                                    "wfzpe",+                                    "jcfjbsvy",+                                    "fq",+                                    "tsu",+                                    "x"+                                ],+                                "notes": "n"+                            }+                        },+                        "FreeBSD": {+                            "( <= 3.5.4 && >= 5.6.5 && < 7.2.1 ) || ( <= 7.6.6 && >= 4.8.5 && == 8.8.8 && < 1.4.3 && > 3.7.2 && >= 6.4.2 && > 5.1.2 && == 1.2.6 && <= 1.6.5 )": {+                                "distroPKGs": [+                                    "vemgajn",+                                    "dbj",+                                    "rneqvo"+                                ],+                                "notes": "c"+                            },+                            "( > 7.6.5 && < 3.2.4 && > 6.8.7 && < 3.3.3 && == 3.7.8 && == 1.8.6 && >= 6.4.2 )": {+                                "distroPKGs": [+                                    "ohtxe",+                                    "",+                                    "a",+                                    "jyvasjjz",+                                    "nea"+                                ],+                                "notes": "aonbym"+                            },+                            "( >= 8.8.2 && >= 1.1.2 && == 7.8.8 )": {+                                "distroPKGs": [+                                    "j",+                                    "tivhxjis",+                                    "xvywdoyf"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "xtv",+                                    "jv",+                                    "metyighs",+                                    "fab",+                                    "wlnr",+                                    ""+                                ],+                                "notes": "vtm"+                            }+                        },+                        "Windows": {+                            "( < 8.8.6 && > 3.8.8 && > 8.8.3 && > 1.5.1 && <= 7.5.7 && <= 8.2.7 && >= 5.6.7 && > 5.6.8 ) || ( >= 5.5.5 && < 8.8.6 && <= 1.2.3 && >= 2.5.7 && == 5.3.6 && > 1.4.3 ) || ( >= 1.5.2 && >= 2.4.2 && == 8.6.8 && < 4.3.4 && == 2.1.2 && > 6.2.6 && <= 8.1.3 && < 6.5.7 )": {+                                "distroPKGs": [+                                    "onxofe",+                                    "yrjfouxk"+                                ],+                                "notes": ""+                            },+                            "( <= 6.4.1 && == 5.7.6 ) || ( <= 7.5.6 && == 4.1.2 ) || ( <= 7.7.7 && <= 1.3.4 && == 7.2.6 && >= 2.8.1 ) || ( < 4.2.1 && <= 5.1.3 && == 4.2.5 && == 6.7.8 && < 1.7.6 && >= 3.4.5 && >= 6.6.3 && < 1.5.2 )": {+                                "distroPKGs": [+                                    "zmbie",+                                    "se",+                                    "hfnbp",+                                    "axcde"+                                ],+                                "notes": "lsm"+                            },+                            "( <= 8.4.3 && == 4.1.6 && > 1.1.2 && <= 7.7.5 && <= 6.2.4 && == 8.3.5 && <= 5.4.3 && >= 3.6.4 )": {+                                "distroPKGs": [+                                    "jsddt",+                                    "lvk",+                                    "divzj",+                                    "k",+                                    "",+                                    "iennatjp"+                                ],+                                "notes": "l"+                            },+                            "( == 5.7.7 && == 2.2.7 && > 9.4.6 && <= 7.1.1 && < 4.2.8 && >= 2.5.3 ) || ( >= 1.4.4 && > 2.3.3 ) || ( <= 1.5.8 && <= 6.3.3 && >= 7.8.1 && == 6.4.5 && >= 4.2.6 && < 6.4.3 ) || ( < 6.3.5 && > 1.3.5 && >= 3.2.6 )": {+                                "distroPKGs": [+                                    "lwhzwki",+                                    "qtbz",+                                    "w",+                                    "ppqh",+                                    "uz",+                                    "fyva"+                                ],+                                "notes": "at"+                            },+                            "( > 5.3.3 && <= 6.5.7 && >= 8.5.2 && >= 1.1.1 && >= 5.1.8 )": {+                                "distroPKGs": [+                                    "wq",+                                    "iglnkw"+                                ],+                                "notes": "anho"+                            },+                            "( > 7.2.8 && < 6.8.7 && <= 1.1.6 && <= 3.4.1 && <= 2.4.4 && == 4.1.8 )": {+                                "distroPKGs": [+                                    "ldsjpsgg",+                                    "cpxf"+                                ],+                                "notes": "ek"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "katmyq"+                                ],+                                "notes": "kalikqp"+                            }+                        }+                    },+                    "2.3.5": {+                        "Windows": {+                            "( <= 1.8.5 && > 1.2.7 && < 8.5.8 && < 3.3.8 && < 8.3.5 && == 3.4.3 ) || ( <= 1.5.2 && <= 3.5.7 && <= 3.4.2 && < 7.5.1 && < 4.3.6 )": {+                                "distroPKGs": [+                                    "mveyasgh",+                                    "jr",+                                    "jqvwiqg"+                                ],+                                "notes": "huln"+                            },+                            "( == 8.2.5 && > 7.9.2 && > 4.5.3 && == 2.5.1 && == 4.7.5 && == 5.1.1 && == 6.2.6 ) || ( > 2.5.1 )": {+                                "distroPKGs": [+                                    "",+                                    "iuvdryqv",+                                    "mdd",+                                    "",+                                    "sqgw"+                                ],+                                "notes": ""+                            },+                            "( > 1.8.4 && >= 2.3.7 && >= 7.8.6 && == 6.4.5 ) || ( <= 6.2.4 && < 6.4.3 && >= 8.4.7 )": {+                                "distroPKGs": [+                                    "xkz",+                                    "",+                                    "r",+                                    "zs",+                                    "vfh",+                                    "nrjic",+                                    "svbvze"+                                ],+                                "notes": "kv"+                            },+                            "( >= 6.5.4 && <= 5.4.4 && == 6.3.4 && == 3.2.5 && < 2.1.1 && >= 2.4.3 && > 8.5.7 && < 2.7.2 && <= 4.8.4 )": {+                                "distroPKGs": [+                                    "qxcpkeo",+                                    "wo",+                                    "oolkjby",+                                    "iuue",+                                    "owa"+                                ],+                                "notes": "epff"+                            }+                        }+                    },+                    "5.4.2": {+                        "Darwin": {}+                    },+                    "6.5.6": {+                        "Darwin": {+                            "( < 7.4.3 && <= 2.3.3 && >= 1.1.7 && < 5.4.1 && >= 4.7.6 && == 1.1.6 && < 6.4.4 && < 3.7.5 && == 3.3.5 ) || ( > 7.2.8 && >= 4.2.1 && == 7.8.8 && >= 6.5.2 && >= 8.4.5 && >= 7.1.6 && >= 6.5.1 ) || ( < 3.8.1 && < 5.6.6 && == 2.4.4 && == 6.7.6 && == 2.8.9 && <= 1.7.7 && == 1.6.5 && <= 1.6.8 && > 3.1.7 ) || ( == 2.6.6 && > 1.3.5 && == 5.4.5 && < 8.2.8 )": {+                                "distroPKGs": [+                                    "urclxg",+                                    "qgx",+                                    "oha",+                                    "iec"+                                ],+                                "notes": "epkhicoc"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "imw",+                                    "oqydqr",+                                    "axi",+                                    "p",+                                    "xqht",+                                    "utrykmz",+                                    "g",+                                    "ogbnptrf"+                                ],+                                "notes": "atapcf"+                            }+                        },+                        "Windows": {+                            "( < 1.3.8 && > 3.9.7 && > 8.7.4 && >= 8.4.4 && > 4.8.7 && == 1.5.6 ) || ( <= 2.1.1 && >= 2.5.4 && > 7.2.3 && <= 2.6.2 && <= 8.6.5 && < 7.3.1 && > 4.3.2 && <= 2.3.6 ) || ( < 8.2.5 && < 5.4.8 && > 8.7.4 && >= 7.8.1 && == 1.8.1 && < 4.3.4 && == 5.5.1 && == 8.2.1 && > 1.1.8 )": {+                                "distroPKGs": [+                                    "xs",+                                    "hapenkaz",+                                    "ydu",+                                    "j",+                                    "zqttb",+                                    "ngpytclo",+                                    "uipmqkdp"+                                ],+                                "notes": "mciw"+                            },+                            "( <= 1.3.1 && == 2.4.3 && == 9.6.7 && > 8.6.6 && >= 5.4.2 && < 7.2.7 )": {+                                "distroPKGs": [+                                    "sfi"+                                ],+                                "notes": "aooxb"+                            },+                            "( > 3.3.7 && == 5.5.5 )": {+                                "distroPKGs": [+                                    "alxipjd",+                                    "wapbkequ",+                                    "yhikuqv",+                                    "wk",+                                    ""+                                ],+                                "notes": ""+                            },+                            "( >= 5.8.4 && <= 1.4.5 && >= 3.4.3 && < 5.5.2 && == 1.4.7 && == 4.4.4 && < 5.1.3 && < 1.4.8 && <= 8.4.4 )": {+                                "distroPKGs": [+                                    "ujdliktw",+                                    "riaopmvv",+                                    "jywdkhwm",+                                    "wl"+                                ],+                                "notes": "vzqtx"+                            },+                            "( >= 7.1.3 && < 4.2.4 && <= 1.1.6 && >= 4.8.1 && == 4.2.2 && <= 3.3.5 )": {+                                "distroPKGs": [+                                    "e",+                                    "kchvri"+                                ],+                                "notes": "mpntcqbr"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "w",+                                    "pxhrllc",+                                    "",+                                    "qohjo",+                                    "tjcst",+                                    "fiojpnd"+                                ],+                                "notes": "qjf"+                            }+                        }+                    },+                    "8.5.8": {+                        "Linux_Exherbo": {+                            "( < 7.5.4 && >= 7.7.4 && >= 2.3.1 && == 8.7.3 ) || ( >= 6.3.8 && > 8.8.7 && < 6.1.8 && >= 7.6.4 && <= 8.6.4 && < 4.8.2 && >= 8.6.2 && <= 3.8.1 ) || ( <= 5.4.4 && < 1.4.2 && > 7.6.8 && > 2.3.2 )": {+                                "distroPKGs": [+                                    "",+                                    "wvsxgq",+                                    "ruljynaj",+                                    "qvn",+                                    "de",+                                    "jm",+                                    "wf"+                                ],+                                "notes": "vs"+                            },+                            "( <= 7.3.8 && > 8.4.2 && <= 4.5.5 && == 8.7.5 && <= 8.2.6 && <= 2.5.6 && < 4.1.8 && <= 1.2.2 )": {+                                "distroPKGs": [+                                    "j",+                                    "rh",+                                    "f"+                                ],+                                "notes": "gil"+                            },+                            "( > 8.3.5 && >= 8.2.8 && > 8.1.2 && >= 6.1.3 && < 4.2.4 && > 3.10.7 && > 3.8.9 && >= 2.2.3 ) || ( > 2.6.8 && >= 3.7.5 && >= 6.6.6 && >= 7.5.6 && >= 1.1.8 && > 1.6.4 && < 5.3.8 && >= 8.5.8 && <= 7.5.7 )": {+                                "distroPKGs": [+                                    "nt",+                                    "bt",+                                    "",+                                    "jns",+                                    "ojahw",+                                    "p",+                                    "r",+                                    "z"+                                ],+                                "notes": ""+                            },+                            "( > 8.7.7 && == 3.6.3 ) || ( < 8.8.6 && == 2.7.1 && <= 7.1.4 && < 8.7.2 ) || ( > 8.2.8 && > 6.7.7 && <= 7.1.2 && <= 5.3.6 && >= 7.1.5 ) || ( == 6.5.5 && > 5.4.8 && < 8.5.2 && < 3.7.2 && < 6.4.8 && > 4.8.3 && <= 3.8.8 && >= 3.1.5 ) || ( < 6.7.5 && >= 8.4.6 && < 1.4.5 && == 1.4.6 && == 6.2.3 && >= 7.7.1 && <= 5.8.7 && < 4.8.9 && >= 5.3.8 )": {+                                "distroPKGs": [+                                    "qblhrha",+                                    "oeupoksf",+                                    "jnnirv",+                                    "dixeqk",+                                    "xeqnfz",+                                    "",+                                    "",+                                    "ijub"+                                ],+                                "notes": "wfmfkrw"+                            },+                            "( >= 4.4.3 && == 4.6.5 && == 3.5.6 && == 5.4.6 && >= 8.2.1 )": {+                                "distroPKGs": [+                                    "atswfd",+                                    "cpdjpiwq",+                                    "ij",+                                    "dfjymj",+                                    "xzrnekx",+                                    "cvbvy",+                                    "nkxql",+                                    "dxoxx"+                                ],+                                "notes": "dnn"+                            },+                            "( >= 8.8.2 && <= 8.7.4 && > 6.5.2 && == 1.1.8 && >= 7.4.5 && <= 3.3.8 && >= 8.1.3 && < 1.1.6 ) || ( >= 1.8.2 )": {+                                "distroPKGs": [+                                    "tq",+                                    "uipbblnc",+                                    "e",+                                    "apquwcr",+                                    "",+                                    "njt",+                                    "zcgkn"+                                ],+                                "notes": "cx"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "xobejfb",+                                    "aujgxzk",+                                    "ktwiwa",+                                    "wo",+                                    "qhm",+                                    "vytw",+                                    "khyohup"+                                ],+                                "notes": "hkjfreg"+                            }+                        },+                        "Linux_Fedora": {+                            "( == 1.2.8 ) || ( > 8.6.2 && == 1.1.2 && < 8.6.6 && >= 1.8.7 && == 3.6.2 && < 1.5.8 && >= 4.8.4 && >= 3.5.3 && >= 4.5.5 ) || ( <= 6.1.4 && >= 1.4.3 && == 5.4.1 ) || ( >= 8.1.6 && <= 2.8.7 ) || ( <= 3.7.4 && < 8.4.7 && <= 4.8.8 )": {+                                "distroPKGs": [+                                    "znvdvhyj",+                                    "uwzqnncv",+                                    "hq",+                                    "ugbbmwf",+                                    "ev",+                                    "ypwzno"+                                ],+                                "notes": "itddmu"+                            }+                        },+                        "Linux_Gentoo": {+                            "( <= 3.3.7 && < 5.3.7 && >= 8.5.2 && == 4.2.8 && > 7.1.4 && >= 4.2.6 && == 7.4.4 && < 3.7.4 )": {+                                "distroPKGs": [+                                    "xo",+                                    "iuof",+                                    "ihd"+                                ],+                                "notes": "ryagd"+                            },+                            "( == 5.1.3 && < 4.8.6 && > 8.4.5 && > 8.4.4 && > 2.4.2 )": {+                                "distroPKGs": [+                                    "wbdk"+                                ],+                                "notes": "hrstj"+                            },+                            "( >= 4.3.1 && >= 3.6.7 && > 5.6.6 && <= 7.1.2 && < 3.5.7 && < 5.3.4 && > 1.2.1 ) || ( >= 8.7.5 && <= 2.5.2 && >= 5.8.8 && >= 7.7.3 && == 4.6.8 && == 3.2.5 && > 8.5.7 ) || ( <= 2.6.8 && == 6.8.2 && >= 7.1.1 && > 6.1.1 && == 1.1.7 && == 8.3.8 ) || ( > 5.5.2 && == 8.5.6 && < 5.3.8 && >= 7.3.2 && == 6.1.4 ) || ( >= 4.3.8 ) || ( >= 8.1.4 && >= 1.4.1 && == 8.6.3 && <= 1.6.5 )": {+                                "distroPKGs": [+                                    "bygmok",+                                    "hkhnylfq",+                                    "y",+                                    "gxxkdrc",+                                    "d",+                                    "krv",+                                    "tud"+                                ],+                                "notes": "bli"+                            },+                            "( >= 7.1.4 && <= 7.6.1 && >= 6.8.4 && >= 2.7.3 && == 9.5.6 && > 1.8.6 && > 4.7.3 ) || ( == 2.2.7 && == 2.6.8 && < 1.3.8 && > 8.4.6 && > 8.7.3 && >= 7.7.7 && > 7.7.3 ) || ( >= 1.5.5 && >= 2.6.3 && >= 3.2.6 && <= 5.6.7 && >= 3.4.1 && == 3.2.7 )": {+                                "distroPKGs": [+                                    "irne"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_Mint": {+                            "( < 1.4.6 && <= 1.4.4 && < 6.3.3 && <= 5.1.7 && == 7.4.8 && >= 2.3.6 )": {+                                "distroPKGs": [],+                                "notes": "ya"+                            },+                            "( <= 8.6.4 && == 6.2.2 && < 4.2.8 && <= 1.3.1 && == 4.4.2 && >= 2.7.7 ) || ( <= 8.1.1 && == 4.1.1 && >= 8.7.4 && < 8.4.4 && == 2.1.8 && >= 3.6.7 && < 8.2.7 && >= 5.7.5 )": {+                                "distroPKGs": [+                                    "xien",+                                    "",+                                    "deku",+                                    "k",+                                    "ha",+                                    "qishwz"+                                ],+                                "notes": "jxl"+                            },+                            "( <= 8.7.7 && >= 8.3.6 && < 4.2.5 && == 7.8.8 && >= 1.1.4 && <= 3.1.8 ) || ( == 2.7.2 && < 1.1.1 && > 6.4.3 && <= 5.5.7 && <= 8.4.5 && == 2.6.3 && > 3.7.4 && >= 1.8.8 && == 2.6.5 ) || ( >= 3.4.2 && < 4.3.6 && <= 8.5.2 && > 6.1.2 && >= 6.5.4 && < 3.8.8 && <= 3.6.2 ) || ( == 1.2.6 )": {+                                "distroPKGs": [+                                    "bqoz",+                                    "ivivvo",+                                    "gy",+                                    "tfxxg",+                                    "xk",+                                    "ld",+                                    "xwucrv"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "aoefcox",+                                    "goqnx",+                                    "q",+                                    "ldblhn"+                                ],+                                "notes": "ekin"+                            }+                        },+                        "Windows": {+                            "( < 3.8.5 && >= 1.5.3 && < 6.6.1 && > 2.7.1 && < 7.5.7 ) || ( < 4.6.2 ) || ( >= 6.5.4 && == 5.7.2 && <= 2.8.5 && == 5.2.5 )": {+                                "distroPKGs": [+                                    "azjnf"+                                ],+                                "notes": "ih"+                            },+                            "( <= 4.6.8 )": {+                                "distroPKGs": [+                                    "grw",+                                    "u",+                                    "lhbwes",+                                    "yjh",+                                    "whb",+                                    "l"+                                ],+                                "notes": "cskadawi"+                            },+                            "( > 3.6.3 && < 2.4.2 && <= 5.3.5 )": {+                                "distroPKGs": [+                                    "fln",+                                    "vzflbarx",+                                    "wyw",+                                    "ibqw",+                                    "fi"+                                ],+                                "notes": "hieyg"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    ""+                                ],+                                "notes": "jteyunw"+                            }+                        }+                    },+                    "unknown_version": {+                        "Darwin": {+                            "( == 7.3.6 && >= 7.1.6 && <= 2.3.8 && <= 4.4.6 && >= 2.6.7 && > 1.1.6 && == 6.2.2 && > 3.2.4 ) || ( <= 3.7.6 && >= 7.3.7 && >= 5.7.8 && == 7.7.7 && == 8.5.1 && >= 4.4.5 && > 8.6.6 )": {+                                "distroPKGs": [+                                    "iunvxgf",+                                    "otpjjb"+                                ],+                                "notes": "jfzqklx"+                            },+                            "( > 1.1.6 && <= 4.3.6 && <= 1.2.7 && < 5.3.2 && <= 2.7.8 && > 1.5.1 )": {+                                "distroPKGs": [+                                    "quhfwr",+                                    "qsuj",+                                    "gobdbfo",+                                    "tecojcx",+                                    "ccqxhhev",+                                    "uk",+                                    "dicoyexy"+                                ],+                                "notes": "s"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ib",+                                    "qg",+                                    "dvi"+                                ],+                                "notes": "pmnk"+                            }+                        },+                        "FreeBSD": {+                            "( > 4.8.4 && == 1.6.2 && > 5.8.8 && < 2.5.4 && >= 4.6.5 && <= 8.8.5 ) || ( >= 8.5.8 && < 4.3.7 && < 6.2.2 && == 6.3.8 && == 5.6.5 )": {+                                "distroPKGs": [],+                                "notes": "xttlo"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "gchwmbu",+                                    "ijbymz",+                                    "qhvqhge",+                                    "ri",+                                    "jcutmf",+                                    "wqrci"+                                ],+                                "notes": "id"+                            }+                        },+                        "Linux_UnknownLinux": {+                            "( == 3.7.3 ) || ( == 7.5.6 && >= 3.5.2 )": {+                                "distroPKGs": [+                                    "v"+                                ],+                                "notes": ""+                            },+                            "( > 1.2.1 && < 1.6.2 && >= 1.2.6 && < 8.8.5 && >= 6.2.8 && < 6.6.3 && < 2.4.6 && > 7.4.5 && < 5.6.4 ) || ( < 4.7.1 && > 1.8.6 && < 2.4.6 && >= 6.3.5 && > 4.5.5 && <= 4.3.5 && > 1.6.5 && == 8.1.2 ) || ( >= 6.3.1 && >= 7.6.7 && > 1.3.4 )": {+                                "distroPKGs": [+                                    "wxal",+                                    "aqfcgvai",+                                    "bkevk",+                                    "kbiwfcj",+                                    "",+                                    "cegdtjo",+                                    "",+                                    "w"+                                ],+                                "notes": "xacb"+                            },+                            "( > 4.8.5 && >= 4.7.7 && > 6.3.2 && > 2.4.8 && == 1.7.3 && == 8.5.3 && >= 4.7.2 && >= 8.3.6 && > 7.1.7 )": {+                                "distroPKGs": [+                                    "dinmq",+                                    "v",+                                    "wab",+                                    "mekyxrvq",+                                    "ndqjjylq",+                                    "mkjdg",+                                    "wobboz",+                                    "azehaib"+                                ],+                                "notes": "opeplrwb"+                            }+                        },+                        "Windows": {+                            "( > 6.7.6 && >= 5.8.3 && <= 6.8.2 && == 5.8.7 && > 1.2.1 && == 1.3.5 && <= 6.6.5 && > 7.7.4 && > 1.3.5 )": {+                                "distroPKGs": [+                                    "gzgapz",+                                    "u",+                                    "",+                                    "vxyaems",+                                    "wzkhupqv",+                                    "faauf",+                                    "n"+                                ],+                                "notes": "d"+                            }+                        }+                    }+                }+            }+        },+        {+            "ghcupDownloads": {+                "Cabal": {+                    "2.6.1": {+                        "viArch": {+                            "A_ARM": {+                                "Windows": {+                                    "( <= 8.6.7 ) || ( < 4.5.1 && < 6.6.2 && >= 3.5.2 )": {+                                        "dlHash": "nba",+                                        "dlSubdir": null,+                                        "dlUri": "https:rwkvul"+                                    },+                                    "( == 3.4.7 && < 4.7.5 && < 6.2.5 && > 8.7.8 && > 6.5.3 && <= 2.8.2 && > 9.1.1 )": {+                                        "dlHash": "h",+                                        "dlSubdir": null,+                                        "dlUri": "http:ecgu"+                                    },+                                    "( == 4.6.8 && < 2.2.5 && == 2.4.1 && == 2.1.8 && > 3.2.3 && < 2.2.7 && > 7.2.1 && <= 4.8.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:wh"+                                    },+                                    "( >= 5.4.5 && >= 6.4.3 && == 6.4.2 ) || ( < 5.3.8 && < 4.7.5 )": {+                                        "dlHash": "mt",+                                        "dlSubdir": "𗘆󷷔{$",+                                        "dlUri": "https:zsqmnhbv"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "cd",+                                        "dlSubdir": null,+                                        "dlUri": "http:akmy"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "FreeBSD": {+                                    "( < 3.4.2 && < 4.6.2 && >= 5.1.4 && >= 4.2.2 && <= 1.4.4 )": {+                                        "dlHash": "fyss",+                                        "dlSubdir": "t􈄵",+                                        "dlUri": "http:sswb"+                                    },+                                    "( == 5.4.6 && >= 4.8.8 && > 8.4.8 && >= 2.9.3 && < 2.8.4 && == 6.8.7 && <= 1.1.1 && <= 1.7.3 && < 4.8.4 )": {+                                        "dlHash": "obqqlb",+                                        "dlSubdir": null,+                                        "dlUri": "http:mb"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "iuyqy",+                                        "dlSubdir": "kN𡺣J",+                                        "dlUri": "https:gq"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "FreeBSD": {}+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": null,+                        "viPostRemove": "inqxrwxs",+                        "viPreCompile": "deajwn",+                        "viSourceDL": {+                            "dlHash": "xhkk",+                            "dlSubdir": {+                                "RegexDir": ""+                            },+                            "dlUri": "https:cqreh"+                        },+                        "viTags": [+                            "old",+                            "base-6.3.4",+                            "Recommended",+                            "old",+                            "Recommended",+                            "S鴖xz󾤞",+                            "Prerelease"+                        ]+                    },+                    "4.4.4": {+                        "viArch": {+                            "A_ARM": {+                                "Darwin": {+                                    "( < 6.3.4 && > 5.6.4 && == 2.4.6 && >= 7.4.7 && >= 4.5.2 && < 5.5.2 )": {+                                        "dlHash": "u",+                                        "dlSubdir": null,+                                        "dlUri": "http:h"+                                    },+                                    "( <= 1.1.1 && >= 5.4.5 && < 3.1.3 && < 2.1.2 && == 3.6.3 && < 4.4.5 && >= 8.5.8 && > 2.2.8 ) || ( == 3.1.4 && > 6.6.4 && >= 3.5.7 && < 2.1.2 && > 5.5.7 && > 2.1.4 )": {+                                        "dlHash": "r",+                                        "dlSubdir": {+                                            "RegexDir": "N:}?\u0006.?"+                                        },+                                        "dlUri": "https:vcyrotix"+                                    },+                                    "( == 8.6.7 )": {+                                        "dlHash": "khewhz",+                                        "dlSubdir": ")AA*􆏍V\u0006",+                                        "dlUri": "https:ljykrj"+                                    },+                                    "( >= 8.2.5 && <= 2.1.4 && <= 7.3.2 && >= 3.6.5 && >= 6.2.6 && == 6.7.1 && < 8.1.4 ) || ( < 1.2.5 && <= 5.3.8 && < 2.5.6 && >= 1.7.7 && < 7.8.6 && <= 4.2.5 && == 3.1.5 && <= 8.6.1 && == 8.4.8 )": {+                                        "dlHash": "ubpew",+                                        "dlSubdir": null,+                                        "dlUri": "http:lldtjs"+                                    }+                                }+                            },+                            "A_ARM64": {+                                "Darwin": {+                                    "( > 7.5.3 && < 8.7.5 && <= 1.4.5 )": {+                                        "dlHash": "p",+                                        "dlSubdir": {+                                            "RegexDir": "aO"+                                        },+                                        "dlUri": "http:dyuqzn"+                                    },+                                    "( > 8.6.3 && <= 5.4.8 && < 5.8.7 && >= 4.5.5 && < 1.5.7 && < 2.8.7 && >= 3.8.2 && >= 5.1.7 && > 8.3.6 )": {+                                        "dlHash": "ekrdvgm",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "lz",+                                        "dlSubdir": {+                                            "RegexDir": "q𬺽"+                                        },+                                        "dlUri": "http:pixjb"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( <= 3.3.7 && < 6.3.6 && <= 3.8.1 && < 5.3.5 && == 8.6.3 )": {+                                        "dlHash": "jxf",+                                        "dlSubdir": {+                                            "RegexDir": "𥂈\r\u0019𨜤>"+                                        },+                                        "dlUri": "http:vu"+                                    },+                                    "( > 2.6.3 && <= 5.4.4 && == 2.3.4 && > 6.6.3 && == 6.5.8 && <= 2.6.5 )": {+                                        "dlHash": "bzo",+                                        "dlSubdir": "C",+                                        "dlUri": "https:"+                                    },+                                    "( > 4.2.2 && >= 8.2.6 && <= 3.5.1 && == 1.7.1 && < 2.2.6 && >= 6.3.2 && == 8.5.8 && < 2.3.2 ) || ( < 6.5.1 && <= 2.1.2 && < 6.7.3 && >= 4.5.2 && < 4.2.3 && >= 1.1.3 ) || ( < 5.8.4 && >= 7.6.4 && <= 8.7.7 && == 5.6.7 && >= 6.4.4 ) || ( > 6.1.4 && >= 5.6.5 && <= 7.6.5 && <= 1.1.7 )": {+                                        "dlHash": "uqzyqwl",+                                        "dlSubdir": {+                                            "RegexDir": "q\u0003𐬳r󲮷o)􌬳"+                                        },+                                        "dlUri": "http:e"+                                    },+                                    "( >= 2.2.5 && == 4.1.2 && == 3.3.6 && < 5.8.6 && <= 1.5.8 && >= 8.7.5 && > 6.8.7 )": {+                                        "dlHash": "so",+                                        "dlSubdir": null,+                                        "dlUri": "https:vfgyc"+                                    },+                                    "( >= 4.8.3 && == 4.2.7 && < 6.4.1 && > 8.6.3 && == 3.6.1 && == 3.9.2 && == 5.6.7 ) || ( < 1.4.2 && >= 8.5.6 && <= 4.8.2 && < 6.4.6 && >= 8.4.5 && > 1.6.5 && <= 3.3.4 && >= 4.5.2 && <= 2.1.4 )": {+                                        "dlHash": "ofug",+                                        "dlSubdir": "M!蜍􊠁vo泩􂐀",+                                        "dlUri": "https:z"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ryfdnyc",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:dlfbt"+                                    }+                                },+                                "Linux_Exherbo": {+                                    "( < 7.5.4 && >= 3.8.4 && > 7.8.7 && < 4.8.6 && > 9.2.6 && < 1.7.5 ) || ( >= 6.6.1 && > 2.2.4 ) || ( <= 6.7.3 && > 2.8.4 && >= 5.2.5 && == 2.3.1 && > 7.1.8 && >= 7.4.7 && <= 8.5.7 )": {+                                        "dlHash": "fgul",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( == 3.7.6 && >= 3.8.8 && <= 8.3.7 && >= 4.2.7 && < 5.2.8 && < 1.8.3 && <= 1.7.2 && < 8.2.4 ) || ( < 7.4.6 && <= 4.3.1 )": {+                                        "dlHash": "bhldt",+                                        "dlSubdir": "乡𓋕(\u00086X",+                                        "dlUri": "https:"+                                    },+                                    "( > 3.5.3 && >= 3.2.1 && == 2.3.1 && == 5.7.6 && >= 7.8.6 && > 6.4.6 && == 2.1.2 && > 5.7.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": "?􇁁,\"Cn",+                                        "dlUri": "https:yjzb"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "d",+                                        "dlSubdir": "𫭫P@",+                                        "dlUri": "http:iziyzh"+                                    }+                                },+                                "Windows": {+                                    "( < 8.4.2 && <= 6.8.1 && <= 6.7.5 ) || ( < 4.2.1 && >= 8.9.5 && > 6.8.3 && <= 7.4.1 && <= 5.6.1 && >= 1.3.2 && > 8.6.3 && >= 7.4.4 )": {+                                        "dlHash": "kozxn",+                                        "dlSubdir": null,+                                        "dlUri": "http:pa"+                                    },+                                    "( <= 1.7.1 && > 4.8.5 && > 4.1.2 && < 8.8.6 && == 2.1.4 )": {+                                        "dlHash": "fpjjw",+                                        "dlSubdir": "\u0010\u0003",+                                        "dlUri": "https:xkau"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( < 8.1.5 && == 7.4.3 && > 3.6.2 && >= 5.7.6 && <= 7.5.3 && <= 8.7.1 && <= 8.8.5 && > 4.4.2 && >= 2.8.8 ) || ( < 1.6.5 && >= 7.8.2 && >= 1.6.2 && <= 6.2.2 ) || ( > 6.6.6 )": {+                                        "dlHash": "rf",+                                        "dlSubdir": "\u001f38",+                                        "dlUri": "https:yel"+                                    },+                                    "( == 1.8.2 && <= 3.3.2 && == 3.7.5 && == 5.8.6 )": {+                                        "dlHash": "qdgwbtbd",+                                        "dlSubdir": null,+                                        "dlUri": "http:bwbdes"+                                    },+                                    "( >= 1.5.4 && == 4.4.8 && >= 7.2.3 && >= 2.7.8 ) || ( == 8.5.2 )": {+                                        "dlHash": "hxegyjvb",+                                        "dlSubdir": {+                                            "RegexDir": "󴵴"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( >= 6.4.5 && == 3.6.8 && > 6.6.6 ) || ( >= 2.4.1 && < 3.1.7 && < 4.4.5 && == 7.5.6 && > 2.8.7 && >= 5.2.8 && == 2.6.8 && == 6.8.8 && >= 4.3.5 )": {+                                        "dlHash": "neovfq",+                                        "dlSubdir": "􈀅䕏X|\u0011",+                                        "dlUri": "https:nxqk"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "p",+                                        "dlSubdir": "9",+                                        "dlUri": "http:eprvaiyk"+                                    }+                                },+                                "FreeBSD": {},+                                "Linux_Ubuntu": {+                                    "( <= 2.7.2 && == 7.6.9 && > 4.6.8 && > 8.3.4 && > 3.6.4 ) || ( >= 4.6.2 && >= 3.5.2 && >= 4.7.1 ) || ( <= 6.6.5 && < 7.2.3 ) || ( <= 1.4.3 ) || ( == 3.2.3 && > 6.2.4 && < 4.7.7 && == 7.5.6 )": {+                                        "dlHash": "qpcdfeo",+                                        "dlSubdir": "",+                                        "dlUri": "http:tj"+                                    },+                                    "( <= 6.4.5 && == 4.3.6 ) || ( >= 5.4.4 && > 8.8.4 && < 1.7.8 && < 6.5.6 && == 4.2.1 && < 7.7.7 && >= 6.7.3 ) || ( < 8.3.3 && == 2.8.1 && <= 2.4.3 && < 7.3.8 && < 3.3.5 && <= 8.8.4 && >= 6.9.6 && < 3.2.2 && > 3.5.5 ) || ( >= 8.1.3 && < 7.1.5 )": {+                                        "dlHash": "suosb",+                                        "dlSubdir": {+                                            "RegexDir": "Wb'"+                                        },+                                        "dlUri": "https:wjrjg"+                                    },+                                    "( == 7.7.5 && < 2.7.4 && > 6.4.1 && < 4.7.5 && == 1.8.3 ) || ( > 5.5.4 && >= 7.3.8 && > 2.4.3 && == 5.3.1 && > 7.2.6 && > 3.7.1 && >= 3.6.2 )": {+                                        "dlHash": "hh",+                                        "dlSubdir": "􊥕<>\u000b\u0010",+                                        "dlUri": "http:mod"+                                    },+                                    "( > 3.7.4 && == 5.5.7 && < 3.1.6 && > 5.4.5 && <= 8.8.6 && <= 1.8.2 && == 8.5.6 && > 5.2.1 ) || ( == 6.3.7 && < 1.2.2 && >= 2.4.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:quqnnxi"+                                    },+                                    "( >= 5.5.7 ) || ( <= 7.6.2 && < 1.3.2 && > 5.4.6 ) || ( < 5.1.3 && == 3.4.4 && > 6.8.2 ) || ( <= 6.3.6 && == 7.2.2 && < 7.6.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "Q`d\t\u001e.\""+                                        },+                                        "dlUri": "https:plnkl"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "e",+                                        "dlSubdir": null,+                                        "dlUri": "https:wz"+                                    }+                                },+                                "Windows": {+                                    "( == 6.8.2 && >= 4.4.7 && < 5.4.7 && > 6.1.2 && == 2.8.8 && <= 3.1.7 && > 6.3.4 && < 2.8.1 && > 6.5.5 ) || ( == 8.1.1 && == 7.5.2 && >= 8.8.6 && <= 3.2.1 ) || ( >= 4.7.8 && == 2.7.7 && <= 7.6.8 && == 3.3.6 && > 3.3.2 && <= 1.1.6 && >= 8.4.8 && < 8.3.2 ) || ( <= 8.1.3 && <= 2.1.8 && >= 8.7.1 && > 1.8.2 ) || ( > 5.4.7 )": {+                                        "dlHash": "scmd",+                                        "dlSubdir": {+                                            "RegexDir": "K\u0017"+                                        },+                                        "dlUri": "http:acaozr"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {+                                    "( < 6.8.5 && == 3.7.8 && >= 1.3.3 && < 7.3.1 && <= 4.2.4 && < 7.2.4 && >= 8.2.5 && <= 4.8.8 && <= 6.6.6 ) || ( == 1.1.1 && < 6.6.8 && == 1.1.3 && > 3.6.3 && >= 6.4.6 && >= 3.2.4 && == 4.8.6 && <= 2.3.4 )": {+                                        "dlHash": "s",+                                        "dlSubdir": "$",+                                        "dlUri": "https:ooxcoce"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "alklf",+                                        "dlSubdir": "𥍄",+                                        "dlUri": "https:xiiekknw"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 4.3.3 && <= 8.3.3 && > 3.8.7 && <= 7.1.5 && > 6.7.8 ) || ( <= 6.2.5 && > 4.3.1 && >= 3.4.6 && > 8.2.7 && <= 5.6.2 && == 3.4.7 && >= 3.6.8 && >= 2.8.7 && >= 5.4.7 )": {+                                        "dlHash": "t",+                                        "dlSubdir": "",+                                        "dlUri": "https:xxw"+                                    },+                                    "( == 2.4.5 && >= 1.2.4 && <= 1.5.7 && < 7.7.7 && == 1.7.3 && < 8.9.2 && >= 7.5.7 && < 5.6.6 )": {+                                        "dlHash": "kaiitxg",+                                        "dlSubdir": "|8;_W",+                                        "dlUri": "https:"+                                    },+                                    "( > 8.6.5 && < 3.8.1 && > 1.2.7 && <= 6.7.5 && == 4.7.5 && < 1.1.6 && >= 4.8.8 && < 1.6.6 && == 1.3.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u001e􉜎",+                                        "dlUri": "http:cu"+                                    },+                                    "( >= 2.8.6 && <= 3.1.7 && == 3.5.5 ) || ( >= 8.7.7 && < 3.3.4 ) || ( <= 3.4.5 && > 2.5.1 && < 8.3.2 && > 4.5.8 && == 3.8.1 ) || ( <= 5.3.5 && < 2.3.7 && > 7.6.8 && <= 8.6.4 && < 6.8.2 && > 1.1.7 && >= 8.1.1 && <= 5.8.4 )": {+                                        "dlHash": "rk",+                                        "dlSubdir": {+                                            "RegexDir": "\u0018g"+                                        },+                                        "dlUri": "http:uqcqsq"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "frmfld",+                                        "dlSubdir": {+                                            "RegexDir": "Up\u0012"+                                        },+                                        "dlUri": "http:fin"+                                    }+                                },+                                "Linux_Debian": {+                                    "( < 8.8.7 ) || ( >= 5.8.6 && <= 5.3.4 && <= 2.5.5 && >= 1.2.5 && < 3.5.5 && <= 8.2.3 && <= 3.4.8 ) || ( > 5.3.6 && == 3.5.6 ) || ( < 4.6.7 && == 3.4.2 && >= 1.2.3 && < 2.9.8 && <= 4.2.3 && <= 1.4.2 ) || ( == 3.3.2 && >= 5.4.6 ) || ( < 1.7.3 && < 5.6.8 && == 8.2.8 && >= 2.3.3 && >= 6.8.1 && == 4.2.2 && <= 5.7.8 && == 2.7.2 ) || ( == 8.2.4 && >= 7.4.7 && >= 5.7.8 && < 2.3.3 && < 6.2.1 && >= 6.4.4 && < 7.1.8 )": {+                                        "dlHash": "alvfc",+                                        "dlSubdir": "󲟩\n󳫩jVu\u0006",+                                        "dlUri": "https:blmqqjg"+                                    }+                                },+                                "Windows": {+                                    "( >= 1.3.2 ) || ( == 1.2.6 && >= 8.8.7 && >= 5.9.8 && == 8.5.7 && < 7.4.1 && < 6.3.6 && > 5.5.2 && <= 5.8.1 && > 5.2.3 ) || ( <= 6.7.1 && == 8.5.4 ) || ( < 7.1.1 && == 6.3.3 && < 4.3.8 && < 3.2.6 && > 7.2.1 && <= 3.8.1 && <= 4.4.3 ) || ( <= 6.1.2 && <= 8.5.4 && == 7.5.8 && == 7.6.5 && <= 5.8.6 && > 8.5.6 && <= 3.3.2 && < 5.5.5 && == 7.6.7 )": {+                                        "dlHash": "ccgo",+                                        "dlSubdir": "􅶛C􀢠󠄩%\u0002$\u0015",+                                        "dlUri": "https:ynpn"+                                    }+                                }+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": "rvzk",+                        "viPostRemove": "r",+                        "viPreCompile": "",+                        "viSourceDL": null,+                        "viTags": [+                            "base-5.1.7",+                            "Prerelease",+                            "old",+                            "Latest"+                        ]+                    },+                    "5.5.4": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {+                                    "( < 1.8.8 && > 1.1.4 && < 8.1.8 && > 6.5.3 && <= 1.5.6 && == 2.1.7 && > 7.2.5 ) || ( <= 6.6.7 && >= 1.7.2 && > 4.5.6 && >= 8.6.4 && < 3.7.6 )": {+                                        "dlHash": "szxh",+                                        "dlSubdir": "\u0003",+                                        "dlUri": "https:svln"+                                    },+                                    "( < 7.2.5 )": {+                                        "dlHash": "w",+                                        "dlSubdir": ",𨆮𑀓\u001d\u001a𘞏\u0002",+                                        "dlUri": "http:d"+                                    },+                                    "( <= 4.8.6 && < 7.2.1 && < 2.7.3 && >= 5.5.3 && == 6.8.3 && < 8.6.6 )": {+                                        "dlHash": "vfp",+                                        "dlSubdir": "􋐄\u0001\rzMu",+                                        "dlUri": "https:tgjyxtd"+                                    },+                                    "( == 8.2.1 && >= 3.3.4 )": {+                                        "dlHash": "okvtnyrf",+                                        "dlSubdir": null,+                                        "dlUri": "https:qnwrmivt"+                                    },+                                    "( == 8.4.8 && < 4.3.7 && == 6.3.1 ) || ( >= 4.2.6 && >= 6.1.5 && >= 2.4.7 && == 6.4.3 && == 7.6.2 && == 2.5.3 )": {+                                        "dlHash": "z",+                                        "dlSubdir": {+                                            "RegexDir": "@𣿁\u0005􎨛󽌨\u001f`"+                                        },+                                        "dlUri": "https:rsqni"+                                    },+                                    "( > 8.6.5 && > 1.7.3 && < 7.1.4 && < 2.3.6 && == 3.2.1 && == 4.7.2 ) || ( <= 6.5.2 && < 4.4.1 && == 7.8.6 && <= 2.7.7 && <= 3.6.8 && == 8.2.5 && > 2.7.4 && == 7.1.8 && <= 6.3.9 ) || ( == 3.7.3 && <= 8.8.7 && >= 5.3.4 && < 1.3.1 ) || ( == 6.8.3 && <= 1.6.2 && == 2.5.6 && < 8.1.6 && > 6.2.1 )": {+                                        "dlHash": "kwqmqliw",+                                        "dlSubdir": {+                                            "RegexDir": "e\u0015+Mi)"+                                        },+                                        "dlUri": "https:bljfq"+                                    },+                                    "( >= 2.3.1 && < 4.3.1 && > 3.5.6 && == 7.7.1 && <= 1.1.8 && > 6.1.4 && <= 6.7.8 ) || ( > 3.2.1 && > 2.7.4 && < 8.3.7 && >= 4.4.1 && < 8.7.1 && < 3.8.4 && <= 8.6.2 ) || ( == 3.5.8 && <= 8.6.7 )": {+                                        "dlHash": "ukwb",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:uqd"+                                    },+                                    "( >= 4.3.3 ) || ( >= 2.4.3 && <= 6.7.7 && >= 2.5.8 && <= 8.5.2 )": {+                                        "dlHash": "m",+                                        "dlSubdir": {+                                            "RegexDir": "􈕑%e6"+                                        },+                                        "dlUri": "http:uc"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 4.1.2 && < 1.5.1 && == 2.3.8 && == 3.8.6 ) || ( < 5.7.7 && <= 6.7.2 && == 8.2.2 && > 3.7.7 && == 1.2.1 && > 2.4.3 && > 7.1.2 && <= 8.8.4 && > 1.2.5 )": {+                                        "dlHash": "wrtg",+                                        "dlSubdir": "D",+                                        "dlUri": "https:otmhlvd"+                                    },+                                    "( < 5.6.1 && <= 7.4.7 && == 4.2.6 ) || ( >= 4.3.5 && == 9.2.1 ) || ( > 7.4.7 && <= 1.7.1 && < 3.7.7 && > 4.3.2 )": {+                                        "dlHash": "ov",+                                        "dlSubdir": null,+                                        "dlUri": "http:yuzete"+                                    },+                                    "( > 1.7.2 && == 1.7.4 && >= 4.5.4 && < 8.8.7 && <= 5.2.5 && >= 2.8.4 ) || ( < 5.1.4 && <= 8.8.6 && > 6.2.3 && <= 2.4.8 && > 4.7.2 && == 1.3.8 && < 4.5.1 )": {+                                        "dlHash": "xjqgtkyw",+                                        "dlSubdir": "}᱅c𛀟󳋒鲠",+                                        "dlUri": "https:xsbv"+                                    },+                                    "( >= 1.4.4 && > 7.7.3 )": {+                                        "dlHash": "bxjqadm",+                                        "dlSubdir": {+                                            "RegexDir": "u\u0017'󴍒"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( >= 2.4.6 && == 8.8.1 && < 4.2.6 && == 5.5.7 && > 6.3.5 && < 5.3.1 && == 6.6.2 )": {+                                        "dlHash": "dvewwwk",+                                        "dlSubdir": {+                                            "RegexDir": "_𪴆"+                                        },+                                        "dlUri": "https:yypgzcow"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "http:oxxrap"+                                    }+                                },+                                "Linux_Alpine": {+                                    "( >= 7.4.3 && == 2.6.3 ) || ( < 3.2.4 ) || ( == 5.1.2 && == 6.2.7 ) || ( > 1.6.4 && >= 8.3.3 && == 7.6.3 && < 1.5.6 && == 5.4.7 && == 1.7.4 && <= 5.8.1 && == 8.1.4 && == 3.1.4 ) || ( > 1.8.10 && >= 3.2.6 && <= 1.6.7 && <= 6.8.8 && <= 1.1.5 && <= 6.8.2 && <= 6.1.1 && >= 8.7.1 ) || ( >= 6.2.3 && >= 3.6.2 && <= 8.5.5 && < 5.4.8 && == 5.3.4 && == 5.8.6 && < 2.1.1 ) || ( < 7.6.5 && == 2.4.2 && < 7.7.2 && == 2.3.7 && > 4.1.7 && < 2.1.4 && >= 3.4.2 )": {+                                        "dlHash": "zu",+                                        "dlSubdir": {+                                            "RegexDir": "jE%e􉙀􍪄"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "uarpryes",+                                        "dlSubdir": "gZ𨟖𡬉&󼙵",+                                        "dlUri": "http:yz"+                                    }+                                },+                                "Windows": {+                                    "( <= 2.8.1 && < 3.4.5 && < 4.5.5 && < 5.6.5 && > 6.3.2 && < 7.7.7 )": {+                                        "dlHash": "azrdb",+                                        "dlSubdir": "\u0019𗮻Vx𪳒",+                                        "dlUri": "https:mwh"+                                    },+                                    "( <= 3.1.4 && < 8.8.4 && == 5.6.3 && <= 6.5.3 && >= 3.3.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "\u0019Q\u001dLV",+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "miyxqr",+                                        "dlSubdir": {+                                            "RegexDir": "\u000b\u0008<r󼚫?󲒇"+                                        },+                                        "dlUri": "http:vxmy"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "Darwin": {+                                    "( == 8.1.1 ) || ( <= 1.1.1 && > 7.1.7 && == 5.5.2 && == 6.7.5 ) || ( >= 2.5.2 && >= 4.5.8 && < 1.3.6 ) || ( < 8.5.4 && < 3.2.2 && > 7.4.1 && <= 1.2.2 && <= 6.5.1 ) || ( <= 6.7.8 && >= 1.4.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "#ZD",+                                        "dlUri": "https:m"+                                    },+                                    "( >= 3.7.7 && < 5.6.2 && <= 5.1.5 && >= 7.5.7 && == 4.1.2 && <= 6.3.4 && >= 7.4.3 && < 7.8.4 ) || ( > 2.3.2 && == 8.4.1 && >= 6.7.3 ) || ( < 8.1.5 && <= 7.1.7 && > 1.2.7 && >= 3.2.2 && < 4.5.4 && <= 1.6.7 && > 3.5.2 && >= 4.1.7 && == 9.5.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "https:qx"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:rffdtxl"+                                    }+                                },+                                "Linux_Alpine": {+                                    "( < 7.7.4 ) || ( == 7.5.1 && == 8.7.5 && == 4.7.8 && < 5.1.8 ) || ( == 3.8.7 && >= 4.5.7 && >= 4.2.8 ) || ( <= 1.5.5 && < 7.4.8 && < 3.8.8 && >= 4.2.8 && >= 1.5.2 && == 5.4.6 ) || ( > 3.4.9 && < 7.2.2 && < 1.2.8 && >= 1.7.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:dwgathh"+                                    }+                                },+                                "Linux_Debian": {+                                    "( == 3.3.8 && >= 3.6.2 && == 8.4.5 )": {+                                        "dlHash": "n",+                                        "dlSubdir": {+                                            "RegexDir": "s/"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "vgfvqc",+                                        "dlSubdir": null,+                                        "dlUri": "https:iqceaav"+                                    }+                                },+                                "Windows": {+                                    "( < 2.1.4 && == 5.3.6 && >= 4.5.8 && <= 5.4.1 )": {+                                        "dlHash": "upzgn",+                                        "dlSubdir": "mjP*'\u0014;",+                                        "dlUri": "https:"+                                    },+                                    "( < 4.1.3 && <= 3.2.4 && < 5.4.7 && > 3.3.3 && >= 4.5.8 && >= 7.2.2 && > 8.4.7 && == 7.5.8 && <= 6.1.8 )": {+                                        "dlHash": "v",+                                        "dlSubdir": "+l󲌺`",+                                        "dlUri": "http:zjhmtwit"+                                    },+                                    "( == 2.6.8 && == 1.2.6 && >= 1.2.6 && >= 6.2.7 )": {+                                        "dlHash": "u",+                                        "dlSubdir": {+                                            "RegexDir": "R2O"+                                        },+                                        "dlUri": "https:cqjft"+                                    },+                                    "( >= 7.4.1 )": {+                                        "dlHash": "padwcr",+                                        "dlSubdir": "",+                                        "dlUri": "https:zdpk"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ovyghnzd",+                                        "dlSubdir": {+                                            "RegexDir": "𭏧-􋀬𣚝𦵸%"+                                        },+                                        "dlUri": "https:swwbay"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( <= 3.3.5 && < 5.8.3 && > 7.3.7 && == 4.8.4 && > 2.8.5 && >= 3.5.5 && < 2.1.1 ) || ( < 2.1.1 && > 1.7.8 && > 4.5.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:vnmakzpj"+                                    },+                                    "( == 6.6.2 && >= 5.3.6 && >= 6.6.8 && <= 8.8.4 )": {+                                        "dlHash": "t",+                                        "dlSubdir": {+                                            "RegexDir": ")"+                                        },+                                        "dlUri": "https:kspgm"+                                    },+                                    "( >= 6.7.1 && == 3.2.2 )": {+                                        "dlHash": "zostube",+                                        "dlSubdir": {+                                            "RegexDir": "􈌈d"+                                        },+                                        "dlUri": "https:opytbot"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "yzaypslt",+                                        "dlSubdir": {+                                            "RegexDir": ";(WVj"+                                        },+                                        "dlUri": "https:tu"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( == 4.5.4 && == 4.3.3 )": {+                                        "dlHash": "mrykti",+                                        "dlSubdir": null,+                                        "dlUri": "https:jwwlgb"+                                    },+                                    "( >= 6.7.6 && == 6.6.1 && == 8.5.1 && >= 4.1.7 && <= 5.6.7 )": {+                                        "dlHash": "bywn",+                                        "dlSubdir": {+                                            "RegexDir": "I$8􆧉􄚉4"+                                        },+                                        "dlUri": "https:qxe"+                                    }+                                },+                                "Linux_Fedora": {+                                    "( < 3.7.8 && < 6.7.1 )": {+                                        "dlHash": "lmjbe",+                                        "dlSubdir": "~li􍸧\u0005",+                                        "dlUri": "http:masyyyi"+                                    },+                                    "( < 3.8.6 && < 3.8.3 && < 4.1.1 && == 2.8.6 && <= 8.4.4 && >= 6.1.6 )": {+                                        "dlHash": "uds",+                                        "dlSubdir": "!󿤨tR􀏿_@r",+                                        "dlUri": "http:h"+                                    },+                                    "( <= 1.8.3 && >= 4.7.6 && >= 8.4.6 && < 6.8.1 && < 5.2.2 && == 5.5.3 && == 4.4.4 ) || ( == 8.5.2 ) || ( == 7.1.1 && <= 1.5.6 )": {+                                        "dlHash": "ull",+                                        "dlSubdir": "\n\tp",+                                        "dlUri": "https:"+                                    },+                                    "( >= 2.5.3 && == 3.2.1 && == 8.8.6 && < 6.3.8 && == 4.6.7 && > 1.2.8 ) || ( > 2.1.6 && >= 1.5.4 && == 7.3.7 && == 6.5.3 )": {+                                        "dlHash": "nkyae",+                                        "dlSubdir": {+                                            "RegexDir": "\u0000|󶬪\""+                                        },+                                        "dlUri": "https:z"+                                    },+                                    "( >= 5.1.2 && > 1.3.7 && < 7.5.3 && >= 8.1.5 && <= 8.4.6 && > 1.1.8 && == 7.4.6 && < 6.7.2 && > 7.8.2 ) || ( == 5.3.6 && >= 2.1.3 && < 7.8.2 ) || ( < 6.7.2 && == 4.2.7 && <= 3.5.1 && >= 2.8.2 ) || ( >= 3.2.1 && <= 2.5.2 && > 4.6.1 && < 7.7.1 && <= 2.2.5 && >= 1.5.3 && <= 1.8.6 && <= 8.1.2 )": {+                                        "dlHash": "tv",+                                        "dlSubdir": {+                                            "RegexDir": "O"+                                        },+                                        "dlUri": "https:mp"+                                    },+                                    "( >= 5.8.7 && < 3.6.5 && <= 3.7.2 && < 5.8.3 && <= 3.7.7 && >= 2.3.1 )": {+                                        "dlHash": "slqegtxl",+                                        "dlSubdir": {+                                            "RegexDir": "\u0019𩯺"+                                        },+                                        "dlUri": "http:uzr"+                                    }+                                },+                                "Windows": {+                                    "( <= 2.4.2 && < 3.7.4 && >= 9.3.5 )": {+                                        "dlHash": "zdg",+                                        "dlSubdir": {+                                            "RegexDir": "\u001bz$"+                                        },+                                        "dlUri": "http:akyf"+                                    },+                                    "( == 1.4.4 && >= 6.6.3 && == 5.6.2 && == 4.6.4 && <= 8.1.1 && > 2.6.7 )": {+                                        "dlHash": "jaaw",+                                        "dlSubdir": "\u0004",+                                        "dlUri": "https:zbftlp"+                                    },+                                    "( == 6.5.5 && >= 6.9.4 && < 6.1.3 ) || ( == 3.6.4 && == 2.1.7 && < 7.3.5 && > 6.5.3 && > 1.2.3 ) || ( >= 8.7.4 && <= 6.2.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:sdq"+                                    },+                                    "( > 2.7.7 && > 5.2.8 && == 1.8.3 && > 4.1.7 && == 6.1.2 && <= 7.4.4 )": {+                                        "dlHash": "geudefh",+                                        "dlSubdir": "E\u0010",+                                        "dlUri": "http:gmqlggt"+                                    },+                                    "( > 9.4.5 && < 1.6.5 && > 5.8.8 && < 5.8.2 && == 8.8.5 && == 6.4.3 && == 1.8.7 && >= 3.4.9 ) || ( <= 8.4.2 && < 4.5.6 && == 3.1.7 && == 1.3.1 && <= 5.7.7 && > 4.5.7 && >= 6.8.1 && == 7.8.1 && > 8.4.4 ) || ( < 8.1.6 && <= 8.4.3 && < 2.7.1 && >= 4.6.8 && >= 2.8.2 && == 4.7.8 && == 3.8.6 )": {+                                        "dlHash": "tdfcpaf",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "FreeBSD": {+                                    "( < 3.2.8 && >= 6.7.2 && > 7.6.1 && == 7.6.4 && <= 8.1.4 && >= 8.8.4 && >= 7.2.6 )": {+                                        "dlHash": "um",+                                        "dlSubdir": "Fd\u0012K\\X",+                                        "dlUri": "https:zfroo"+                                    }+                                }+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": "jrkzdq",+                        "viPostRemove": "p",+                        "viPreCompile": "",+                        "viSourceDL": {+                            "dlHash": "fi",+                            "dlSubdir": "𖬄\u0002\u001f\\ྡ\u000e",+                            "dlUri": "http:fkd"+                        },+                        "viTags": [+                            "i2𓄗k\u0008}려",+                            "Latest",+                            "base-1.8.1",+                            "Recommended"+                        ]+                    },+                    "5.6.4": {+                        "viArch": {+                            "A_32": {},+                            "A_ARM": {+                                "Darwin": {+                                    "( <= 3.2.3 )": {+                                        "dlHash": "nhj",+                                        "dlSubdir": "j\u0018",+                                        "dlUri": "https:lodjw"+                                    },+                                    "( <= 3.5.9 && <= 5.2.8 && <= 5.2.5 && > 2.7.4 && < 6.7.7 ) || ( >= 7.6.5 && > 3.3.3 && < 4.2.8 && == 2.8.8 && <= 2.8.6 && <= 3.1.8 )": {+                                        "dlHash": "qnnol",+                                        "dlSubdir": {+                                            "RegexDir": "$𮌺H\u0014\u001b\r"+                                        },+                                        "dlUri": "http:juyve"+                                    },+                                    "( == 1.1.7 && >= 7.8.2 && <= 3.1.9 && < 7.4.3 && > 7.6.3 && < 4.5.3 )": {+                                        "dlHash": "hs",+                                        "dlSubdir": null,+                                        "dlUri": "http:jnghp"+                                    },+                                    "( == 1.3.7 && >= 2.8.4 && < 6.1.3 && <= 1.3.2 ) || ( <= 2.3.1 && == 6.7.6 && >= 2.1.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:yt"+                                    },+                                    "( == 2.4.2 && >= 6.7.5 && > 4.1.2 && < 7.5.8 && <= 7.2.4 && > 5.2.7 && <= 5.3.3 )": {+                                        "dlHash": "wc",+                                        "dlSubdir": {+                                            "RegexDir": "b问"+                                        },+                                        "dlUri": "https:plpfenuv"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "exg",+                                        "dlSubdir": {+                                            "RegexDir": "𫫅x\u001e1I"+                                        },+                                        "dlUri": "https:elxsev"+                                    }+                                },+                                "FreeBSD": {+                                    "( >= 6.8.8 && > 8.4.6 && == 1.8.7 )": {+                                        "dlHash": "nctpa",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:t"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( <= 2.6.6 && < 1.7.2 && < 3.3.1 && < 1.1.5 && <= 5.4.3 && <= 6.4.4 && <= 5.3.3 && == 7.6.1 && > 5.3.3 )": {+                                        "dlHash": "w",+                                        "dlSubdir": "",+                                        "dlUri": "http:"+                                    },+                                    "( == 1.1.6 && < 1.7.5 && > 1.1.1 ) || ( <= 7.5.3 && == 2.6.4 && == 7.5.4 && == 4.5.3 && > 4.5.1 && >= 7.5.8 && <= 8.6.1 )": {+                                        "dlHash": "noooemo",+                                        "dlSubdir": null,+                                        "dlUri": "https:buidiali"+                                    },+                                    "( == 1.4.4 && > 5.6.2 ) || ( < 4.7.7 && == 5.1.1 ) || ( >= 1.8.4 && < 6.5.4 && <= 4.5.5 && <= 7.5.7 )": {+                                        "dlHash": "ponghely",+                                        "dlSubdir": {+                                            "RegexDir": "T\u001f\u0004"+                                        },+                                        "dlUri": "http:vtrycyu"+                                    },+                                    "( == 3.4.6 && < 4.2.1 && < 2.2.4 && <= 8.4.3 )": {+                                        "dlHash": "gwweuux",+                                        "dlSubdir": null,+                                        "dlUri": "https:kkky"+                                    },+                                    "( > 3.4.2 && < 1.4.1 && == 4.2.4 && == 4.8.6 && > 8.8.4 )": {+                                        "dlHash": "ddp",+                                        "dlSubdir": {+                                            "RegexDir": "A\u0010u\u001a\u0010n9"+                                        },+                                        "dlUri": "http:cfb"+                                    },+                                    "( > 7.3.3 && == 5.7.2 )": {+                                        "dlHash": "h",+                                        "dlSubdir": null,+                                        "dlUri": "https:agxim"+                                    },+                                    "( >= 2.4.5 && > 1.3.2 && <= 4.8.3 && > 7.4.5 && < 4.8.3 && == 5.3.7 && == 6.4.8 )": {+                                        "dlHash": "f",+                                        "dlSubdir": {+                                            "RegexDir": "]L+𡝨"+                                        },+                                        "dlUri": "http:av"+                                    },+                                    "( >= 7.4.4 && > 4.4.1 ) || ( <= 4.8.7 && >= 3.5.7 && <= 4.7.7 && > 2.3.2 && > 7.7.7 && > 3.2.4 )": {+                                        "dlHash": "mun",+                                        "dlSubdir": null,+                                        "dlUri": "https:jmvd"+                                    }+                                },+                                "Linux_Ubuntu": {+                                    "( < 2.7.2 && == 1.4.8 && == 4.7.8 && == 1.2.8 && == 4.7.8 && >= 8.5.8 && > 8.7.7 && < 8.6.2 )": {+                                        "dlHash": "fwocarzh",+                                        "dlSubdir": null,+                                        "dlUri": "http:zrb"+                                    },+                                    "( == 5.7.6 )": {+                                        "dlHash": "heszgzh",+                                        "dlSubdir": null,+                                        "dlUri": "http:ysn"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "FreeBSD": {+                                    "( < 4.3.6 && == 4.3.4 && >= 6.8.5 ) || ( < 3.2.1 && == 7.8.1 && > 8.2.2 && >= 1.1.5 && < 1.8.5 && == 6.1.4 && <= 8.2.7 && >= 4.6.5 )": {+                                        "dlHash": "brbhmm",+                                        "dlSubdir": "\u000c\u0017>~",+                                        "dlUri": "http:plrcc"+                                    },+                                    "( < 7.2.7 && >= 6.3.8 && < 8.1.8 && >= 7.4.3 && <= 7.5.1 && < 2.5.7 && < 2.6.6 && < 4.8.8 ) || ( <= 4.7.4 && <= 6.8.8 && > 3.3.7 && <= 4.3.5 )": {+                                        "dlHash": "ozrofyr",+                                        "dlSubdir": "f\u0001𪩅)",+                                        "dlUri": "http:nd"+                                    },+                                    "( >= 4.5.6 && == 10.2.6 && < 1.5.1 && < 1.4.6 && <= 4.4.7 && >= 8.8.7 )": {+                                        "dlHash": "qjgvie",+                                        "dlSubdir": "",+                                        "dlUri": "http:aygddh"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ko",+                                        "dlSubdir": {+                                            "RegexDir": "\u0019Y\u001cx\u000e\u0008󼮶"+                                        },+                                        "dlUri": "https:wum"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "FreeBSD": {+                                    "( < 8.2.6 && >= 8.7.7 && < 3.3.4 && >= 7.2.2 && >= 8.2.7 ) || ( >= 2.2.7 )": {+                                        "dlHash": "rihuawnm",+                                        "dlSubdir": {+                                            "RegexDir": "]󰰼9"+                                        },+                                        "dlUri": "https:j"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "rkuoviu",+                                        "dlSubdir": "\u001c\\󰓼m\u001f",+                                        "dlUri": "http:"+                                    }+                                },+                                "Windows": {+                                    "( < 7.3.3 && == 5.6.3 )": {+                                        "dlHash": "d",+                                        "dlSubdir": {+                                            "RegexDir": "\u0000󰚋󰲆"+                                        },+                                        "dlUri": "https:pgdya"+                                    },+                                    "( <= 2.4.3 && > 3.1.1 && >= 4.2.2 ) || ( == 4.2.1 && > 6.6.7 && == 8.9.3 && < 4.3.2 && == 8.4.2 && < 4.4.3 && >= 3.6.3 ) || ( == 1.2.7 && <= 1.2.5 && == 8.7.1 && == 5.5.3 )": {+                                        "dlHash": "bcxkmksa",+                                        "dlSubdir": {+                                            "RegexDir": "􂀂𓀇󴄬yi"+                                        },+                                        "dlUri": "https:dne"+                                    },+                                    "( <= 5.1.8 && > 4.2.2 )": {+                                        "dlHash": "jnxev",+                                        "dlSubdir": {+                                            "RegexDir": "Kqb"+                                        },+                                        "dlUri": "https:jd"+                                    },+                                    "( == 4.4.4 && == 4.6.1 && == 1.1.1 && > 6.3.6 && > 7.5.3 && > 8.5.7 )": {+                                        "dlHash": "jf",+                                        "dlSubdir": null,+                                        "dlUri": "http:abtpp"+                                    },+                                    "( >= 3.7.3 ) || ( <= 8.2.6 )": {+                                        "dlHash": "ur",+                                        "dlSubdir": "t4\u0012\u0003󿗡?􌓟",+                                        "dlUri": "https:sscb"+                                    },+                                    "( >= 7.3.3 && < 5.3.7 && <= 7.2.6 && >= 1.6.7 && > 2.7.2 && >= 3.7.3 && <= 5.2.3 && == 4.9.4 ) || ( == 5.5.6 && >= 1.7.7 ) || ( > 4.3.1 && > 2.3.8 && <= 6.4.3 && < 8.7.6 && >= 7.8.6 && <= 3.7.5 && < 1.4.2 && < 5.4.3 )": {+                                        "dlHash": "ywnviwk",+                                        "dlSubdir": "o󽐃B<jzs",+                                        "dlUri": "http:nkqbz"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "sghjd",+                                        "dlSubdir": null,+                                        "dlUri": "https:bh"+                                    }+                                }+                            }+                        },+                        "viChangeLog": null,+                        "viPostInstall": null,+                        "viPostRemove": "hcftjbb",+                        "viPreCompile": "qy",+                        "viSourceDL": null,+                        "viTags": [+                            "\u000c󴶑\u0001E\u0012\u0015",+                            "base-2.6.6",+                            "old",+                            "base-3.9.4",+                            "Prerelease",+                            ">/~l\u0019\u0001F\u0003",+                            "base-4.4.6"+                        ]+                    },+                    "6.7.3": {+                        "viArch": {},+                        "viChangeLog": null,+                        "viPostInstall": "",+                        "viPostRemove": null,+                        "viPreCompile": "hr",+                        "viSourceDL": {+                            "dlHash": "pd",+                            "dlSubdir": {+                                "RegexDir": "\u0014𐑙L"+                            },+                            "dlUri": "https:vva"+                        },+                        "viTags": [+                            "old",+                            "old"+                        ]+                    },+                    "8.5.5": {+                        "viArch": {},+                        "viChangeLog": "http:aymm",+                        "viPostInstall": null,+                        "viPostRemove": "nhlcatpc",+                        "viPreCompile": "wjakrdnl",+                        "viSourceDL": {+                            "dlHash": "rx",+                            "dlSubdir": {+                                "RegexDir": "\u0001t􆢕\u00086\u0018\u0016"+                            },+                            "dlUri": "https:hnxkujs"+                        },+                        "viTags": [+                            "Latest",+                            "Latest",+                            "base-3.6.3",+                            "Recommended"+                        ]+                    },+                    "8.6.5": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {},+                                "FreeBSD": {},+                                "Linux_Alpine": {+                                    "( == 5.7.1 && == 7.8.3 )": {+                                        "dlHash": "to",+                                        "dlSubdir": null,+                                        "dlUri": "http:lyc"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "fhjivhnl",+                                        "dlSubdir": "𬗫󴦾\u0001𐧇Tf",+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( < 1.7.7 && >= 3.4.3 && > 8.7.7 && > 4.1.7 && == 1.6.7 && < 7.6.7 && < 3.1.4 && < 7.7.1 ) || ( >= 6.3.6 ) || ( > 2.1.1 && < 4.8.7 && <= 8.3.7 && == 8.5.3 && >= 8.1.4 && == 5.3.2 && <= 1.6.2 )": {+                                        "dlHash": "u",+                                        "dlSubdir": "s",+                                        "dlUri": "https:tzzmxsd"+                                    },+                                    "( < 5.2.1 && < 2.7.7 && > 7.4.3 && >= 1.6.6 ) || ( >= 1.3.4 ) || ( == 2.4.5 && == 6.8.1 && >= 6.6.2 && == 3.1.4 && == 8.5.5 ) || ( <= 6.4.4 && < 1.6.5 && >= 6.2.4 && > 6.5.8 && == 6.7.5 && < 3.1.1 && >= 4.8.7 && == 1.6.2 ) || ( <= 2.3.6 ) || ( >= 2.8.5 && <= 5.7.5 ) || ( > 8.7.7 && > 1.4.4 && >= 6.1.5 ) || ( <= 6.4.6 ) || ( > 5.3.7 && >= 1.2.5 && >= 7.8.5 && > 6.6.3 && < 5.7.5 && <= 6.8.3 && >= 7.7.7 && > 3.4.6 && < 1.3.6 ) || ( < 3.8.4 && > 6.5.1 && == 2.8.2 && > 5.4.4 )": {+                                        "dlHash": "ccnkwy",+                                        "dlSubdir": {+                                            "RegexDir": "x估j"+                                        },+                                        "dlUri": "http:ywfbuck"+                                    },+                                    "( == 6.9.2 && > 8.2.4 && > 5.5.2 && <= 7.2.5 && == 7.7.4 )": {+                                        "dlHash": "y",+                                        "dlSubdir": "<룗OQcy",+                                        "dlUri": "https:mhsn"+                                    },+                                    "( >= 2.1.2 && > 1.6.6 && <= 5.7.3 && > 7.2.3 && == 3.2.6 && > 6.1.4 && > 5.6.3 && >= 2.5.8 )": {+                                        "dlHash": "llqhnq",+                                        "dlSubdir": {+                                            "RegexDir": "\u0007𭁽"+                                        },+                                        "dlUri": "https:xzxg"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "/hX𣕻",+                                        "dlUri": "http:ee"+                                    }+                                }+                            },+                            "A_64": {+                                "Darwin": {+                                    "( <= 3.3.4 && <= 6.2.6 && > 5.2.8 && < 7.6.5 && >= 2.6.4 && < 4.1.7 && > 7.4.2 && < 4.2.4 && == 3.4.6 )": {+                                        "dlHash": "tbvymm",+                                        "dlSubdir": {+                                            "RegexDir": "\u001bP(D"+                                        },+                                        "dlUri": "http:ej"+                                    },+                                    "( == 2.7.3 && > 2.7.7 && >= 6.1.6 && <= 5.4.1 && > 1.6.1 )": {+                                        "dlHash": "h",+                                        "dlSubdir": null,+                                        "dlUri": "https:kvgehbkd"+                                    },+                                    "( == 7.4.6 && > 2.7.7 )": {+                                        "dlHash": "bjoprws",+                                        "dlSubdir": "t9;柧Wc@",+                                        "dlUri": "http:uhvgu"+                                    },+                                    "( > 2.2.1 && <= 5.2.4 && == 3.2.1 && == 5.5.4 && > 5.7.7 )": {+                                        "dlHash": "qkgevfn",+                                        "dlSubdir": "z􈽼􅤳𨸍􅌶y",+                                        "dlUri": "https:hq"+                                    },+                                    "( > 8.9.2 && > 5.7.8 && <= 1.1.6 && < 4.5.3 && > 4.1.5 && <= 1.7.2 )": {+                                        "dlHash": "issb",+                                        "dlSubdir": {+                                            "RegexDir": "I~\u0016N{\u0012"+                                        },+                                        "dlUri": "https:dbntysf"+                                    },+                                    "( >= 6.7.4 && > 7.7.5 && <= 3.2.5 && >= 8.1.2 && < 8.4.2 && >= 2.1.8 && == 1.6.5 && >= 6.5.5 ) || ( <= 6.5.2 && >= 5.8.1 && <= 7.3.5 && >= 4.8.6 && > 1.3.2 && == 4.8.5 ) || ( <= 6.2.1 && == 3.9.7 && <= 3.6.3 && >= 4.4.6 && <= 5.6.4 && > 7.1.5 && == 2.2.2 ) || ( < 6.3.7 && < 7.4.6 && < 7.2.3 && > 1.4.3 && < 2.3.6 && > 1.8.6 && == 2.6.5 && > 4.5.3 && == 8.1.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "FEg􆒼"+                                        },+                                        "dlUri": "https:fan"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "hhak",+                                        "dlSubdir": null,+                                        "dlUri": "https:mnokna"+                                    }+                                },+                                "FreeBSD": {+                                    "( == 2.2.4 && >= 4.2.7 && > 3.5.2 && == 5.2.5 ) || ( < 8.1.7 && == 2.2.6 && < 3.7.4 && <= 5.8.2 && <= 6.7.6 && < 6.7.8 && == 2.3.8 ) || ( >= 5.5.5 && <= 7.3.2 && > 8.4.8 && < 1.8.5 && <= 4.7.3 && < 5.4.7 && > 2.1.7 ) || ( == 4.5.4 && == 8.6.5 && < 8.7.2 && > 7.8.5 && > 5.7.2 && >= 3.5.8 ) || ( > 1.2.6 && >= 5.1.5 && <= 2.2.6 && <= 7.8.4 ) || ( < 8.3.3 && >= 1.5.6 && == 2.5.2 && < 7.7.8 && < 7.1.7 && == 7.2.7 && <= 1.8.4 )": {+                                        "dlHash": "fgm",+                                        "dlSubdir": {+                                            "RegexDir": "𮄸𩽀𪂣󱤁"+                                        },+                                        "dlUri": "https:w"+                                    }+                                },+                                "Linux_RedHat": {+                                    "( == 5.4.3 ) || ( == 1.2.2 && > 6.4.8 && > 8.4.4 && <= 3.2.2 ) || ( >= 3.6.7 && > 4.7.2 && > 5.6.2 ) || ( <= 9.6.1 && < 7.3.3 && == 6.8.4 && >= 4.2.6 && < 5.3.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": "m󻜚\u0017",+                                        "dlUri": "http:qdbgl"+                                    }+                                }+                            },+                            "A_ARM64": {+                                "Darwin": {+                                    "( < 3.8.3 && <= 8.2.3 && == 6.3.7 && <= 8.6.6 && >= 8.2.8 ) || ( <= 7.5.9 && < 8.5.4 && > 1.4.6 && >= 8.8.2 ) || ( > 2.5.6 && >= 1.8.6 && <= 1.5.4 && == 4.5.1 && > 3.7.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:pik"+                                    },+                                    "( < 3.8.8 && >= 5.4.8 && == 5.8.4 ) || ( == 7.5.8 && == 3.4.6 )": {+                                        "dlHash": "ak",+                                        "dlSubdir": "",+                                        "dlUri": "https:owmkms"+                                    },+                                    "( == 5.6.4 && > 3.5.5 && <= 1.2.3 && <= 8.6.2 && < 4.1.5 && <= 3.6.7 && >= 1.1.3 && > 1.2.5 )": {+                                        "dlHash": "mapdp",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( >= 6.4.6 && < 6.4.8 && > 6.7.2 && > 7.6.6 && <= 3.8.8 )": {+                                        "dlHash": "lhizbvxj",+                                        "dlSubdir": "",+                                        "dlUri": "http:n"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "lima",+                                        "dlSubdir": {+                                            "RegexDir": "|"+                                        },+                                        "dlUri": "http:cnriwg"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 5.2.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "C󲹥=o\n葇"+                                        },+                                        "dlUri": "http:zx"+                                    },+                                    "( <= 4.5.6 && == 2.1.8 && <= 5.4.2 && < 6.5.2 && < 4.8.3 && < 4.4.4 && == 2.3.3 && == 8.8.4 )": {+                                        "dlHash": "djkw",+                                        "dlSubdir": "灸󾘃󱏤'",+                                        "dlUri": "http:gcamczj"+                                    },+                                    "( == 5.6.9 && >= 2.2.2 && == 7.4.1 && == 7.4.8 && >= 3.1.7 && <= 7.3.3 && < 1.8.1 && >= 5.4.4 && == 1.2.3 ) || ( == 1.7.6 && > 6.5.5 && <= 3.4.4 && > 2.1.4 && > 6.1.8 ) || ( >= 7.8.4 ) || ( == 1.8.8 && > 1.3.8 )": {+                                        "dlHash": "zb",+                                        "dlSubdir": {+                                            "RegexDir": "YHxt["+                                        },+                                        "dlUri": "http:quckrw"+                                    },+                                    "( > 7.8.2 && <= 7.5.2 && > 1.3.1 && == 2.4.3 )": {+                                        "dlHash": "mrot",+                                        "dlSubdir": {+                                            "RegexDir": "󺬄\u0008\u0011"+                                        },+                                        "dlUri": "http:cfndzfih"+                                    },+                                    "( >= 6.5.3 && >= 8.8.2 && < 6.3.8 && == 5.7.4 && < 1.1.2 && > 4.3.2 && <= 1.7.3 ) || ( <= 2.2.4 && > 3.2.3 && >= 7.8.4 )": {+                                        "dlHash": "rsruw",+                                        "dlSubdir": "ST",+                                        "dlUri": "https:gi"+                                    },+                                    "( >= 6.8.8 ) || ( == 8.4.4 && <= 1.4.8 && <= 1.7.3 && == 5.7.3 && == 8.7.6 )": {+                                        "dlHash": "yzj",+                                        "dlSubdir": {+                                            "RegexDir": "􁢆\u000cj\t<s󿷞\u000b"+                                        },+                                        "dlUri": "http:nrnum"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ie",+                                        "dlSubdir": "􄂋-",+                                        "dlUri": "https:hdbvxq"+                                    }+                                },+                                "Linux_Debian": {+                                    "( == 4.3.1 && > 1.2.5 && < 3.8.6 && == 2.6.1 && == 6.7.5 && >= 4.2.1 && > 7.8.5 && <= 1.6.2 )": {+                                        "dlHash": "enrgiq",+                                        "dlSubdir": "\u0011􋴮",+                                        "dlUri": "https:pzewlt"+                                    },+                                    "( >= 4.3.2 && == 1.2.3 && < 2.2.2 && == 4.1.2 && > 6.2.1 && == 4.8.8 && <= 3.2.4 && < 5.7.4 )": {+                                        "dlHash": "j",+                                        "dlSubdir": {+                                            "RegexDir": "\u000c"+                                        },+                                        "dlUri": "http:ddgwjz"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "27",+                                        "dlUri": "http:jxy"+                                    }+                                },+                                "Windows": {+                                    "( <= 5.4.1 && <= 5.6.3 && == 5.4.7 ) || ( == 4.1.6 && < 4.4.7 && >= 2.8.5 && <= 8.2.5 && >= 5.4.7 && > 7.2.4 && >= 2.8.1 )": {+                                        "dlHash": "o",+                                        "dlSubdir": "\u0004폙􌷩ZB↬c呓",+                                        "dlUri": "http:"+                                    },+                                    "( > 4.3.5 && <= 3.3.6 && >= 1.5.1 && >= 5.4.3 && <= 8.5.6 && <= 3.4.2 && == 3.4.4 )": {+                                        "dlHash": "hrdswdd",+                                        "dlSubdir": {+                                            "RegexDir": "O7{5'"+                                        },+                                        "dlUri": "http:sgl"+                                    },+                                    "( > 7.5.2 && >= 4.2.8 && <= 2.3.7 && >= 1.1.7 && == 6.5.7 && < 1.2.3 ) || ( >= 3.8.7 && <= 6.8.9 && >= 3.1.8 && < 1.2.2 && >= 7.7.7 && >= 8.8.1 && < 3.8.3 && == 8.2.2 && == 7.1.8 )": {+                                        "dlHash": "jgij",+                                        "dlSubdir": null,+                                        "dlUri": "https:edmqwn"+                                    },+                                    "( > 8.5.4 && == 4.8.6 )": {+                                        "dlHash": "jc",+                                        "dlSubdir": "",+                                        "dlUri": "http:rsfo"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "FreeBSD": {+                                    "( <= 3.2.4 && <= 1.7.5 && == 6.5.4 && >= 3.5.6 && > 8.5.8 && == 1.8.8 && >= 6.2.2 && > 2.4.1 && < 6.5.3 ) || ( == 8.2.8 && == 4.2.6 && >= 7.1.1 && > 1.1.7 && < 6.6.1 && >= 3.3.3 && < 2.1.3 && == 3.1.8 && >= 5.5.7 ) || ( <= 5.8.5 && > 8.8.4 && >= 3.3.1 && < 4.2.3 && < 6.6.1 && == 1.7.6 && == 3.7.2 && == 8.8.3 ) || ( >= 5.3.7 && < 8.3.3 && < 8.2.7 && == 6.6.6 && >= 6.2.5 && > 4.7.6 )": {+                                        "dlHash": "uep",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:fbkflgrx"+                                    },+                                    "( == 1.4.3 && < 5.7.1 && == 5.2.2 && == 6.7.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( == 3.4.1 && >= 4.8.3 && < 5.5.7 )": {+                                        "dlHash": "ppebw",+                                        "dlSubdir": "os𦱮\"[\u0014\\",+                                        "dlUri": "http:gyeqjg"+                                    },+                                    "( > 7.1.7 && < 4.7.3 ) || ( == 8.3.4 && <= 1.6.1 && < 5.8.2 && <= 4.6.2 )": {+                                        "dlHash": "uclcp",+                                        "dlSubdir": "imv􆛻rW8",+                                        "dlUri": "https:sruvzphl"+                                    },+                                    "( > 8.8.6 && < 1.4.7 && >= 5.1.3 && > 4.7.1 && > 3.7.1 && > 6.1.3 && == 1.4.6 && == 1.2.7 && == 8.3.2 )": {+                                        "dlHash": "drw",+                                        "dlSubdir": {+                                            "RegexDir": "𓐑󸔫\u0012<"+                                        },+                                        "dlUri": "https:q"+                                    },+                                    "( >= 2.5.6 && >= 5.2.5 && <= 5.5.6 && >= 7.3.8 )": {+                                        "dlHash": "krlkoet",+                                        "dlSubdir": {+                                            "RegexDir": "?+󶙋K_/鉊"+                                        },+                                        "dlUri": "http:twoj"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ocrajo",+                                        "dlSubdir": {+                                            "RegexDir": " k'"+                                        },+                                        "dlUri": "https:pu"+                                    }+                                },+                                "Linux_Fedora": {+                                    "( < 2.4.3 && <= 6.8.5 )": {+                                        "dlHash": "rzp",+                                        "dlSubdir": null,+                                        "dlUri": "https:yozg"+                                    },+                                    "( < 8.6.5 && < 2.4.7 && > 3.7.7 && == 1.7.4 && < 7.7.5 && <= 7.4.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "( < 9.8.7 && >= 5.2.3 )": {+                                        "dlHash": "m",+                                        "dlSubdir": "e5?$",+                                        "dlUri": "http:xkveipv"+                                    },+                                    "( == 6.6.1 && <= 8.8.1 && > 4.3.4 && > 4.6.4 && >= 3.5.4 && > 4.6.5 && >= 5.6.2 ) || ( >= 3.2.3 && > 4.5.1 && <= 5.4.9 ) || ( < 6.4.8 && > 3.2.3 && >= 2.5.7 && <= 6.2.7 && <= 5.3.3 ) || ( > 4.6.2 && < 7.6.5 && == 2.1.6 && <= 1.8.3 && <= 2.3.7 && <= 2.4.3 ) || ( <= 7.1.3 && >= 6.1.4 && >= 8.3.6 )": {+                                        "dlHash": "aul",+                                        "dlSubdir": null,+                                        "dlUri": "http:lqdsohxv"+                                    },+                                    "( > 8.6.5 && >= 2.5.1 && == 4.7.2 && == 8.4.6 && <= 6.2.5 && <= 7.2.8 && > 6.9.3 )": {+                                        "dlHash": "jiocnbg",+                                        "dlSubdir": {+                                            "RegexDir": "𐝉QMY)􈫻瑲u"+                                        },+                                        "dlUri": "https:eomdx"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "i",+                                        "dlSubdir": "m=C\u001a\u0013n簻",+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_Mint": {}+                            }+                        },+                        "viChangeLog": "https:h",+                        "viPostInstall": "cey",+                        "viPostRemove": "bbuscyjp",+                        "viPreCompile": "fvw",+                        "viSourceDL": {+                            "dlHash": "zeqioqpo",+                            "dlSubdir": "\u0017Wo\u0013T𡤌~",+                            "dlUri": "http:glb"+                        },+                        "viTags": [+                            "Latest",+                            "4k",+                            "䈇k#",+                            "\n󻡱󹿎Ḥ",+                            "v斾)k",+                            "Prerelease",+                            "Latest"+                        ]+                    }+                },+                "GHC": {},+                "GHCup": {},+                "Stack": {}+            },+            "globalTools": {+                "ShimGen": {+                    "dlHash": "",+                    "dlSubdir": {+                        "RegexDir": "𧄻\u001fkTY.UB-𣛍㶌󻔃𗓽𘈐\u0001V7.G/J𗌮N\u0013鐼"+                    },+                    "dlUri": "https:t"+                }+            },+            "toolRequirements": {+                "Cabal": {+                    "3.5.4": {+                        "Windows": {+                            "( <= 2.1.1 && == 6.8.3 && == 5.1.6 )": {+                                "distroPKGs": [+                                    "qsfhiyb",+                                    "qpy"+                                ],+                                "notes": "hpgk"+                            },+                            "( <= 7.3.2 && <= 8.5.4 && < 4.1.8 && < 6.8.8 && == 1.2.8 && == 4.7.6 && >= 2.2.6 && == 6.4.5 )": {+                                "distroPKGs": [],+                                "notes": "nygaa"+                            },+                            "( == 7.5.2 && >= 3.6.4 && >= 6.2.2 ) || ( <= 2.2.5 && >= 3.6.8 && == 4.4.8 && < 8.3.5 && <= 6.8.5 && > 7.8.8 )": {+                                "distroPKGs": [+                                    "kojqvk",+                                    "mwraym",+                                    "eh",+                                    "drimpqji",+                                    "puh",+                                    "bh",+                                    ""+                                ],+                                "notes": ""+                            },+                            "( > 4.4.4 && <= 4.6.7 && <= 5.3.2 && < 8.1.2 && == 1.6.2 && >= 5.1.7 && == 7.6.1 && == 7.8.1 && >= 4.6.3 ) || ( >= 1.8.5 && > 3.4.8 && < 5.2.8 && < 8.4.1 && <= 7.3.4 && > 4.2.6 && < 7.1.3 )": {+                                "distroPKGs": [+                                    "",+                                    "ohjmhrv",+                                    "b",+                                    "kxbfkise"+                                ],+                                "notes": "wfmrp"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "",+                                    "k",+                                    "xr",+                                    "b",+                                    "rq"+                                ],+                                "notes": "qnby"+                            }+                        }+                    },+                    "7.6.7": {+                        "FreeBSD": {},+                        "Linux_AmazonLinux": {+                            "( <= 5.6.6 && <= 8.6.2 && > 7.8.5 && == 3.6.8 && <= 8.8.5 && <= 6.5.7 && == 1.7.6 && >= 9.2.4 && <= 1.3.1 ) || ( == 3.2.2 && >= 5.1.2 && < 7.6.2 && >= 3.1.2 ) || ( <= 5.2.4 && <= 7.2.8 && == 3.2.2 && >= 7.5.1 && <= 8.8.7 && >= 1.6.2 && < 7.1.4 && < 3.7.2 && < 7.6.2 )": {+                                "distroPKGs": [+                                    "e",+                                    "bgiv",+                                    "",+                                    "ucxlxxt",+                                    "uydea",+                                    "pwedqy"+                                ],+                                "notes": "sdl"+                            },+                            "( == 4.1.7 && <= 8.7.6 && >= 1.8.2 && <= 5.8.4 )": {+                                "distroPKGs": [],+                                "notes": "rgptzhcm"+                            },+                            "( > 2.7.8 && > 2.3.3 )": {+                                "distroPKGs": [+                                    "ctwbidj",+                                    "nosr",+                                    "",+                                    "qn",+                                    "hoqdj",+                                    "clmq",+                                    "vfrxbxki"+                                ],+                                "notes": "am"+                            },+                            "( > 2.8.7 && < 8.5.3 && > 3.8.7 && <= 1.1.5 && <= 7.5.2 && <= 5.7.5 && <= 2.5.2 && >= 2.5.1 ) || ( > 7.3.3 && <= 2.4.8 ) || ( >= 8.6.2 && > 1.8.2 && == 7.1.6 && < 1.3.7 && <= 7.7.2 && < 8.5.8 ) || ( >= 6.8.1 && < 1.6.8 )": {+                                "distroPKGs": [],+                                "notes": "fg"+                            },+                            "( > 3.7.8 && > 2.4.7 && <= 1.8.5 && == 1.6.6 && == 8.4.8 && >= 2.5.6 && > 5.1.4 )": {+                                "distroPKGs": [+                                    "ae",+                                    "eg",+                                    ""+                                ],+                                "notes": "e"+                            },+                            "( > 6.9.8 && < 7.2.4 && <= 1.4.8 && < 8.3.6 && <= 4.4.5 && > 3.6.5 && <= 4.7.6 && < 7.2.3 )": {+                                "distroPKGs": [+                                    "sqotn",+                                    "woyn",+                                    "rhan",+                                    "wfdlpq",+                                    "gbhz",+                                    "b"+                                ],+                                "notes": "ml"+                            },+                            "( >= 6.6.6 && > 7.4.4 && < 4.4.8 ) || ( < 8.2.7 && >= 8.3.5 && > 7.7.7 && == 8.6.6 && == 5.1.9 && <= 8.5.7 && <= 2.1.5 && == 8.4.5 && > 5.4.8 )": {+                                "distroPKGs": [+                                    "tzmjqbv",+                                    "ddw",+                                    "td",+                                    "l",+                                    "pzobfl",+                                    "vfw",+                                    "xswhghkv",+                                    "ym"+                                ],+                                "notes": "kptwvk"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "f",+                                    "wbkfbu",+                                    "vlcddzs",+                                    "hrdjadn",+                                    "l",+                                    "hp",+                                    "ryix"+                                ],+                                "notes": "ezsdxlbo"+                            }+                        },+                        "Linux_Gentoo": {+                            "( <= 3.2.5 && >= 8.7.3 && > 3.7.5 && < 6.5.8 && > 2.2.5 && >= 4.7.3 )": {+                                "distroPKGs": [+                                    "vuhr",+                                    "chctdzvb",+                                    "qn"+                                ],+                                "notes": "pypzkb"+                            },+                            "( <= 4.7.4 && == 3.5.4 && < 1.7.2 && <= 4.5.4 && == 8.2.4 ) || ( >= 7.8.7 && > 6.4.1 ) || ( <= 3.5.3 && > 2.3.8 && < 8.3.5 && >= 3.1.5 ) || ( < 5.1.4 && <= 7.5.8 && > 2.1.6 && == 7.7.6 && > 5.8.8 && == 7.8.4 && < 8.4.7 )": {+                                "distroPKGs": [+                                    "rss",+                                    "rhzxpsvd",+                                    "g"+                                ],+                                "notes": "hxqkrb"+                            }+                        },+                        "Linux_Mint": {+                            "( <= 7.6.6 && > 1.6.3 && >= 6.8.7 && < 3.6.6 ) || ( < 8.8.6 && > 5.4.8 ) || ( < 2.2.3 && > 8.3.5 && == 2.6.3 )": {+                                "distroPKGs": [+                                    "slesljw",+                                    "",+                                    "",+                                    "iwgcaa",+                                    "sho"+                                ],+                                "notes": "fasphwzs"+                            },+                            "( == 4.1.3 && < 4.3.5 && < 6.1.4 && <= 8.6.3 ) || ( >= 3.8.7 && <= 7.2.4 && > 3.1.1 && >= 8.7.3 )": {+                                "distroPKGs": [+                                    "hmm"+                                ],+                                "notes": "mzbvu"+                            },+                            "( > 6.6.7 && > 1.1.1 && == 3.7.1 && <= 8.7.4 && <= 7.7.6 && <= 8.8.4 && == 2.3.3 && > 7.3.6 ) || ( >= 6.5.3 && < 1.8.4 && < 5.5.6 && == 6.5.6 && < 6.3.8 )": {+                                "distroPKGs": [+                                    "iab",+                                    "",+                                    "egqdeay",+                                    "bpclusl"+                                ],+                                "notes": "icof"+                            },+                            "( >= 6.2.2 && > 5.5.2 ) || ( == 2.4.6 && > 8.4.6 && < 8.6.5 && <= 4.4.8 )": {+                                "distroPKGs": [+                                    "sheoeo",+                                    "kjgwbu"+                                ],+                                "notes": "ltshsmgj"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "yndsfw",+                                    "",+                                    "fbcj",+                                    "biedq",+                                    "hynmyjt",+                                    "anj",+                                    "xl",+                                    "rnran"+                                ],+                                "notes": "imvsso"+                            }+                        },+                        "Linux_Ubuntu": {+                            "( <= 6.7.2 && > 4.2.2 && <= 8.3.7 && > 6.4.7 && == 2.6.7 && >= 5.8.7 && >= 4.8.8 && > 4.2.2 )": {+                                "distroPKGs": [+                                    "c",+                                    "qqqofkk",+                                    "yyvvx"+                                ],+                                "notes": "ewsidbyv"+                            },+                            "( > 6.1.3 && > 8.1.8 && <= 6.4.1 && > 8.4.2 && >= 3.5.5 )": {+                                "distroPKGs": [+                                    "tpyco",+                                    "s",+                                    "zzit",+                                    "qmoayrrt",+                                    "fzcm",+                                    "lnjntl",+                                    "ogcgncy"+                                ],+                                "notes": "j"+                            },+                            "( >= 5.3.6 && >= 4.8.3 && <= 7.4.1 && > 6.3.8 && >= 7.8.2 && > 1.6.3 && >= 4.7.3 && >= 4.7.4 ) || ( <= 4.1.6 && <= 2.8.4 && <= 6.4.2 ) || ( > 2.5.8 && == 8.3.4 ) || ( > 7.7.5 && > 6.1.6 && == 1.5.3 )": {+                                "distroPKGs": [+                                    "ozoplpq",+                                    "rruitlb",+                                    ""+                                ],+                                "notes": "dj"+                            },+                            "( >= 5.8.5 && == 6.4.5 && < 5.4.6 && < 8.3.6 && > 1.8.7 && >= 6.6.3 && >= 1.1.8 && > 7.8.5 && <= 3.4.8 )": {+                                "distroPKGs": [+                                    "kurr",+                                    "wsodd"+                                ],+                                "notes": "iepulwka"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "iwa",+                                    "xkbpobx"+                                ],+                                "notes": "grdctf"+                            }+                        },+                        "Windows": {}+                    },+                    "8.5.7": {+                        "FreeBSD": {+                            "( < 2.7.5 && > 1.4.8 && > 2.7.5 ) || ( <= 9.5.5 && <= 4.1.7 && < 8.6.4 ) || ( >= 8.4.4 && > 8.2.7 && <= 6.5.4 && == 3.4.6 && > 2.6.2 && <= 4.3.6 )": {+                                "distroPKGs": [],+                                "notes": ""+                            },+                            "( <= 7.6.8 && >= 3.4.6 && <= 1.1.4 && > 3.7.3 && == 6.7.1 && <= 4.5.6 && >= 3.2.6 && == 4.6.2 ) || ( == 5.3.7 ) || ( >= 6.6.6 && == 6.4.7 && > 7.5.1 && > 7.5.3 && > 6.3.2 && < 1.6.2 && >= 7.4.7 && <= 4.5.2 && >= 7.8.7 )": {+                                "distroPKGs": [],+                                "notes": "pumw"+                            },+                            "( > 3.2.2 && <= 4.8.3 && >= 2.1.5 && >= 3.6.7 && == 7.2.5 && >= 3.2.8 )": {+                                "distroPKGs": [+                                    "tujczwt"+                                ],+                                "notes": "zrsmswu"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "dbksfg"+                            }+                        }+                    },+                    "unknown_version": {+                        "Darwin": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ylzfeh",+                                    "pol",+                                    "",+                                    "fnifqhh",+                                    "rip"+                                ],+                                "notes": "gs"+                            }+                        },+                        "FreeBSD": {+                            "( == 7.2.3 && <= 2.6.8 )": {+                                "distroPKGs": [+                                    "x",+                                    "pem"+                                ],+                                "notes": "nkfrzoj"+                            },+                            "( > 5.3.7 && <= 5.7.2 && < 5.6.5 && > 5.7.3 ) || ( >= 1.6.5 && <= 6.7.8 && == 4.6.6 && > 8.4.4 ) || ( > 4.1.8 && >= 8.8.4 && >= 1.3.4 ) || ( >= 3.3.1 && >= 6.5.8 && > 1.4.3 && < 2.2.5 && >= 4.8.2 && > 4.6.6 && > 1.4.8 )": {+                                "distroPKGs": [+                                    "ygfftg",+                                    "qf",+                                    "waxq",+                                    "fvebqtb",+                                    "ywqnr",+                                    "c"+                                ],+                                "notes": "cescmmz"+                            }+                        },+                        "Linux_Alpine": {+                            "( == 5.7.2 && >= 2.7.6 && < 3.2.7 && > 8.5.3 && == 3.4.1 ) || ( < 6.8.1 && == 6.2.5 && > 5.3.1 ) || ( >= 5.2.3 && >= 1.3.4 && < 7.7.7 ) || ( < 8.5.6 && == 2.3.2 && == 2.5.6 && >= 6.1.3 && < 4.6.5 && >= 8.1.4 && == 8.4.4 && >= 5.4.2 && >= 1.7.3 ) || ( == 7.3.4 && > 3.4.7 && <= 3.2.8 && > 3.8.1 && == 7.6.4 && <= 3.7.3 && >= 7.3.3 && > 5.6.3 && <= 2.2.6 ) || ( == 4.6.5 && < 7.2.4 ) || ( <= 4.3.3 && == 4.7.3 && > 3.2.7 && == 8.7.3 )": {+                                "distroPKGs": [],+                                "notes": "rkzni"+                            }+                        },+                        "Linux_AmazonLinux": {+                            "( >= 2.5.5 && >= 4.5.4 && <= 6.7.4 && <= 3.7.9 && > 5.4.1 ) || ( > 6.5.8 && <= 3.8.4 && <= 1.1.1 && == 2.6.7 && == 6.8.1 )": {+                                "distroPKGs": [+                                    "d",+                                    "wbld",+                                    "",+                                    "ebq",+                                    "wmxvv",+                                    "llrikqmc",+                                    "odtlc",+                                    ""+                                ],+                                "notes": "bmuumgg"+                            }+                        }+                    }+                },+                "GHC": {+                    "1.4.6": {+                        "FreeBSD": {+                            "( <= 6.8.6 && > 7.5.4 && >= 6.3.7 && > 5.5.6 && >= 1.8.8 && > 1.3.2 && <= 3.5.2 && >= 6.6.6 ) || ( == 2.1.1 && < 6.7.6 && >= 6.6.8 && >= 1.1.6 && > 1.4.6 && > 5.5.4 && > 2.5.8 && > 4.8.7 )": {+                                "distroPKGs": [+                                    "vcv",+                                    "lfeqch"+                                ],+                                "notes": "ywa"+                            },+                            "( == 6.6.7 && <= 4.2.7 && == 3.3.5 ) || ( <= 8.4.5 && >= 2.3.6 )": {+                                "distroPKGs": [+                                    "ywavrg",+                                    "kegl",+                                    "gv",+                                    "uc"+                                ],+                                "notes": "iub"+                            }+                        },+                        "Linux_CentOS": {+                            "( < 2.4.1 ) || ( == 7.1.6 && <= 4.4.7 && >= 4.3.5 && >= 2.8.7 && == 6.7.5 && >= 5.1.5 && == 6.7.6 && >= 3.7.7 )": {+                                "distroPKGs": [],+                                "notes": "adqanxk"+                            },+                            "( < 3.1.8 && <= 2.4.5 )": {+                                "distroPKGs": [+                                    "snqplalp",+                                    "cghjans"+                                ],+                                "notes": "gtfaix"+                            },+                            "( <= 2.3.6 && <= 7.6.1 && < 1.6.4 && < 6.2.5 && < 8.2.2 && >= 4.3.5 && >= 1.4.2 )": {+                                "distroPKGs": [],+                                "notes": "vxwlgz"+                            },+                            "( == 7.5.6 && == 4.1.7 && == 2.7.1 && < 4.2.3 && > 5.5.1 )": {+                                "distroPKGs": [+                                    "bvfi",+                                    "usgclvng",+                                    "ptdx",+                                    "clhhxcwf",+                                    "foz",+                                    "vfig",+                                    "z"+                                ],+                                "notes": "o"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "bspn",+                                    "qnmyed"+                                ],+                                "notes": "lu"+                            }+                        },+                        "Linux_Fedora": {+                            "( < 4.5.4 && > 1.2.1 && <= 7.2.5 && <= 2.5.5 ) || ( < 2.5.7 && == 4.6.1 && > 1.1.1 && < 3.6.8 ) || ( < 2.6.1 && <= 7.6.2 && < 6.1.3 && <= 3.8.6 && >= 8.6.6 && >= 4.3.2 && == 1.7.8 ) || ( == 6.3.2 && >= 5.1.4 && > 4.2.2 && < 6.1.1 && >= 1.2.5 && == 3.7.4 && == 1.5.6 )": {+                                "distroPKGs": [+                                    "oz",+                                    "zlmbcew",+                                    "flcwbul",+                                    "ropxh",+                                    "xp",+                                    "afddqb"+                                ],+                                "notes": ""+                            },+                            "( <= 6.7.4 && > 2.1.5 && > 3.2.3 && == 8.2.3 && > 8.2.6 && == 4.6.1 && < 6.6.3 ) || ( <= 1.8.3 && < 8.4.6 && > 6.3.2 && > 6.5.8 )": {+                                "distroPKGs": [+                                    "vwgdyz",+                                    "lqhco"+                                ],+                                "notes": "li"+                            },+                            "( > 8.3.7 && <= 3.2.8 && < 2.1.7 && > 1.7.2 && > 8.5.2 && == 8.1.1 && < 2.5.7 )": {+                                "distroPKGs": [+                                    "lyb",+                                    "sibwyq",+                                    "isusbbg",+                                    "rks"+                                ],+                                "notes": ""+                            },+                            "( >= 8.6.3 && >= 4.8.7 && > 1.5.8 && >= 7.8.3 && == 5.3.7 && < 1.4.2 && > 8.3.8 && >= 1.1.2 )": {+                                "distroPKGs": [+                                    "aqgdwc"+                                ],+                                "notes": "fcram"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "bavvhx",+                                    "pgf",+                                    "fpdc",+                                    "cbfquh",+                                    "jmpjf",+                                    "gl"+                                ],+                                "notes": "sqnw"+                            }+                        },+                        "Linux_Ubuntu": {+                            "( <= 5.3.6 && >= 6.2.6 && > 4.2.7 && < 1.4.1 && > 3.7.7 && >= 5.8.6 && == 3.2.7 && <= 5.2.5 && < 7.5.3 ) || ( >= 5.3.7 && >= 4.2.6 && < 2.5.2 && < 5.1.5 && <= 2.5.8 && > 4.1.7 && >= 7.2.2 )": {+                                "distroPKGs": [+                                    "qdbpk",+                                    "zuiwnrq",+                                    "q",+                                    "q",+                                    "zvvffds",+                                    "ukdpt",+                                    "qxsymsjr"+                                ],+                                "notes": "axmak"+                            },+                            "( <= 8.8.2 && >= 1.6.2 && >= 1.8.7 && >= 5.4.6 && < 6.8.7 && < 3.7.2 )": {+                                "distroPKGs": [+                                    "soql",+                                    "q",+                                    "ez",+                                    "gurqfstb"+                                ],+                                "notes": "wdgawbm"+                            }+                        },+                        "Windows": {+                            "( < 1.6.1 )": {+                                "distroPKGs": [+                                    "mhihyfij"+                                ],+                                "notes": "bsdigyw"+                            },+                            "( == 8.2.4 && < 2.6.2 && >= 7.6.4 && < 4.6.1 && <= 6.1.6 && > 2.6.8 ) || ( <= 7.2.1 && > 9.7.5 && >= 7.8.6 ) || ( == 1.5.3 && == 7.8.2 && > 5.1.5 && == 4.4.3 && == 2.5.1 && > 4.8.7 ) || ( > 2.3.7 && < 4.1.7 && < 1.3.2 && < 6.6.8 && < 7.7.3 && <= 5.5.6 ) || ( == 2.6.4 && >= 7.1.8 ) || ( == 3.5.8 && >= 7.8.7 && > 8.7.4 && < 6.3.6 && < 5.7.4 )": {+                                "distroPKGs": [],+                                "notes": "jmijgzuf"+                            },+                            "( > 7.1.5 && > 2.3.4 && == 4.7.6 && <= 8.1.6 && < 4.1.2 && > 1.2.7 && == 4.5.4 && == 2.8.8 )": {+                                "distroPKGs": [+                                    "o",+                                    "",+                                    "zzufoxs",+                                    "hec",+                                    "ukqu"+                                ],+                                "notes": ""+                            },+                            "( >= 3.1.2 && <= 6.4.8 && <= 1.8.6 && == 7.8.6 && > 2.6.3 && <= 7.3.5 && <= 4.2.5 ) || ( < 5.7.3 && > 6.7.2 && > 5.8.8 ) || ( >= 3.7.8 && < 3.3.2 && <= 1.6.2 && >= 6.2.5 && == 6.4.8 && <= 4.6.1 )": {+                                "distroPKGs": [+                                    "p",+                                    "ifpp",+                                    "lgvixe",+                                    "",+                                    "o",+                                    ""+                                ],+                                "notes": "ykizfmgd"+                            },+                            "( >= 4.2.4 ) || ( < 4.1.2 )": {+                                "distroPKGs": [+                                    "",+                                    "hcmixu",+                                    "hgzd"+                                ],+                                "notes": "kf"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "t",+                                    "x",+                                    "bpbppl"+                                ],+                                "notes": ""+                            }+                        }+                    },+                    "5.4.3": {+                        "Darwin": {+                            "( <= 2.5.7 && < 6.7.3 && < 1.4.2 && <= 1.6.2 && < 8.7.5 && > 6.2.5 && > 4.6.6 )": {+                                "distroPKGs": [+                                    "olfx",+                                    "cy",+                                    "n"+                                ],+                                "notes": "pprpuvng"+                            },+                            "( <= 4.2.6 && == 2.7.1 && == 1.3.3 && < 7.4.1 && > 7.5.7 && >= 1.5.2 && >= 2.8.1 && == 5.4.4 )": {+                                "distroPKGs": [+                                    "hnlvcrb"+                                ],+                                "notes": ""+                            },+                            "( <= 8.5.8 && < 7.2.7 && >= 3.3.3 && == 7.4.1 && == 2.3.7 && >= 2.6.5 && > 1.3.5 && >= 8.1.8 && > 1.3.6 ) || ( >= 8.4.4 && >= 7.8.2 && <= 5.8.3 && > 5.4.3 ) || ( >= 3.6.6 && > 1.3.8 && >= 2.5.1 && > 5.7.1 ) || ( > 6.2.2 )": {+                                "distroPKGs": [+                                    "xwdfcbak",+                                    "iu"+                                ],+                                "notes": "cbhqwomo"+                            },+                            "( > 3.1.5 && > 5.6.6 && <= 3.6.2 && >= 7.4.2 && < 1.6.8 && <= 2.1.1 && < 1.4.4 && == 4.5.6 && <= 7.6.5 ) || ( >= 3.1.8 && < 4.7.7 && > 4.7.2 && <= 5.7.3 && == 4.3.6 && < 1.8.2 && <= 4.6.7 && > 7.7.2 && >= 5.7.3 )": {+                                "distroPKGs": [],+                                "notes": "m"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "kdnfkitl",+                                    "tesdb",+                                    "dw",+                                    "ndqql",+                                    ""+                                ],+                                "notes": "flhlvny"+                            }+                        },+                        "FreeBSD": {+                            "( <= 6.6.1 && <= 8.4.2 && > 7.3.5 && < 6.5.3 && > 2.3.1 )": {+                                "distroPKGs": [],+                                "notes": "ydwim"+                            },+                            "( > 3.5.2 && <= 7.3.1 && > 7.2.3 && >= 8.1.5 && > 5.3.5 && == 3.5.9 ) || ( < 8.2.2 ) || ( > 7.6.8 && <= 3.7.5 && > 7.4.1 && >= 3.3.6 && <= 6.4.8 && < 1.8.6 && > 3.9.8 && >= 7.7.8 )": {+                                "distroPKGs": [+                                    "o",+                                    "yf"+                                ],+                                "notes": "b"+                            },+                            "( > 5.6.3 && >= 3.2.8 && == 7.3.1 && == 4.7.8 && == 4.4.3 && >= 5.3.7 )": {+                                "distroPKGs": [+                                    "cuonjv",+                                    "fysd",+                                    "mlyvogq",+                                    "gvxwuhr",+                                    "kou",+                                    "m",+                                    "izaqpsfa",+                                    "ktuonx"+                                ],+                                "notes": "h"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "uxn",+                                    "ammmqus",+                                    "heb",+                                    "aa",+                                    "mbmn",+                                    "qgzasjz",+                                    "tnkh"+                                ],+                                "notes": "xejapol"+                            }+                        },+                        "Windows": {+                            "( < 1.4.4 && < 1.7.6 && < 8.2.7 ) || ( == 4.8.1 && > 7.1.4 && > 6.7.1 && < 3.4.4 && >= 6.7.6 && > 7.4.4 ) || ( == 1.8.4 && <= 8.3.8 && < 2.3.6 && < 3.7.3 && <= 7.3.1 && > 3.4.7 && >= 5.4.4 )": {+                                "distroPKGs": [+                                    "jjatomm",+                                    "rzgualk",+                                    "pvqf",+                                    "flpy",+                                    "ilt",+                                    "ss",+                                    "jc",+                                    "dsrvh"+                                ],+                                "notes": ""+                            },+                            "( < 7.7.7 && == 6.5.4 && > 7.7.5 && >= 2.2.5 && < 7.7.7 && == 1.8.4 && < 8.8.1 && >= 6.4.6 ) || ( < 5.5.1 && <= 5.3.8 && >= 8.7.2 && >= 4.6.3 && > 5.1.2 && == 7.1.8 )": {+                                "distroPKGs": [+                                    "digusbja",+                                    "nhejw",+                                    "cpiei",+                                    "pxhnzzf",+                                    "lw",+                                    "j",+                                    "wxe",+                                    "wxadgza"+                                ],+                                "notes": "iicoggp"+                            },+                            "( <= 7.1.5 && >= 8.2.3 && <= 8.7.7 && >= 5.3.1 && > 1.5.3 && == 2.5.6 && > 4.1.4 && == 4.6.4 && <= 6.3.6 ) || ( > 6.7.3 && <= 8.6.6 && == 1.4.6 ) || ( <= 8.8.6 && > 1.8.6 && == 8.6.4 && > 7.4.6 && > 5.2.5 && >= 2.1.2 )": {+                                "distroPKGs": [+                                    "zf",+                                    ""+                                ],+                                "notes": "rh"+                            },+                            "( <= 8.3.1 && <= 5.1.3 && < 3.3.3 && == 6.1.1 && == 8.7.2 && == 7.3.5 && >= 5.7.2 && == 2.7.6 && > 8.1.1 )": {+                                "distroPKGs": [],+                                "notes": "njgkph"+                            },+                            "( > 1.5.9 && == 8.5.1 && < 5.8.8 && > 1.1.4 && > 6.5.4 )": {+                                "distroPKGs": [],+                                "notes": "vvqonk"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "tubxdr",+                                    "",+                                    "",+                                    "lbee",+                                    "fvttbd",+                                    "pucevfp"+                                ],+                                "notes": "wyyegbi"+                            }+                        }+                    },+                    "9.7.3": {+                        "Darwin": {},+                        "FreeBSD": {+                            "( < 6.5.7 && <= 2.7.5 )": {+                                "distroPKGs": [+                                    "bzdrd",+                                    "nvvjxcrl",+                                    "hx",+                                    "avfevog",+                                    "wvdk"+                                ],+                                "notes": "xyew"+                            },+                            "( <= 1.3.5 && <= 6.4.3 && < 6.1.1 && < 6.4.1 && < 7.2.4 ) || ( > 2.5.4 && >= 7.2.1 && == 6.6.7 )": {+                                "distroPKGs": [+                                    "oq",+                                    "e",+                                    "mcekd",+                                    "uwlkps",+                                    "mdrpcuvz",+                                    "xna"+                                ],+                                "notes": "opsyv"+                            },+                            "( <= 2.3.5 && == 5.1.3 && == 7.3.3 && == 3.3.5 && >= 7.5.6 && >= 1.4.4 && <= 2.5.4 && > 5.2.2 )": {+                                "distroPKGs": [+                                    "",+                                    "vc",+                                    "ge"+                                ],+                                "notes": "izaozo"+                            },+                            "( == 3.7.7 ) || ( == 3.7.8 && == 8.2.6 )": {+                                "distroPKGs": [+                                    "arujm",+                                    "juyjro",+                                    "xknf",+                                    "bxea",+                                    "p"+                                ],+                                "notes": "oakt"+                            },+                            "( == 4.9.3 && > 3.4.8 && > 1.5.2 && > 3.3.8 && < 8.7.1 && > 1.2.2 && < 3.6.2 && <= 7.3.6 && <= 3.4.6 ) || ( < 3.2.2 && <= 1.2.1 && < 6.1.7 && <= 4.1.8 && >= 2.4.2 ) || ( < 8.2.2 && == 8.3.1 && <= 7.6.4 && >= 6.2.7 && > 3.5.8 && > 5.2.2 && == 8.7.8 ) || ( > 8.1.2 && < 8.5.5 && == 7.6.5 && >= 5.8.8 && == 4.8.7 && > 7.6.1 && <= 2.2.7 ) || ( >= 3.5.8 && >= 2.6.3 && >= 3.5.4 && > 4.4.1 )": {+                                "distroPKGs": [+                                    "wzscgmk",+                                    "zjso",+                                    "idzohph",+                                    "d",+                                    "wzbuth",+                                    "rqks"+                                ],+                                "notes": "mmr"+                            },+                            "( > 8.4.5 && > 3.7.5 && <= 4.4.4 && > 2.5.2 && > 5.4.3 ) || ( < 6.8.4 && <= 3.5.5 ) || ( > 1.4.5 && <= 7.6.2 && <= 5.7.4 && > 2.7.8 )": {+                                "distroPKGs": [+                                    "iblr",+                                    "nfra"+                                ],+                                "notes": "h"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "qgqlsf",+                                    "jqgukzul",+                                    "deguw",+                                    "t"+                                ],+                                "notes": "zo"+                            }+                        }+                    },+                    "unknown_version": {+                        "FreeBSD": {+                            "( <= 3.6.1 && >= 8.8.3 && > 2.4.3 && < 3.4.2 && < 8.1.2 && == 4.1.4 ) || ( < 1.6.3 && <= 7.7.6 && > 6.8.3 && <= 8.6.6 )": {+                                "distroPKGs": [+                                    "k"+                                ],+                                "notes": "kda"+                            },+                            "( == 1.7.5 && == 3.6.7 && >= 7.4.2 && > 7.4.2 ) || ( <= 6.7.4 && > 1.9.8 && <= 1.7.2 && <= 5.2.6 && < 3.3.7 )": {+                                "distroPKGs": [+                                    "txf"+                                ],+                                "notes": "kqu"+                            }+                        },+                        "Linux_Debian": {+                            "( < 4.2.4 )": {+                                "distroPKGs": [],+                                "notes": "cp"+                            },+                            "( <= 7.2.8 && < 7.2.2 && == 3.7.2 && >= 3.3.4 && > 3.1.7 && > 2.2.3 && == 4.1.1 )": {+                                "distroPKGs": [],+                                "notes": "sh"+                            },+                            "( == 1.4.4 )": {+                                "distroPKGs": [+                                    "vrlpcpzj",+                                    "ds",+                                    "bqnsa",+                                    "trletko",+                                    "hjxzkgs"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_Gentoo": {+                            "( < 4.3.7 && < 8.1.4 && >= 5.1.2 && == 3.6.6 && == 6.1.6 && > 3.3.2 && >= 8.2.8 ) || ( <= 5.7.1 && > 1.8.4 && <= 7.1.6 ) || ( == 6.1.4 && >= 3.6.8 && >= 5.4.1 && >= 5.6.2 && >= 7.2.7 && <= 6.7.3 && >= 5.4.8 && < 7.6.1 && >= 5.4.1 ) || ( > 3.4.1 && < 2.7.4 && < 8.1.4 ) || ( < 5.5.1 && >= 1.1.8 )": {+                                "distroPKGs": [+                                    "iqn",+                                    "eyfcaon",+                                    "oqg"+                                ],+                                "notes": "ztt"+                            },+                            "( < 5.2.5 && == 8.5.8 && > 9.6.4 && <= 4.1.2 && >= 3.1.8 ) || ( == 8.3.3 && == 2.5.4 && > 8.4.7 && > 8.4.2 && < 6.5.8 ) || ( < 5.5.8 && <= 2.8.7 && == 8.5.4 && > 3.4.2 ) || ( > 8.7.1 && >= 4.4.8 && <= 7.3.6 && <= 9.8.2 ) || ( < 8.7.8 && >= 3.6.5 && >= 6.5.6 && >= 2.8.3 && == 3.1.7 && < 5.7.5 && < 2.1.4 && == 7.5.4 ) || ( <= 7.4.2 && == 6.3.6 && == 6.3.5 && > 5.1.6 && == 7.1.4 && > 4.3.1 && >= 5.3.2 ) || ( > 8.6.3 && > 2.5.2 && >= 2.3.2 && >= 8.2.5 ) || ( > 4.4.2 && == 3.5.5 && == 7.2.8 && == 7.1.4 && == 9.7.2 && >= 1.8.2 && <= 8.1.1 && >= 8.8.7 && >= 5.4.5 )": {+                                "distroPKGs": [+                                    "kmnggr",+                                    "kdrpqcj",+                                    "",+                                    "ehiv"+                                ],+                                "notes": "pt"+                            },+                            "( < 6.1.7 && <= 2.7.8 && <= 7.1.4 ) || ( <= 4.6.2 ) || ( > 7.5.2 && > 1.5.6 && > 4.5.1 && == 3.7.7 && <= 4.7.5 && >= 3.7.2 ) || ( < 6.4.6 && >= 8.9.3 && == 2.3.3 ) || ( <= 6.8.6 && <= 4.5.3 ) || ( == 3.3.4 && >= 8.8.2 )": {+                                "distroPKGs": [+                                    "ojqgb",+                                    "yjrrm",+                                    "rcy",+                                    "i",+                                    "ugic"+                                ],+                                "notes": "byxa"+                            },+                            "( <= 8.3.7 && == 6.4.2 && == 8.3.7 && >= 6.6.3 && == 7.5.8 )": {+                                "distroPKGs": [+                                    "z",+                                    "hpa",+                                    "lwmtlyvk",+                                    "zivmzja",+                                    "",+                                    "",+                                    "goa",+                                    "dk"+                                ],+                                "notes": ""+                            },+                            "( == 6.4.6 && <= 1.8.8 && > 1.4.5 && <= 7.7.8 && < 3.6.2 && > 4.8.4 ) || ( > 2.7.2 && == 3.1.4 && <= 6.6.8 && == 6.7.1 && == 4.8.2 && < 7.2.4 )": {+                                "distroPKGs": [+                                    "zoszfbk",+                                    "sgt",+                                    "haebu",+                                    "s",+                                    "z"+                                ],+                                "notes": ""+                            },+                            "( > 4.6.4 && > 4.3.8 && == 1.4.4 && == 6.5.3 && > 2.7.2 && > 2.6.3 && >= 2.7.4 && == 3.1.4 && >= 7.3.7 )": {+                                "distroPKGs": [],+                                "notes": "stixw"+                            },+                            "( >= 1.8.8 && < 1.1.3 )": {+                                "distroPKGs": [+                                    "njjl",+                                    "m",+                                    "j",+                                    "lztmkbs",+                                    "q",+                                    "rkpwta",+                                    "",+                                    "pxkfqvnw"+                                ],+                                "notes": "tlhzca"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "pjlkpj",+                                    "nqvzwn",+                                    "dxo",+                                    "isjmppu",+                                    "",+                                    "esu"+                                ],+                                "notes": "frfqbl"+                            }+                        },+                        "Windows": {+                            "( > 1.6.7 && < 2.8.4 && <= 3.5.8 && >= 5.2.7 && >= 5.1.3 && < 5.1.1 && > 7.2.4 && >= 5.7.1 )": {+                                "distroPKGs": [+                                    "qdknuro",+                                    "qpkus",+                                    "nqh",+                                    "qfdb",+                                    "ncjxx"+                                ],+                                "notes": "csks"+                            }+                        }+                    }+                },+                "GHCup": {+                    "1.2.7": {+                        "Darwin": {},+                        "FreeBSD": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "kecbaog",+                                    "susj",+                                    "fxm",+                                    "c",+                                    "y"+                                ],+                                "notes": "fxmf"+                            }+                        },+                        "Linux_Alpine": {+                            "( < 1.4.8 && <= 3.5.4 && <= 3.2.2 && >= 4.2.1 && > 2.7.4 && >= 3.2.6 && == 1.1.5 && <= 4.6.6 && > 6.3.5 )": {+                                "distroPKGs": [+                                    "ytakp",+                                    "ncy",+                                    "xxkuin",+                                    "pyj"+                                ],+                                "notes": "uwuhwfsm"+                            },+                            "( == 1.3.2 && < 4.7.9 && <= 4.2.3 && == 6.5.6 ) || ( <= 8.4.1 )": {+                                "distroPKGs": [+                                    "a",+                                    "fo",+                                    "rftw",+                                    "rwspthj",+                                    "wk",+                                    "oaie",+                                    "kaadphoe",+                                    "sag"+                                ],+                                "notes": "cx"+                            },+                            "( == 5.1.3 && >= 3.8.6 ) || ( >= 4.8.6 && >= 3.1.2 && >= 7.4.4 && <= 6.1.5 && >= 5.5.4 ) || ( < 5.5.4 && <= 7.3.7 && <= 7.3.7 && < 3.9.6 )": {+                                "distroPKGs": [+                                    "eyqlf",+                                    "enm"+                                ],+                                "notes": ""+                            },+                            "( == 7.8.3 ) || ( >= 4.6.5 && < 7.4.3 && == 7.4.8 && >= 4.3.8 && >= 8.8.6 )": {+                                "distroPKGs": [+                                    "blpth",+                                    "nof",+                                    "i"+                                ],+                                "notes": "sr"+                            },+                            "( > 8.3.5 && == 6.7.5 )": {+                                "distroPKGs": [+                                    "jjxax",+                                    "sffucocq",+                                    "cdkydy",+                                    "n",+                                    "zn",+                                    "ninisyzm",+                                    "gwe",+                                    "smwrvtl"+                                ],+                                "notes": "dydji"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "uryda",+                                    "ze"+                                ],+                                "notes": "tubm"+                            }+                        },+                        "Linux_Mint": {+                            "( > 1.6.6 && >= 7.4.2 && >= 8.5.8 && <= 1.1.4 ) || ( == 7.1.6 && > 6.4.8 && >= 3.3.1 && == 8.4.7 && < 3.1.5 && >= 7.8.6 ) || ( > 2.7.6 && < 7.7.5 && == 7.8.5 && == 4.6.8 && > 8.7.6 && >= 2.3.7 && < 1.5.6 ) || ( >= 4.6.5 && > 4.6.5 && < 1.1.6 && >= 3.7.7 && >= 5.1.7 && > 6.5.1 && == 2.3.3 && > 7.3.2 && >= 7.2.8 ) || ( >= 7.7.3 && > 5.7.7 && <= 6.8.2 && >= 4.7.3 && < 2.7.3 && >= 4.3.6 && == 7.6.3 ) || ( == 6.7.4 && >= 6.7.4 && < 3.7.6 && >= 5.1.6 )": {+                                "distroPKGs": [+                                    "cgures",+                                    "fhy"+                                ],+                                "notes": "pfifofyy"+                            },+                            "( > 8.6.3 && > 6.2.2 && == 4.2.5 && == 4.1.3 && <= 6.6.3 && < 7.2.6 && < 3.1.1 && == 6.8.3 ) || ( <= 2.7.5 && == 7.1.5 )": {+                                "distroPKGs": [+                                    "b",+                                    "nkkkaxkq",+                                    "sm"+                                ],+                                "notes": ""+                            },+                            "( >= 1.7.4 && <= 2.2.6 && >= 3.2.6 && < 6.3.9 )": {+                                "distroPKGs": [+                                    "jm"+                                ],+                                "notes": ""+                            },+                            "( >= 3.4.3 && < 4.7.3 && >= 2.6.8 && < 8.3.2 && == 3.7.7 && <= 4.1.1 && < 2.3.7 )": {+                                "distroPKGs": [+                                    "s",+                                    "jaiatee",+                                    "xhmyk"+                                ],+                                "notes": "azokb"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "nt",+                                    "twayybzm",+                                    "tl",+                                    "vixjfdx",+                                    "despxw",+                                    "idv",+                                    "cb"+                                ],+                                "notes": "wiuld"+                            }+                        }+                    },+                    "8.1.5": {+                        "Darwin": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "x",+                                    "rki",+                                    "mrotqsas",+                                    "hcvdxy",+                                    "",+                                    "yw"+                                ],+                                "notes": "ujgwewdi"+                            }+                        },+                        "Linux_Mint": {+                            "( <= 6.3.2 && < 7.2.4 && > 8.3.2 && <= 6.4.3 ) || ( == 4.1.2 && > 2.4.6 && < 7.2.2 && <= 5.6.8 && >= 7.3.1 && > 4.5.4 && < 1.5.4 && == 4.5.6 ) || ( == 1.8.4 && >= 3.5.4 && == 4.8.3 && < 4.4.1 && > 6.6.6 && > 2.2.2 && >= 4.4.2 )": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": "vuurwcb"+                            },+                            "( <= 7.5.4 && > 8.4.4 && == 7.7.6 && == 2.4.7 && >= 1.1.8 && <= 7.1.4 )": {+                                "distroPKGs": [+                                    "hsj",+                                    "dfnz",+                                    "kpn",+                                    "ztunb",+                                    "ea"+                                ],+                                "notes": "m"+                            },+                            "( == 2.8.5 && == 1.1.3 ) || ( >= 6.1.8 && <= 1.6.1 && > 6.1.2 )": {+                                "distroPKGs": [+                                    "phze",+                                    "crlvalr",+                                    "xjxnbm"+                                ],+                                "notes": "dmlsxd"+                            },+                            "( > 5.2.3 )": {+                                "distroPKGs": [+                                    "vttg",+                                    "ds",+                                    "p",+                                    "fgrvjtn",+                                    "bia",+                                    "kmtq",+                                    "g",+                                    "rcfognf"+                                ],+                                "notes": "xtpjiin"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "zyovd",+                                    "jgxvvppd",+                                    "z",+                                    "imdak"+                                ],+                                "notes": "qntc"+                            }+                        },+                        "Linux_Ubuntu": {+                            "( < 6.7.1 && > 3.5.7 ) || ( < 3.3.4 ) || ( > 1.4.5 && == 7.4.1 && <= 4.7.2 )": {+                                "distroPKGs": [+                                    "aqnod"+                                ],+                                "notes": "pgol"+                            },+                            "( < 7.8.6 && > 7.3.1 && > 3.6.3 && <= 8.2.4 ) || ( > 7.7.8 && > 2.3.2 && == 4.5.2 && < 6.6.3 )": {+                                "distroPKGs": [+                                    "nu",+                                    "ucn",+                                    "oxyw",+                                    "y",+                                    "",+                                    "jvgezdwm",+                                    "dheo",+                                    "vezf"+                                ],+                                "notes": "uiht"+                            },+                            "( > 4.7.6 && >= 8.4.6 && == 2.3.5 && >= 8.2.1 ) || ( <= 6.6.4 && < 6.9.1 && > 3.6.3 && >= 1.3.1 && >= 8.7.4 ) || ( < 8.7.5 && <= 5.5.5 && >= 7.8.8 ) || ( < 6.4.8 && >= 2.4.1 && >= 3.1.8 && < 6.1.5 && < 4.1.8 && <= 6.4.3 && >= 2.4.4 && >= 5.5.8 && <= 1.4.7 ) || ( <= 7.7.3 && == 4.7.2 && == 2.2.1 && > 1.4.7 && >= 9.7.5 )": {+                                "distroPKGs": [],+                                "notes": "xmgngsn"+                            },+                            "( >= 3.2.8 && <= 7.6.1 && >= 1.6.8 && == 7.8.6 && >= 3.2.4 && >= 7.3.7 && == 2.4.6 )": {+                                "distroPKGs": [+                                    "isczvss",+                                    "qvibrcn",+                                    "suz",+                                    "qq",+                                    "o",+                                    "uu",+                                    "vjvmgm"+                                ],+                                "notes": "tjtjeef"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "kylyagfh"+                            }+                        },+                        "Windows": {+                            "( < 4.1.7 && < 6.1.4 && < 8.8.2 && == 4.6.6 )": {+                                "distroPKGs": [+                                    "yyg",+                                    "kr"+                                ],+                                "notes": "oegkwp"+                            },+                            "( <= 2.7.6 && > 2.6.7 && <= 8.1.6 ) || ( <= 3.4.6 && < 5.7.4 && < 7.7.8 && == 2.1.6 && > 3.5.4 && == 8.5.7 && >= 4.6.2 )": {+                                "distroPKGs": [+                                    "fpkcjwt",+                                    "ywfy"+                                ],+                                "notes": "w"+                            },+                            "( == 2.3.5 && > 1.5.7 && < 7.4.7 && < 7.7.7 && < 5.5.1 && < 4.8.7 && < 6.1.1 && >= 6.5.3 && > 3.8.7 )": {+                                "distroPKGs": [+                                    "zhpv",+                                    "zxdhxj",+                                    "g",+                                    "jblaxss",+                                    "urgqgss",+                                    "wkatoan",+                                    "w"+                                ],+                                "notes": "bxehwy"+                            },+                            "( > 3.6.7 && == 5.4.2 && == 2.7.8 && > 1.3.2 && <= 8.7.6 ) || ( > 3.4.4 && > 3.6.4 ) || ( == 3.4.4 && == 7.2.1 && == 7.4.4 && == 7.2.1 && < 1.7.3 && >= 2.8.7 && <= 4.4.2 ) || ( < 6.7.1 && <= 3.6.8 && < 2.6.6 && < 6.5.8 )": {+                                "distroPKGs": [],+                                "notes": "wetedmz"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "wvygln"+                            }+                        }+                    }+                },+                "Stack": {+                    "4.1.3": {+                        "Darwin": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "i"+                                ],+                                "notes": "tn"+                            }+                        },+                        "FreeBSD": {+                            "( == 3.1.3 && < 4.4.7 && >= 3.9.1 && < 5.2.8 && <= 2.5.6 )": {+                                "distroPKGs": [+                                    "d",+                                    "o",+                                    "",+                                    "pvshcd",+                                    "",+                                    "xuuwj"+                                ],+                                "notes": "wdghr"+                            },+                            "( == 4.1.4 && <= 3.2.1 && <= 7.8.8 && <= 2.6.4 && < 7.7.1 && > 8.4.2 )": {+                                "distroPKGs": [+                                    "",+                                    "bjjr",+                                    "gkga"+                                ],+                                "notes": "twujmxgf"+                            },+                            "( >= 4.7.4 && <= 6.7.4 && > 3.2.7 && > 8.4.3 && >= 6.2.1 && < 3.2.8 && >= 5.8.4 && <= 8.1.1 && >= 5.4.1 )": {+                                "distroPKGs": [+                                    "xkionrcq",+                                    "tvieeiiq",+                                    "lujcnwl",+                                    "yviw",+                                    "mse"+                                ],+                                "notes": "xbzj"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "arf"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_Exherbo": {+                            "( < 2.1.6 && <= 1.6.7 && > 8.6.4 && == 5.5.2 && < 1.4.5 ) || ( == 6.3.3 && <= 7.3.7 && >= 2.3.6 ) || ( >= 2.7.1 && > 5.5.5 && == 6.4.6 && >= 1.5.1 && < 3.4.1 && == 7.4.4 )": {+                                "distroPKGs": [],+                                "notes": "fpvlsch"+                            },+                            "( > 3.4.4 ) || ( == 2.4.6 && == 4.8.4 && > 8.5.2 && > 2.2.5 && >= 1.5.1 && > 5.5.3 && > 1.4.1 )": {+                                "distroPKGs": [+                                    "zwaxt",+                                    "otagh",+                                    "exfhnkos",+                                    ""+                                ],+                                "notes": "xh"+                            },+                            "( >= 2.8.3 )": {+                                "distroPKGs": [+                                    "n",+                                    "piqfdq",+                                    "",+                                    "emebnmwl",+                                    "",+                                    "xjctrkz",+                                    ""+                                ],+                                "notes": "ufuyeyj"+                            },+                            "( >= 4.5.6 && >= 2.2.4 && <= 7.2.8 && <= 6.5.6 && == 2.1.1 && > 5.8.8 && > 1.5.1 )": {+                                "distroPKGs": [+                                    "jrodfj",+                                    "nckfazb",+                                    "hkfalg"+                                ],+                                "notes": "kngda"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": "onfpcywk"+                            }+                        }+                    },+                    "4.4.7": {+                        "Darwin": {+                            "( < 6.2.8 ) || ( <= 4.7.5 && >= 5.8.4 && <= 6.8.2 && < 5.3.5 && == 2.1.3 ) || ( <= 8.7.1 && > 7.7.5 && >= 6.4.9 && >= 8.1.2 && < 8.3.3 && < 5.6.6 && <= 7.8.1 && >= 6.4.8 && >= 2.4.8 ) || ( == 8.6.6 && > 2.5.2 && > 1.3.8 && > 3.1.3 && <= 4.7.5 && == 4.5.4 && == 5.3.2 && < 6.3.2 && == 7.2.3 ) || ( == 4.1.1 && <= 5.6.8 && == 1.6.6 )": {+                                "distroPKGs": [+                                    "",+                                    "rlrydc",+                                    "tyj",+                                    "wwqbpnwp",+                                    "x",+                                    "gyiexzd"+                                ],+                                "notes": "qmtsria"+                            }+                        },+                        "Linux_UnknownLinux": {+                            "( < 8.7.1 ) || ( <= 6.1.5 && > 2.5.2 && > 2.5.6 && < 2.2.4 ) || ( >= 5.4.3 && >= 3.6.5 && <= 3.7.7 && < 4.3.7 && == 4.8.5 )": {+                                "distroPKGs": [+                                    "tg",+                                    "y",+                                    "",+                                    "xrdpqwd",+                                    "mzvdn",+                                    "xrhkq",+                                    "qztpfk",+                                    "vxfp"+                                ],+                                "notes": "bctkaav"+                            },+                            "( == 8.2.3 && > 5.5.7 && < 8.2.2 && < 4.7.2 && <= 5.3.4 && > 1.4.2 && >= 8.1.5 && == 7.4.4 && < 3.3.2 )": {+                                "distroPKGs": [+                                    "zzn",+                                    "ocfckgin"+                                ],+                                "notes": "peq"+                            },+                            "( >= 7.5.5 && < 2.8.7 && > 8.2.8 && < 8.3.8 && <= 2.1.6 && > 5.1.4 && > 8.6.1 && <= 8.3.3 ) || ( > 5.4.4 && >= 8.1.2 && < 8.7.8 && >= 6.5.5 )": {+                                "distroPKGs": [+                                    "nvfnmucs",+                                    "jfxvsmns",+                                    "helshlvv",+                                    ""+                                ],+                                "notes": "kouqws"+                            }+                        },+                        "Windows": {+                            "( == 2.5.7 && >= 6.6.5 && >= 4.4.5 && >= 4.3.2 && <= 2.5.8 && < 3.5.2 && <= 4.6.5 && == 2.3.6 && <= 6.3.5 )": {+                                "distroPKGs": [+                                    "",+                                    "qtapbjjj",+                                    "l",+                                    "i"+                                ],+                                "notes": "nxh"+                            },+                            "( == 4.4.6 && >= 6.7.8 && > 8.4.7 )": {+                                "distroPKGs": [+                                    "m",+                                    "jojebol"+                                ],+                                "notes": "c"+                            },+                            "( == 6.7.7 && == 3.7.1 && <= 4.4.6 && <= 1.1.4 && >= 1.8.5 && == 7.2.7 && > 4.7.4 )": {+                                "distroPKGs": [+                                    "j",+                                    "cdyr",+                                    "htsua",+                                    "b"+                                ],+                                "notes": "mcmwgqy"+                            },+                            "( >= 3.1.6 && > 1.6.1 )": {+                                "distroPKGs": [+                                    "a",+                                    "tigigwq",+                                    "ueq",+                                    "dqjt"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "nlksczx",+                                    "psutibqs",+                                    "hzp",+                                    "fd",+                                    "ej",+                                    ""+                                ],+                                "notes": "lp"+                            }+                        }+                    },+                    "5.2.7": {+                        "Darwin": {+                            "( < 3.8.4 && > 2.2.7 && < 8.6.1 && == 6.7.2 )": {+                                "distroPKGs": [+                                    "hflt",+                                    "iilqss",+                                    "wfnogu"+                                ],+                                "notes": ""+                            },+                            "( > 3.1.6 && >= 1.3.2 && <= 2.3.3 && >= 2.2.10 && >= 8.6.7 && > 8.5.2 && > 4.2.6 )": {+                                "distroPKGs": [+                                    "hefcvjf",+                                    ""+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "opw",+                                    "vqeodie",+                                    "jgqi",+                                    "kyh",+                                    "l",+                                    "hupurco",+                                    "dsuybs"+                                ],+                                "notes": "y"+                            }+                        },+                        "FreeBSD": {+                            "( < 2.4.6 && < 5.6.3 && >= 3.1.4 && <= 1.8.5 && <= 7.7.6 ) || ( <= 4.6.3 )": {+                                "distroPKGs": [],+                                "notes": "gqlbck"+                            },+                            "( < 8.5.4 && == 2.2.2 && < 8.5.8 && <= 3.3.1 && > 2.8.4 && == 8.2.3 && >= 7.1.7 ) || ( <= 3.7.8 && >= 3.1.1 && == 8.6.1 && < 1.7.5 && < 7.2.4 && < 6.1.4 && >= 5.6.5 )": {+                                "distroPKGs": [+                                    "gket",+                                    "vizrq",+                                    ""+                                ],+                                "notes": "dxylke"+                            },+                            "( == 5.2.1 && > 6.9.1 && > 5.8.2 && >= 1.6.6 && >= 6.5.6 && >= 2.5.3 && > 1.1.1 ) || ( > 1.7.1 && == 2.4.2 ) || ( >= 3.3.6 && < 1.4.6 && <= 4.5.4 && < 8.8.8 && >= 8.4.1 && == 1.8.1 && <= 3.2.1 && <= 1.4.8 ) || ( <= 4.2.4 && <= 3.3.5 && >= 5.8.7 && == 4.4.4 && >= 4.2.4 && == 5.8.3 && >= 6.8.7 && > 3.4.5 && == 7.2.7 )": {+                                "distroPKGs": [+                                    "y"+                                ],+                                "notes": "cskfoyn"+                            },+                            "( >= 4.8.3 && < 7.8.8 && <= 5.3.2 && == 1.2.3 ) || ( < 6.6.3 ) || ( < 2.1.4 && >= 8.6.2 && > 7.8.3 ) || ( == 6.1.2 && < 3.5.1 && < 2.8.4 && == 5.1.5 && <= 8.8.1 && < 2.6.1 && == 3.2.3 && == 4.5.5 && > 5.8.8 ) || ( < 4.8.5 && <= 8.4.4 && < 7.2.6 && == 4.7.7 && > 3.8.5 && <= 8.3.4 && <= 2.2.2 && <= 6.6.8 && < 5.5.2 )": {+                                "distroPKGs": [],+                                "notes": ""+                            }+                        },+                        "Linux_Fedora": {},+                        "Windows": {+                            "( == 5.4.2 && <= 7.7.7 && < 3.6.5 && > 1.2.4 && > 8.5.8 && < 6.7.8 && <= 7.4.2 )": {+                                "distroPKGs": [+                                    "rd"+                                ],+                                "notes": "h"+                            },+                            "( > 4.5.4 && >= 2.2.4 && == 4.1.7 && < 5.2.5 && > 3.6.3 && == 1.3.7 && > 1.3.2 && > 7.5.8 && > 6.7.5 ) || ( > 7.4.3 && < 1.7.8 ) || ( >= 3.8.8 && > 8.6.1 && == 5.2.5 && <= 5.3.3 && > 2.2.1 && < 4.5.5 && <= 2.4.6 ) || ( < 4.6.7 && == 1.2.2 && >= 5.6.1 && > 4.8.4 && >= 2.9.7 && > 3.4.5 && <= 5.4.8 && == 4.3.3 && > 8.7.8 ) || ( == 2.5.7 ) || ( < 7.2.1 && >= 3.6.3 && > 7.4.2 )": {+                                "distroPKGs": [+                                    "bb",+                                    "dgj",+                                    "lcqxrq",+                                    ""+                                ],+                                "notes": "egvekf"+                            },+                            "( >= 3.1.1 && <= 7.8.7 && == 5.8.1 && < 5.8.6 && < 1.6.8 && >= 1.3.2 && >= 6.2.3 )": {+                                "distroPKGs": [+                                    "bv",+                                    "kwvin"+                                ],+                                "notes": "xaew"+                            }+                        }+                    },+                    "6.2.6": {+                        "Darwin": {+                            "( < 6.7.2 && <= 2.5.7 && < 2.3.1 && <= 7.8.3 && == 7.2.5 && == 8.4.6 && == 2.4.5 )": {+                                "distroPKGs": [+                                    "d",+                                    "b",+                                    "ojdznyx"+                                ],+                                "notes": "qd"+                            },+                            "( == 6.2.5 ) || ( == 7.4.2 && < 2.1.1 ) || ( < 4.4.8 && == 1.1.6 && > 1.8.5 && <= 1.8.5 && < 1.3.7 ) || ( >= 4.2.5 && >= 8.3.1 && >= 1.1.7 && < 8.3.3 && <= 5.2.7 && <= 5.6.5 && == 1.3.8 && > 3.1.7 && < 4.4.6 ) || ( >= 1.7.3 )": {+                                "distroPKGs": [],+                                "notes": "booav"+                            },+                            "( >= 1.4.8 && == 2.3.5 && <= 8.4.2 && >= 7.3.8 && == 5.5.3 && >= 9.2.3 && < 7.3.8 && < 2.6.4 && > 1.2.5 ) || ( >= 5.8.2 && > 3.1.5 && == 8.2.3 )": {+                                "distroPKGs": [+                                    "bvqalz",+                                    "",+                                    "",+                                    "kxtovz",+                                    "uxzokev",+                                    "gevwsn"+                                ],+                                "notes": "cx"+                            }+                        },+                        "FreeBSD": {+                            "( < 6.1.4 ) || ( >= 3.3.5 && >= 8.6.8 && < 4.8.8 && <= 5.3.1 && > 1.1.1 && < 3.2.8 && >= 5.6.8 && <= 1.8.2 && < 8.6.5 )": {+                                "distroPKGs": [+                                    "",+                                    "zhzq",+                                    "fnuzph",+                                    "pjznzdp",+                                    "y"+                                ],+                                "notes": ""+                            },+                            "( <= 6.6.6 && > 6.2.7 && >= 3.6.5 && == 6.5.1 && > 2.8.1 && <= 6.6.8 && < 7.4.4 ) || ( < 6.6.2 && < 7.7.8 ) || ( <= 2.4.7 )": {+                                "distroPKGs": [+                                    "knnmp",+                                    "m",+                                    "yrew",+                                    "aek",+                                    "qqnqvnc"+                                ],+                                "notes": "kpzwoh"+                            },+                            "( == 4.4.3 && >= 4.5.7 && >= 6.3.3 && <= 4.2.3 )": {+                                "distroPKGs": [+                                    "ntqfhy",+                                    "htsvm",+                                    "ivrax",+                                    "nuwnn",+                                    "spgakhbk"+                                ],+                                "notes": "xmy"+                            },+                            "( > 8.5.8 && > 5.2.6 && == 6.8.7 && >= 4.4.1 && == 1.4.6 && == 4.1.7 && == 2.8.8 )": {+                                "distroPKGs": [+                                    "hdnwi",+                                    "uhtikpx",+                                    "rbvyu"+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "p",+                                    "ultuepb",+                                    "",+                                    "gvnist",+                                    "uvamrxh",+                                    "m"+                                ],+                                "notes": "y"+                            }+                        },+                        "Linux_Alpine": {+                            "( == 5.3.5 && >= 4.6.8 && == 8.6.1 && < 8.8.5 && <= 8.1.8 && < 6.8.8 && <= 4.7.7 ) || ( <= 5.2.3 && > 5.3.5 && > 6.2.6 && < 5.3.5 && > 4.6.8 )": {+                                "distroPKGs": [+                                    "fj"+                                ],+                                "notes": "ibgctxi"+                            },+                            "( == 5.6.5 && > 8.6.2 && <= 2.3.6 && < 7.1.5 && <= 5.8.3 )": {+                                "distroPKGs": [+                                    "tfbeujln",+                                    "ei",+                                    "tqgmogjs",+                                    "s",+                                    "qlxhsxye",+                                    ""+                                ],+                                "notes": "jgeykmvz"+                            },+                            "( > 3.5.1 )": {+                                "distroPKGs": [+                                    "f",+                                    "bjqj"+                                ],+                                "notes": ""+                            },+                            "( >= 6.4.3 && < 2.6.4 && > 6.6.1 && == 6.4.5 && > 7.5.7 && > 8.3.7 && > 8.7.5 )": {+                                "distroPKGs": [+                                    "a",+                                    "g",+                                    "ul",+                                    "iexhmi",+                                    "xflrgo"+                                ],+                                "notes": "yf"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "p"+                                ],+                                "notes": "ege"+                            }+                        },+                        "Linux_Ubuntu": {+                            "( < 3.1.3 && <= 6.1.3 && < 1.5.4 && > 2.4.4 && <= 6.1.4 ) || ( > 3.7.5 && == 1.8.4 )": {+                                "distroPKGs": [],+                                "notes": "hak"+                            },+                            "( > 1.8.9 && > 5.2.2 && > 8.4.4 && < 6.3.2 && > 3.2.3 ) || ( <= 3.4.8 && > 8.3.2 && > 2.3.6 ) || ( <= 4.8.4 && >= 1.4.8 ) || ( == 8.1.8 && == 6.7.6 && < 8.5.2 && == 2.1.6 ) || ( < 7.4.1 && > 5.4.4 ) || ( > 4.2.4 && == 1.6.4 ) || ( > 4.2.7 && > 7.1.8 && <= 4.5.8 && < 4.4.8 && >= 6.3.5 && == 7.4.7 && < 8.3.5 && <= 2.2.1 ) || ( >= 4.5.5 && > 7.7.1 && == 2.2.4 && >= 8.5.6 && <= 7.2.6 && == 2.7.1 )": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": "fsjlz"+                            },+                            "( > 4.7.5 && >= 5.4.4 && < 4.4.2 )": {+                                "distroPKGs": [+                                    "gtin",+                                    "afaoo",+                                    "rnztdumx",+                                    "rt"+                                ],+                                "notes": "vbu"+                            },+                            "( > 6.3.5 && > 4.5.8 )": {+                                "distroPKGs": [+                                    "kw"+                                ],+                                "notes": "wond"+                            },+                            "( >= 5.5.5 && >= 2.8.5 && <= 2.6.5 && < 6.2.8 && == 3.7.4 && <= 8.3.6 && <= 1.1.6 ) || ( <= 1.2.5 && >= 2.2.8 && < 2.3.4 && < 9.6.5 && == 5.3.6 && < 8.3.4 )": {+                                "distroPKGs": [],+                                "notes": "cbhaong"+                            },+                            "( >= 6.4.5 )": {+                                "distroPKGs": [],+                                "notes": "bpl"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "pollumf",+                                    "u",+                                    "dseg",+                                    "dryxca"+                                ],+                                "notes": "mv"+                            }+                        },+                        "Windows": {+                            "( <= 6.3.3 && <= 7.4.4 && <= 9.5.4 && > 2.8.4 && == 6.7.3 && > 8.4.6 && < 2.3.7 && <= 8.4.8 )": {+                                "distroPKGs": [+                                    "avzhff",+                                    "akeluev",+                                    "qx",+                                    "duoyyav",+                                    "wdbuejdy",+                                    "xuigrzw",+                                    "wbolvel"+                                ],+                                "notes": "ot"+                            },+                            "( > 1.3.3 && < 7.1.3 ) || ( >= 6.2.1 && <= 1.4.4 && < 5.1.1 && == 5.3.7 && <= 1.5.8 && >= 6.8.3 ) || ( == 3.1.6 && < 6.6.3 )": {+                                "distroPKGs": [+                                    "fwlgww",+                                    "",+                                    "z",+                                    "jh",+                                    "bogzzw",+                                    "efdu",+                                    "yvzrhu"+                                ],+                                "notes": "tkrh"+                            },+                            "( > 7.1.3 && < 6.4.3 && >= 5.2.2 && >= 4.6.8 && > 5.5.5 && == 5.5.3 ) || ( == 1.1.5 && > 5.4.1 && >= 7.7.2 && == 5.3.4 && < 6.7.8 )": {+                                "distroPKGs": [+                                    "tyz",+                                    "ojtppwcd",+                                    "dvwe",+                                    "y",+                                    "wtm",+                                    "y",+                                    "ihm",+                                    "ii"+                                ],+                                "notes": "gmhh"+                            }+                        }+                    },+                    "8.1.6": {+                        "Windows": {}+                    },+                    "8.4.8": {}+                }+            }+        },+        {+            "ghcupDownloads": {+                "GHC": {+                    "1.4.8": {+                        "viArch": {+                            "A_32": {+                                "Linux_Gentoo": {+                                    "( <= 3.8.5 && == 5.8.4 && >= 4.6.6 )": {+                                        "dlHash": "nyi",+                                        "dlSubdir": {+                                            "RegexDir": "\u0007"+                                        },+                                        "dlUri": "http:nef"+                                    },+                                    "( <= 4.5.6 && >= 1.3.3 && >= 6.7.8 && > 4.4.1 && < 2.4.6 && <= 7.1.8 && < 1.4.6 )": {+                                        "dlHash": "bep",+                                        "dlSubdir": {+                                            "RegexDir": "˜\u0014a棾\"\\A"+                                        },+                                        "dlUri": "https:d"+                                    },+                                    "( > 8.1.2 && < 3.7.5 && >= 5.6.3 && > 8.7.3 && < 7.3.5 && <= 6.1.3 && <= 2.2.4 )": {+                                        "dlHash": "hmj",+                                        "dlSubdir": null,+                                        "dlUri": "https:xbf"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {},+                                "FreeBSD": {+                                    "( >= 1.8.7 && > 1.2.4 && == 3.7.6 ) || ( <= 4.2.4 && == 5.3.2 && >= 1.1.2 && == 8.8.1 && > 4.3.6 && <= 6.5.1 ) || ( >= 3.7.6 )": {+                                        "dlHash": "plzkk",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "u",+                                        "dlSubdir": {+                                            "RegexDir": "󻤒}\\+?>"+                                        },+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_Alpine": {+                                    "( < 6.2.5 ) || ( > 5.7.4 && >= 3.1.6 && < 6.5.1 && >= 2.8.4 ) || ( >= 3.8.6 && < 8.3.7 && > 2.5.2 && > 6.1.2 && <= 5.8.6 && > 7.6.7 && >= 1.1.5 ) || ( >= 7.6.7 && == 3.6.5 ) || ( > 7.6.4 && == 2.2.7 && > 2.1.3 && > 8.8.6 && >= 5.7.4 )": {+                                        "dlHash": "g",+                                        "dlSubdir": {+                                            "RegexDir": "\u0008#k𢍵"+                                        },+                                        "dlUri": "https:bxmyk"+                                    },+                                    "( == 3.3.4 && >= 7.3.4 && < 4.4.8 ) || ( > 2.4.7 && > 6.6.5 && > 4.2.3 && < 5.6.8 ) || ( == 4.8.1 && < 2.6.4 && == 5.7.1 && >= 1.8.2 && < 3.8.8 )": {+                                        "dlHash": "kaax",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:wjuhprsj"+                                    },+                                    "( == 5.6.1 && < 1.4.5 && < 4.1.1 && == 3.8.2 && <= 7.5.3 && >= 1.7.2 && < 3.7.3 )": {+                                        "dlHash": "ybxqjxgl",+                                        "dlSubdir": null,+                                        "dlUri": "https:j"+                                    },+                                    "( > 3.6.6 && >= 7.5.8 && >= 7.6.8 && == 7.3.1 && == 2.1.5 && >= 5.4.4 && > 8.8.4 ) || ( > 8.4.5 )": {+                                        "dlHash": "ox",+                                        "dlSubdir": "g󼥟gD\u0007+󺡊\r",+                                        "dlUri": "http:ukcofzug"+                                    },+                                    "( >= 8.6.2 && >= 7.3.8 && < 2.8.2 && > 5.4.5 ) || ( <= 3.3.2 && < 3.8.5 && <= 6.4.7 && <= 6.7.3 && < 2.6.2 && >= 6.3.1 ) || ( <= 5.8.3 && > 2.8.4 && >= 6.5.2 && > 7.8.7 && >= 6.7.2 )": {+                                        "dlHash": "ats",+                                        "dlSubdir": {+                                            "RegexDir": "粎U\u0016"+                                        },+                                        "dlUri": "https:zevkbgcv"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ixk",+                                        "dlSubdir": "\u0017",+                                        "dlUri": "http:c"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( <= 4.6.3 && <= 4.1.3 ) || ( >= 6.6.3 ) || ( < 4.5.2 && >= 5.2.4 ) || ( > 1.3.7 && >= 8.8.1 && <= 4.8.3 && < 2.1.5 && == 7.8.1 && < 4.2.3 && == 4.2.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": "ZIm-'5\tk",+                                        "dlUri": "http:zueopma"+                                    },+                                    "( == 2.6.2 && > 5.4.6 && == 8.5.2 && <= 7.7.1 && <= 7.4.3 && == 5.7.4 && > 4.2.5 && <= 2.8.6 && < 2.8.7 ) || ( < 8.1.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": "𫎛G󲇰c/",+                                        "dlUri": "https:"+                                    },+                                    "( > 8.5.6 && > 1.7.1 && > 6.3.6 && == 1.6.8 && >= 6.1.1 && > 3.4.1 && >= 6.4.8 && >= 2.6.3 && >= 7.3.5 )": {+                                        "dlHash": "fe",+                                        "dlSubdir": "",+                                        "dlUri": "https:wwxvdg"+                                    },+                                    "( >= 5.1.5 && > 7.2.6 && >= 2.6.7 && == 4.5.5 && > 6.7.8 && == 7.4.6 && == 3.4.6 && > 8.3.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "J\u0006g"+                                        },+                                        "dlUri": "http:hl"+                                    }+                                },+                                "Linux_Gentoo": {+                                    "( <= 3.3.6 && == 1.4.5 && <= 1.8.3 && == 7.7.8 && > 4.4.4 && >= 8.4.3 && == 4.4.1 )": {+                                        "dlHash": "mzowz",+                                        "dlSubdir": "CX􄔷",+                                        "dlUri": "http:cevi"+                                    },+                                    "( <= 8.6.4 && <= 6.3.2 && < 1.7.2 && == 1.2.8 && >= 7.3.7 && > 5.8.3 && < 7.1.1 ) || ( < 3.1.1 && > 2.4.7 && > 2.7.5 && >= 3.1.1 && == 2.4.3 ) || ( >= 8.6.3 && == 5.5.3 && >= 5.3.2 && > 8.2.2 && > 6.3.3 && == 2.3.1 ) || ( > 4.5.3 && <= 4.6.4 && > 9.7.1 && >= 8.8.4 )": {+                                        "dlHash": "awmhs",+                                        "dlSubdir": "$s]𡌎\u0001\u0013\u001br",+                                        "dlUri": "http:gcgwlqau"+                                    },+                                    "( >= 6.1.5 && >= 3.7.7 && < 4.4.6 && <= 1.8.4 && <= 2.3.2 )": {+                                        "dlHash": "rbdrufgl",+                                        "dlSubdir": "Y\u0017$q#",+                                        "dlUri": "http:a"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "glgb",+                                        "dlSubdir": null,+                                        "dlUri": "https:ffzj"+                                    }+                                },+                                "Windows": {+                                    "( < 8.3.1 ) || ( > 2.4.8 && > 2.7.3 && > 8.5.7 && > 4.4.8 && < 4.5.3 && <= 3.4.4 ) || ( > 8.1.1 )": {+                                        "dlHash": "je",+                                        "dlSubdir": {+                                            "RegexDir": "S"+                                        },+                                        "dlUri": "http:rlnkxxte"+                                    },+                                    "( > 4.8.7 && <= 1.1.6 && >= 1.7.8 && < 7.4.6 ) || ( > 6.7.3 && <= 7.6.4 && > 8.6.1 && > 5.2.1 )": {+                                        "dlHash": "osqf",+                                        "dlSubdir": null,+                                        "dlUri": "http:rfq"+                                    },+                                    "( >= 4.8.3 && == 6.6.7 && < 6.2.7 && > 2.3.4 && >= 1.4.6 && <= 2.5.3 && > 6.7.8 && < 2.7.2 && <= 1.6.2 )": {+                                        "dlHash": "hisd",+                                        "dlSubdir": null,+                                        "dlUri": "http:yat"+                                    },+                                    "( >= 8.1.4 && > 7.5.3 && >= 8.8.4 && > 5.7.1 && < 4.1.3 && > 4.7.4 )": {+                                        "dlHash": "b",+                                        "dlSubdir": "󽭎'OH序\u0008",+                                        "dlUri": "http:chn"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "cpfmvbr",+                                        "dlSubdir": null,+                                        "dlUri": "https:thu"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:bnt",+                        "viPostInstall": "jdjwlz",+                        "viPostRemove": "fbzect",+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "woix",+                            "dlSubdir": {+                                "RegexDir": "b\u0012􅉍󼇲N}\u0000"+                            },+                            "dlUri": "https:"+                        },+                        "viTags": [+                            "Prerelease"+                        ]+                    },+                    "2.6.7": {+                        "viArch": {+                            "A_ARM": {+                                "Linux_Gentoo": {+                                    "( <= 5.4.1 )": {+                                        "dlHash": "elojogv",+                                        "dlSubdir": "\u0007$]${",+                                        "dlUri": "https:lbotdd"+                                    },+                                    "( > 4.2.6 ) || ( == 8.8.4 && < 7.1.2 && >= 7.1.4 ) || ( <= 2.2.8 && > 4.1.2 && == 4.3.5 ) || ( >= 4.7.4 && < 2.6.6 ) || ( > 5.4.7 )": {+                                        "dlHash": "injyrvq",+                                        "dlSubdir": null,+                                        "dlUri": "http:fepnrntp"+                                    },+                                    "( > 6.7.1 && == 3.3.4 && == 1.8.7 && == 1.3.1 && >= 8.6.3 && > 6.2.8 ) || ( > 5.1.1 && <= 6.8.2 ) || ( == 8.7.5 && >= 6.5.1 && >= 4.4.1 && <= 4.1.4 && < 5.6.5 && > 3.3.6 && < 4.3.2 && < 6.3.5 && == 2.6.4 )": {+                                        "dlHash": "dmy",+                                        "dlSubdir": {+                                            "RegexDir": "Ͱ"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "bsd",+                                        "dlSubdir": {+                                            "RegexDir": "9=􁓂􍌥󵚀[\u000f"+                                        },+                                        "dlUri": "https:deqhvfc"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:gjl",+                        "viPostInstall": null,+                        "viPostRemove": null,+                        "viPreCompile": "dxw",+                        "viSourceDL": null,+                        "viTags": [+                            "Latest"+                        ]+                    },+                    "3.3.5": {+                        "viArch": {+                            "A_Sparc64": {}+                        },+                        "viChangeLog": "http:uhv",+                        "viPostInstall": "ly",+                        "viPostRemove": null,+                        "viPreCompile": "unrj",+                        "viSourceDL": {+                            "dlHash": "h",+                            "dlSubdir": {+                                "RegexDir": ",A\u001f`g+&"+                            },+                            "dlUri": "https:uoj"+                        },+                        "viTags": [+                            "old",+                            "&Z3𭹡X",+                            "Prerelease",+                            "Prerelease"+                        ]+                    },+                    "3.4.4": {+                        "viArch": {+                            "A_64": {+                                "Darwin": {+                                    "( == 2.8.5 && < 2.2.3 && <= 5.1.8 && <= 5.7.2 && == 6.3.8 && >= 2.4.1 && <= 7.7.2 && < 7.3.3 && <= 8.5.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": "𩄜",+                                        "dlUri": "https:bffi"+                                    },+                                    "( >= 2.8.6 && == 6.6.8 ) || ( > 5.1.8 && == 5.6.1 && <= 3.1.6 && >= 5.1.10 && <= 6.2.3 )": {+                                        "dlHash": "t",+                                        "dlSubdir": {+                                            "RegexDir": "u["+                                        },+                                        "dlUri": "https:ctx"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "vnya",+                                        "dlSubdir": {+                                            "RegexDir": "O햎!𑱠𗳹ᨪ"+                                        },+                                        "dlUri": "https:"+                                    }+                                },+                                "Linux_Ubuntu": {+                                    "( <= 6.6.7 && == 1.2.3 && == 7.3.1 && >= 7.6.7 && <= 4.3.2 && >= 8.6.1 && >= 4.6.4 ) || ( >= 6.3.6 && == 3.6.7 && == 8.3.6 && >= 3.8.1 && > 7.2.7 && >= 1.5.2 ) || ( <= 6.6.3 && >= 1.1.3 && >= 2.7.4 && > 2.5.2 && == 5.8.5 && == 2.3.6 && <= 4.4.4 && > 5.8.5 ) || ( < 8.3.3 ) || ( > 8.8.6 && == 2.7.3 && < 4.2.8 && == 7.2.6 && > 1.5.2 )": {+                                        "dlHash": "srpqu",+                                        "dlSubdir": {+                                            "RegexDir": "驵𣑯\u0003\u001fG\u0019'\u0003"+                                        },+                                        "dlUri": "http:awovjxxt"+                                    },+                                    "( == 9.5.2 && > 5.8.8 && >= 4.4.3 && > 4.1.3 && <= 7.7.8 ) || ( <= 7.4.8 && < 4.5.5 && > 1.2.7 && < 5.7.4 ) || ( == 1.7.3 && > 3.8.3 && >= 8.3.3 && <= 3.4.7 && == 4.5.6 && > 2.5.5 && > 6.3.1 && < 4.2.8 ) || ( >= 1.8.8 && >= 9.6.6 && == 8.4.1 && <= 1.3.3 ) || ( <= 2.8.9 && >= 6.2.3 && == 7.4.7 ) || ( < 6.1.4 && < 4.7.7 ) || ( > 1.5.3 && < 8.5.7 && > 4.8.2 && <= 8.7.4 && >= 4.6.4 && == 2.7.8 && == 1.5.6 ) || ( > 5.4.3 && <= 6.2.4 && >= 8.1.4 && > 3.6.1 && > 7.6.5 && >= 8.4.6 ) || ( > 3.2.8 && > 6.7.3 && < 2.1.1 && <= 6.7.3 && > 3.6.8 && < 4.4.1 && == 3.7.6 )": {+                                        "dlHash": "m",+                                        "dlSubdir": null,+                                        "dlUri": "http:cxlw"+                                    },+                                    "( >= 4.7.3 && >= 4.8.1 )": {+                                        "dlHash": "vxn",+                                        "dlSubdir": {+                                            "RegexDir": "\u0013"+                                        },+                                        "dlUri": "https:e"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "qnenmql",+                                        "dlSubdir": "",+                                        "dlUri": "http:brbrf"+                                    }+                                },+                                "Windows": {+                                    "( < 3.6.7 && >= 4.7.1 && >= 5.1.4 && >= 3.6.1 && <= 4.5.4 && < 2.4.2 ) || ( == 8.8.4 && > 5.1.6 && <= 9.6.3 && > 3.8.2 && > 6.8.5 && >= 7.8.1 && == 5.5.1 && <= 1.8.7 ) || ( > 5.6.4 && > 7.8.4 && == 1.1.6 && <= 3.2.6 && == 6.4.8 && > 3.2.7 && >= 6.8.8 && >= 8.2.5 && > 3.5.4 )": {+                                        "dlHash": "fvowp",+                                        "dlSubdir": null,+                                        "dlUri": "http:bh"+                                    },+                                    "( == 1.2.6 && > 6.5.7 && > 5.6.2 ) || ( == 5.4.3 && < 6.6.4 && <= 5.7.6 ) || ( <= 8.3.8 ) || ( == 8.2.8 && == 3.5.2 && == 1.5.6 && <= 4.7.2 && == 3.1.4 && > 4.4.3 && == 8.7.6 && > 1.7.1 && >= 5.8.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u0014"+                                        },+                                        "dlUri": "http:er"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "y陱󰨭c"+                                        },+                                        "dlUri": "https:xa"+                                    }+                                }+                            },+                            "A_ARM": {+                                "Darwin": {+                                    "( <= 1.5.5 && <= 7.3.1 && >= 3.3.4 && >= 7.7.5 && > 7.5.2 && < 2.8.5 && >= 7.3.8 ) || ( < 2.3.7 && < 4.6.8 && > 4.3.8 && == 1.8.4 && >= 1.1.8 && > 5.2.8 && > 2.3.4 && == 7.5.4 && < 1.1.1 ) || ( >= 5.3.7 && == 4.4.1 && == 8.4.2 && > 2.6.1 && == 3.3.6 && == 3.4.1 && < 1.8.6 && == 6.3.8 && <= 4.1.6 ) || ( == 4.2.7 && < 5.1.8 && <= 4.2.7 && == 4.3.2 )": {+                                        "dlHash": "bjmz",+                                        "dlSubdir": {+                                            "RegexDir": "o𗹃"+                                        },+                                        "dlUri": "http:mlj"+                                    },+                                    "( <= 2.8.2 && < 2.7.5 && > 3.6.2 && == 2.6.7 ) || ( > 6.5.2 && == 1.8.5 ) || ( <= 3.1.4 && < 2.8.4 && >= 4.8.8 && == 3.4.6 && >= 2.5.5 && >= 1.7.1 && == 6.7.3 && <= 4.3.1 )": {+                                        "dlHash": "sbjlwpo",+                                        "dlSubdir": {+                                            "RegexDir": "􍴚Y]𫀛\u0004𦙢d󳂳"+                                        },+                                        "dlUri": "http:ewy"+                                    },+                                    "( <= 7.5.3 && >= 4.8.4 && == 7.7.4 && > 4.5.4 && >= 8.5.5 && == 3.2.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:ydllmahs"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "v",+                                        "dlSubdir": "",+                                        "dlUri": "http:xzb"+                                    }+                                },+                                "Windows": {+                                    "( < 4.1.7 && <= 2.7.4 && < 4.7.2 && <= 5.2.3 && < 2.3.7 && > 4.1.5 && < 7.6.7 && < 4.1.1 )": {+                                        "dlHash": "yw",+                                        "dlSubdir": "",+                                        "dlUri": "https:kzki"+                                    },+                                    "( == 6.3.8 && >= 3.2.7 && >= 8.5.9 && > 3.1.2 && >= 7.3.5 && <= 5.3.1 && == 3.5.7 )": {+                                        "dlHash": "barmjd",+                                        "dlSubdir": {+                                            "RegexDir": "5\u000f\t~"+                                        },+                                        "dlUri": "http:zrgrbwg"+                                    },+                                    "( > 4.8.4 && <= 4.4.7 ) || ( > 2.6.7 && > 5.6.1 && == 5.7.5 && >= 1.1.5 && <= 7.8.5 && == 1.4.2 && >= 5.6.3 )": {+                                        "dlHash": "ypj",+                                        "dlSubdir": "\u0004",+                                        "dlUri": "http:yawtuh"+                                    },+                                    "( >= 8.3.2 ) || ( >= 4.2.7 )": {+                                        "dlHash": "j",+                                        "dlSubdir": {+                                            "RegexDir": "(󸰤\u0001[;@"+                                        },+                                        "dlUri": "https:ebz"+                                    }+                                }+                            },+                            "A_ARM64": {+                                "FreeBSD": {+                                    "( <= 4.7.8 && < 5.5.3 && <= 5.5.7 && < 4.6.3 && > 5.4.4 && < 7.8.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( < 4.6.3 && < 3.5.6 && <= 6.7.4 && < 4.7.4 && < 8.7.4 )": {+                                        "dlHash": "xgl",+                                        "dlSubdir": "5*",+                                        "dlUri": "https:qqahk"+                                    },+                                    "( <= 2.4.8 && > 8.7.1 && >= 1.8.8 )": {+                                        "dlHash": "rjasi",+                                        "dlSubdir": null,+                                        "dlUri": "http:qbw"+                                    },+                                    "( > 1.7.4 )": {+                                        "dlHash": "s",+                                        "dlSubdir": "Ej\u0002\u001d*􂽹",+                                        "dlUri": "http:bv"+                                    },+                                    "( > 7.2.8 && >= 3.5.6 && <= 8.7.8 && < 7.5.6 && <= 6.7.2 && < 8.2.6 && == 5.3.8 && >= 8.2.5 ) || ( > 8.3.4 && <= 3.2.2 && <= 8.5.5 && < 7.2.9 && < 8.1.2 && <= 5.3.5 && == 6.2.3 && == 7.7.7 )": {+                                        "dlHash": "qncsmyqa",+                                        "dlSubdir": null,+                                        "dlUri": "http:xr"+                                    },+                                    "( > 8.6.2 && >= 6.2.6 && >= 3.6.8 && <= 2.3.4 && < 3.4.5 )": {+                                        "dlHash": "xngjmly",+                                        "dlSubdir": "PP-",+                                        "dlUri": "https:ulrpl"+                                    },+                                    "( >= 4.6.7 && >= 2.8.6 && >= 2.6.4 )": {+                                        "dlHash": "yagttg",+                                        "dlSubdir": "4\u001a",+                                        "dlUri": "http:jtfzv"+                                    },+                                    "( >= 8.7.8 ) || ( <= 4.5.7 && == 1.8.8 && < 5.5.2 && < 2.3.9 && < 4.6.3 && > 4.6.4 ) || ( == 2.8.3 && < 5.7.2 ) || ( <= 8.6.1 && == 8.5.4 && >= 5.1.3 && > 6.3.3 )": {+                                        "dlHash": "nyedat",+                                        "dlSubdir": null,+                                        "dlUri": "https:pgyjpje"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "hnxk",+                                        "dlSubdir": null,+                                        "dlUri": "https:qgfkwamv"+                                    }+                                },+                                "Linux_CentOS": {},+                                "Linux_Debian": {+                                    "( < 2.7.8 && < 3.1.4 && < 6.1.2 && >= 1.7.5 && > 3.4.7 && < 2.1.2 ) || ( >= 6.5.6 ) || ( > 3.7.3 && <= 1.5.8 && > 7.3.7 && > 7.6.4 && == 5.6.8 && <= 1.4.1 && < 2.1.1 && == 8.7.5 && <= 5.4.1 ) || ( <= 3.7.5 && <= 2.5.5 && > 2.8.6 && == 1.2.1 && == 6.2.7 && < 7.6.1 && == 7.5.2 && >= 4.4.7 ) || ( < 7.7.3 ) || ( == 2.2.3 && == 6.3.4 && <= 8.1.5 && >= 7.7.4 && >= 3.4.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": "l(9",+                                        "dlUri": "https:eyha"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "f7Eꋬ"+                                        },+                                        "dlUri": "http:ngdj"+                                    }+                                },+                                "Linux_UnknownLinux": {},+                                "Windows": {+                                    "( < 1.3.1 && <= 1.1.8 && < 3.2.7 && == 4.8.5 ) || ( < 5.8.7 && >= 6.4.8 ) || ( < 8.8.6 && == 7.3.7 ) || ( > 6.3.7 && >= 1.1.1 ) || ( > 3.7.1 && <= 2.8.7 && <= 6.3.1 && < 7.8.6 && < 7.6.5 && < 1.8.1 && == 7.3.7 ) || ( <= 8.6.2 && <= 8.5.3 && >= 7.7.8 && <= 8.3.1 && > 8.3.6 ) || ( <= 3.4.6 && > 5.6.2 && >= 1.5.7 && <= 7.3.1 && > 3.5.1 && > 7.1.3 && <= 5.4.2 && == 3.8.2 && <= 2.4.2 ) || ( >= 8.1.3 && >= 2.1.6 && >= 1.3.5 && == 1.6.1 && > 4.5.8 && <= 5.5.8 ) || ( >= 4.5.8 && < 5.1.4 && > 2.1.1 && < 2.4.1 && < 3.8.8 && >= 3.7.1 )": {+                                        "dlHash": "f",+                                        "dlSubdir": {+                                            "RegexDir": "Yw󷬿"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( < 4.5.7 && <= 6.4.4 && == 3.7.5 && >= 2.6.3 && >= 1.7.7 && <= 8.1.7 && < 2.4.3 && < 2.3.1 && > 3.6.6 )": {+                                        "dlHash": "bg",+                                        "dlSubdir": {+                                            "RegexDir": "(hM㈂D\u000c%"+                                        },+                                        "dlUri": "http:zss"+                                    },+                                    "( > 6.1.5 && == 1.6.8 && > 3.5.1 && >= 6.7.2 && > 5.4.5 && <= 6.5.2 && > 3.4.5 && > 4.6.3 && < 5.5.5 ) || ( <= 2.2.7 && > 2.3.3 && < 1.7.3 && == 8.3.5 && < 3.6.3 )": {+                                        "dlHash": "rnbqdeat",+                                        "dlSubdir": {+                                            "RegexDir": "}󷢰𨌅q\\\u001c\u0015"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( >= 4.2.8 && >= 1.7.3 && >= 7.6.3 && <= 2.6.2 )": {+                                        "dlHash": "zrkggr",+                                        "dlSubdir": {+                                            "RegexDir": "vpN\u0004\\󽁵"+                                        },+                                        "dlUri": "http:vm"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "f",+                                        "dlSubdir": "Z9\u000e&􃍳-r𣈀",+                                        "dlUri": "https:boftmg"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( < 8.6.5 && <= 7.6.6 && <= 1.8.5 && < 5.8.6 && >= 1.5.6 )": {+                                        "dlHash": "rxef",+                                        "dlSubdir": "5p!",+                                        "dlUri": "http:"+                                    },+                                    "( <= 3.1.5 && >= 4.2.4 && > 8.2.8 && == 7.8.3 && > 7.2.5 && <= 1.8.5 ) || ( < 6.1.7 && == 3.3.6 && <= 8.6.7 && > 8.1.8 && < 6.7.5 && >= 8.8.1 && >= 2.2.8 )": {+                                        "dlHash": "mr",+                                        "dlSubdir": {+                                            "RegexDir": "~!\u000f𬰁."+                                        },+                                        "dlUri": "http:ziianwoo"+                                    },+                                    "( == 7.6.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( > 4.3.6 && >= 2.5.3 && < 7.3.1 && < 1.3.8 && >= 3.1.5 && > 1.1.4 && <= 7.1.5 && < 3.5.1 )": {+                                        "dlHash": "adjsxfrb",+                                        "dlSubdir": null,+                                        "dlUri": "http:vdz"+                                    },+                                    "( > 7.7.7 ) || ( >= 6.6.3 && == 2.8.5 && >= 4.3.8 && > 7.8.7 ) || ( >= 8.1.5 && < 1.8.1 && < 8.2.6 && <= 4.8.2 && >= 7.4.1 && >= 5.8.7 && <= 4.2.8 && >= 7.2.4 ) || ( == 8.2.7 && <= 6.8.7 && == 7.6.3 && > 2.3.7 && >= 5.1.7 && >= 1.2.3 && < 3.4.7 ) || ( > 1.9.6 && < 7.4.5 && < 6.7.8 && <= 5.4.7 && >= 8.5.6 )": {+                                        "dlHash": "cntho",+                                        "dlSubdir": {+                                            "RegexDir": "!GI𮗽􌗠"+                                        },+                                        "dlUri": "http:nlmc"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "n",+                                        "dlSubdir": {+                                            "RegexDir": "y𭍫𓎬DfT\t"+                                        },+                                        "dlUri": "https:fudqkcet"+                                    }+                                },+                                "FreeBSD": {+                                    "( == 4.2.1 && >= 3.2.5 && <= 4.2.8 && == 1.5.8 && >= 8.7.3 && < 5.7.5 && > 7.6.3 && < 4.8.6 ) || ( > 1.3.5 && <= 6.2.3 && <= 8.3.6 && >= 7.7.8 && > 2.5.3 ) || ( < 6.3.7 && <= 7.3.7 && == 6.2.8 && >= 6.4.6 ) || ( == 6.6.5 && <= 5.4.3 && >= 8.1.8 ) || ( < 2.3.7 && <= 2.3.2 && >= 2.5.3 && >= 1.5.7 && == 1.2.2 && > 2.8.8 && < 8.5.3 && == 3.3.8 && == 6.2.6 ) || ( <= 2.5.5 && == 7.8.6 && >= 8.5.4 )": {+                                        "dlHash": "lvmrib",+                                        "dlSubdir": "",+                                        "dlUri": "https:qdpuqzs"+                                    }+                                },+                                "Linux_Exherbo": {+                                    "( < 2.1.3 && >= 6.7.5 && < 3.7.5 ) || ( >= 1.5.5 && == 6.4.4 && <= 3.3.6 ) || ( > 2.2.3 ) || ( >= 1.6.6 && > 4.3.5 && > 3.6.3 && > 3.2.6 && < 8.6.4 && >= 3.7.1 && < 3.6.2 && < 5.3.2 && < 2.2.6 ) || ( == 7.2.1 && == 5.2.8 ) || ( <= 7.4.6 && >= 2.6.8 && >= 2.2.8 && == 2.4.1 && < 1.5.3 )": {+                                        "dlHash": "oeofui",+                                        "dlSubdir": null,+                                        "dlUri": "https:uhndfk"+                                    },+                                    "( < 5.2.6 && < 3.4.4 && < 1.1.3 && >= 8.2.2 )": {+                                        "dlHash": "filfoz",+                                        "dlSubdir": "𥁳󾜥𣠵ᤵ󲚣",+                                        "dlUri": "https:npp"+                                    },+                                    "( <= 1.1.5 && <= 5.5.5 && > 4.4.6 && <= 6.4.6 )": {+                                        "dlHash": "vyzcdmtd",+                                        "dlSubdir": ";gN\u001e𩺉(",+                                        "dlUri": "http:ncgwu"+                                    },+                                    "( <= 7.4.8 )": {+                                        "dlHash": "rzh",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    },+                                    "( <= 8.2.6 ) || ( < 2.1.8 && > 4.1.2 && < 6.8.8 && >= 8.4.3 && <= 7.2.4 && < 6.1.4 && >= 2.4.7 ) || ( == 2.1.4 )": {+                                        "dlHash": "t",+                                        "dlSubdir": {+                                            "RegexDir": "\u0014"+                                        },+                                        "dlUri": "http:cx"+                                    },+                                    "( == 4.3.5 && == 4.4.1 && >= 1.2.1 && > 3.7.1 && >= 8.1.6 && > 1.2.8 )": {+                                        "dlHash": "s",+                                        "dlSubdir": {+                                            "RegexDir": "伄𑶂"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": ">["+                                        },+                                        "dlUri": "https:g"+                                    }+                                },+                                "Linux_Gentoo": {+                                    "( <= 7.8.6 && == 2.2.5 && >= 1.1.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": "G\u0011\u001bET",+                                        "dlUri": "https:sfot"+                                    },+                                    "( == 1.3.3 )": {+                                        "dlHash": "svt",+                                        "dlSubdir": "",+                                        "dlUri": "https:dzlosofc"+                                    },+                                    "( == 3.8.8 && < 7.4.6 && < 7.6.5 && == 3.2.1 && <= 8.4.1 && > 8.8.2 && <= 2.7.1 ) || ( <= 2.5.7 && <= 4.7.4 && > 8.2.7 && == 5.6.3 && <= 3.3.2 && >= 1.4.1 ) || ( > 7.5.6 && == 6.6.4 ) || ( < 8.4.1 && <= 2.7.5 && > 5.5.7 && < 2.3.2 && == 2.5.8 && == 8.6.1 ) || ( == 2.8.7 && > 4.3.6 && > 1.3.2 && < 6.8.4 && == 5.7.4 && <= 5.4.5 && <= 3.5.2 && == 3.1.9 && <= 6.5.2 ) || ( > 1.6.5 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:gnapy"+                                    },+                                    "( == 7.5.5 && >= 4.6.2 && <= 6.5.2 && > 3.8.2 && == 5.5.1 && > 8.5.8 ) || ( > 1.7.6 && > 4.6.6 ) || ( == 6.4.4 && > 5.7.5 && < 4.4.5 && <= 7.2.7 && >= 6.5.2 && <= 3.4.6 && > 7.2.5 )": {+                                        "dlHash": "actbzbp",+                                        "dlSubdir": "x",+                                        "dlUri": "http:jznipdk"+                                    },+                                    "( > 7.6.7 && <= 7.1.8 && < 7.5.1 )": {+                                        "dlHash": "kq",+                                        "dlSubdir": "0𭨣𣮲",+                                        "dlUri": "https:zm"+                                    },+                                    "( >= 7.2.5 && == 6.7.6 && < 4.8.6 && > 5.6.6 && <= 5.8.2 && < 3.7.4 && > 7.6.1 && == 4.5.5 && > 2.8.8 )": {+                                        "dlHash": "latxlc",+                                        "dlSubdir": "nj魗鋿",+                                        "dlUri": "http:vynsyn"+                                    }+                                },+                                "Windows": {+                                    "( <= 5.1.7 && == 1.4.7 && > 5.3.2 && <= 3.1.1 && < 6.1.6 ) || ( < 4.4.5 && > 2.3.3 && < 3.6.3 && > 2.6.5 && < 1.7.4 )": {+                                        "dlHash": "tyyhnxzu",+                                        "dlSubdir": {+                                            "RegexDir": "\"\u0005i(󵹷'𢴺"+                                        },+                                        "dlUri": "https:to"+                                    },+                                    "( > 5.2.2 && >= 7.7.8 && <= 6.8.2 && < 4.5.3 && >= 1.6.6 && >= 8.6.3 && < 7.8.8 ) || ( >= 8.7.5 && == 7.6.1 )": {+                                        "dlHash": "nvjqcoqk",+                                        "dlSubdir": {+                                            "RegexDir": "𪺠󺺣\u0010"+                                        },+                                        "dlUri": "http:r"+                                    },+                                    "( > 5.8.6 && == 8.3.5 && == 8.6.5 ) || ( >= 1.2.6 && == 2.1.3 && == 2.9.2 && < 3.8.1 && >= 4.7.4 && <= 4.5.1 && <= 5.3.5 ) || ( > 8.3.1 && <= 4.1.7 && == 6.6.2 && == 8.6.7 && == 3.7.2 && >= 8.4.5 && == 4.3.6 && >= 5.2.1 )": {+                                        "dlHash": "vx",+                                        "dlSubdir": {+                                            "RegexDir": "v"+                                        },+                                        "dlUri": "http:owwii"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "Darwin": {}+                            }+                        },+                        "viChangeLog": "https:gqvwog",+                        "viPostInstall": "ytr",+                        "viPostRemove": null,+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "",+                            "dlSubdir": {+                                "RegexDir": "􊜃𝢾􏄴Vrq"+                            },+                            "dlUri": "http:z"+                        },+                        "viTags": [+                            "base-5.1.2",+                            "Recommended",+                            "1􈑉:খ",+                            "Latest",+                            "base-1.1.2",+                            "f8\u0017xNft(",+                            "Recommended",+                            "Prerelease"+                        ]+                    },+                    "6.5.7": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {},+                                "Windows": {+                                    "( >= 4.4.4 && < 6.6.5 ) || ( > 7.4.5 && <= 6.6.8 && < 3.7.7 && <= 3.4.1 && < 4.1.6 && < 4.7.1 && < 5.7.4 && >= 2.1.1 && <= 2.4.7 )": {+                                        "dlHash": "jqcdjpj",+                                        "dlSubdir": {+                                            "RegexDir": "󿋓[􋟌W"+                                        },+                                        "dlUri": "http:brs"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "xpxwznk",+                                        "dlSubdir": "k􃝨\u0010󷈧\u0008Q破_",+                                        "dlUri": "http:rnndzeqj"+                                    }+                                }+                            },+                            "A_PowerPC64": {},+                            "A_Sparc": {+                                "Darwin": {+                                    "( <= 4.8.7 && == 7.6.3 && > 2.5.2 && < 6.4.6 && >= 7.3.2 ) || ( > 5.4.2 && <= 6.3.2 && > 6.1.1 ) || ( < 8.7.7 && == 7.5.3 && >= 1.7.7 && < 6.2.6 && <= 1.1.8 && <= 7.8.3 && > 8.6.4 && > 8.4.7 )": {+                                        "dlHash": "gz",+                                        "dlSubdir": {+                                            "RegexDir": "N췱E}S"+                                        },+                                        "dlUri": "http:czafqg"+                                    },+                                    "( == 2.5.7 && < 3.7.8 && == 2.5.1 && > 2.7.4 && <= 5.6.6 ) || ( > 6.3.2 && >= 2.6.5 && == 3.4.3 && <= 1.6.2 && == 1.2.7 && > 1.6.2 && < 7.7.7 && >= 8.2.4 ) || ( > 6.8.8 && < 6.3.4 ) || ( >= 4.2.6 && == 3.7.5 && < 7.5.5 && > 7.3.7 && < 8.3.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "http:ie"+                                    },+                                    "( > 2.3.6 && < 3.1.6 && > 5.3.1 && >= 1.3.7 && >= 2.1.3 && == 6.4.4 )": {+                                        "dlHash": "tscvdkt",+                                        "dlSubdir": {+                                            "RegexDir": "w𧳛Y𥓦󵼶摣|"+                                        },+                                        "dlUri": "http:ldvmf"+                                    },+                                    "( > 4.2.1 && == 5.8.3 && == 5.3.4 && > 3.5.1 && >= 8.6.5 && > 4.8.7 && < 8.5.2 && <= 1.4.8 && <= 5.7.3 ) || ( < 7.8.1 ) || ( < 6.3.1 ) || ( >= 4.2.6 && > 1.8.5 && <= 6.8.6 && < 5.4.6 && >= 3.7.1 )": {+                                        "dlHash": "sfcx",+                                        "dlSubdir": null,+                                        "dlUri": "https:jh"+                                    },+                                    "( >= 5.5.1 && >= 4.1.6 && == 5.7.4 ) || ( > 3.2.1 && <= 8.5.8 && <= 8.4.5 && > 2.7.7 && >= 8.7.8 && <= 5.7.4 && >= 2.6.6 && == 1.4.4 && > 9.5.2 ) || ( >= 4.4.7 && <= 6.6.6 && > 8.4.7 && < 6.8.4 && == 7.8.1 && <= 6.4.5 && < 8.3.7 && < 4.4.7 ) || ( >= 1.5.9 && < 6.4.7 )": {+                                        "dlHash": "dado",+                                        "dlSubdir": null,+                                        "dlUri": "https:ymvn"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ftyq",+                                        "dlSubdir": {+                                            "RegexDir": "󴕠>I𢶋𫗺\\"+                                        },+                                        "dlUri": "http:hbc"+                                    }+                                },+                                "Linux_AmazonLinux": {+                                    "( < 4.4.6 && == 7.3.5 && < 4.3.6 && == 5.8.6 && <= 6.8.7 && >= 6.2.2 && < 6.2.3 ) || ( > 3.4.2 && == 3.3.3 && < 1.8.1 && == 8.1.1 && < 8.8.1 && == 6.8.3 && <= 3.3.3 && > 4.1.5 && < 5.6.2 ) || ( >= 1.2.2 && == 4.1.1 && <= 8.6.8 && < 4.3.5 ) || ( >= 5.1.7 && <= 5.4.4 && < 6.2.7 && <= 6.2.2 && < 6.8.8 && < 7.8.1 && >= 7.2.2 ) || ( < 2.1.5 && < 5.4.3 && < 1.3.4 && > 5.7.3 && > 7.5.2 && > 6.6.4 && <= 1.2.8 && >= 4.4.2 && <= 3.4.5 )": {+                                        "dlHash": "xpz",+                                        "dlSubdir": "7󼞋\u0017t\u0019",+                                        "dlUri": "http:ml"+                                    },+                                    "( == 1.7.3 && >= 8.4.6 && < 1.3.6 && >= 1.2.7 && > 2.3.7 && >= 5.3.8 && > 7.8.8 && > 4.2.7 )": {+                                        "dlHash": "kh",+                                        "dlSubdir": "􉶜󾛇",+                                        "dlUri": "https:uegeuegm"+                                    },+                                    "( == 4.2.4 && > 1.5.2 && == 6.4.6 ) || ( > 5.7.3 && >= 2.1.5 && <= 7.6.6 && < 7.2.1 )": {+                                        "dlHash": "eor",+                                        "dlSubdir": {+                                            "RegexDir": "P\u001a䰿`􇍾\rA~"+                                        },+                                        "dlUri": "http:rxkgpcx"+                                    },+                                    "( >= 6.8.5 && >= 8.1.8 )": {+                                        "dlHash": "tuxhyhcm",+                                        "dlSubdir": "<",+                                        "dlUri": "http:efrxmw"+                                    }+                                },+                                "Linux_Exherbo": {+                                    "( < 8.3.5 && == 5.5.2 && > 2.1.1 && <= 8.6.2 ) || ( == 2.3.6 && < 6.5.8 )": {+                                        "dlHash": "q",+                                        "dlSubdir": {+                                            "RegexDir": "ኣ\u000fA\u0001*􁆝<"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( == 3.4.2 && <= 4.8.3 && < 8.2.5 && <= 5.6.3 )": {+                                        "dlHash": "lcybpfvo",+                                        "dlSubdir": {+                                            "RegexDir": "\u001e@z󳧨f"+                                        },+                                        "dlUri": "http:yftl"+                                    },+                                    "( == 3.6.2 && < 7.7.2 && >= 5.8.6 && <= 2.5.2 && > 4.5.2 && <= 4.8.2 && < 8.4.4 && == 3.1.4 && == 6.8.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "E"+                                        },+                                        "dlUri": "https:bctkd"+                                    },+                                    "( >= 2.3.3 && >= 7.2.6 && <= 7.8.4 ) || ( <= 4.1.7 && <= 1.7.2 && < 1.7.7 && <= 4.5.8 && <= 6.5.1 )": {+                                        "dlHash": "mlrru",+                                        "dlSubdir": ",\u0015",+                                        "dlUri": "http:hszsgzyh"+                                    },+                                    "( >= 8.5.2 && >= 5.4.6 && >= 3.7.6 && > 3.5.3 && > 2.2.5 && <= 1.6.7 )": {+                                        "dlHash": "ojpwotb",+                                        "dlSubdir": "\u001c;7㨑U󵲇3\n",+                                        "dlUri": "http:xtxbga"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "ykfqul",+                                        "dlSubdir": "U,뱻5vK",+                                        "dlUri": "http:lamgn"+                                    }+                                },+                                "Linux_Ubuntu": {},+                                "Windows": {+                                    "( == 3.4.6 && > 1.3.1 && <= 3.7.5 && <= 5.5.4 && < 3.8.7 && <= 6.1.3 && >= 7.4.5 && <= 8.8.8 )": {+                                        "dlHash": "dk",+                                        "dlSubdir": "⢑𤠋\u0001z",+                                        "dlUri": "https:sywnqbb"+                                    },+                                    "( == 8.5.1 ) || ( == 6.7.3 && <= 4.4.5 && < 2.2.8 && < 4.2.1 && == 4.8.8 && < 1.4.8 && <= 5.6.6 && < 7.3.6 ) || ( == 7.4.4 && >= 5.2.2 && == 8.1.2 && < 2.2.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "0SHOl󵪷\u0018"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "gheg",+                                        "dlSubdir": "",+                                        "dlUri": "https:xjqhg"+                                    }+                                }+                            },+                            "A_Sparc64": {}+                        },+                        "viChangeLog": "https:n",+                        "viPostInstall": "qvm",+                        "viPostRemove": "sgvk",+                        "viPreCompile": "nvecnkvu",+                        "viSourceDL": {+                            "dlHash": "dzydyxg",+                            "dlSubdir": "􂮄qG+0󰊒t",+                            "dlUri": "http:vvn"+                        },+                        "viTags": []+                    },+                    "6.6.3": {+                        "viArch": {+                            "A_64": {},+                            "A_PowerPC64": {+                                "Darwin": {+                                    "unknown_versioning": {+                                        "dlHash": "wj",+                                        "dlSubdir": "9󶍰j}󶗈\u0015",+                                        "dlUri": "http:zquwa"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 2.5.1 && >= 5.5.6 && >= 2.2.3 && < 4.2.7 && <= 3.3.6 && == 2.7.7 && < 6.7.2 )": {+                                        "dlHash": "itw",+                                        "dlSubdir": null,+                                        "dlUri": "http:ebgwsdh"+                                    },+                                    "( == 6.2.8 && < 3.7.6 && >= 5.4.2 && > 6.7.7 && == 1.5.8 && > 3.1.6 )": {+                                        "dlHash": "nkdysrt",+                                        "dlSubdir": "N㹘󵨀\u0008C𣳄",+                                        "dlUri": "https:"+                                    },+                                    "( > 3.1.7 && == 8.6.1 && == 1.7.5 && < 4.8.2 )": {+                                        "dlHash": "xqajuhrc",+                                        "dlSubdir": null,+                                        "dlUri": "https:soxw"+                                    },+                                    "( >= 5.6.8 )": {+                                        "dlHash": "ipp",+                                        "dlSubdir": "𤿻\u001f󺅨y􁴼",+                                        "dlUri": "https:seecjpa"+                                    },+                                    "( >= 8.2.4 && == 1.8.1 && == 5.8.8 ) || ( < 2.1.1 && > 8.3.1 && <= 6.6.7 && < 8.6.2 && == 5.7.6 && >= 5.1.3 && < 1.2.4 )": {+                                        "dlHash": "nhiiyd",+                                        "dlSubdir": "􂌦𨼕\\$kn\u0001󼸏",+                                        "dlUri": "http:doqr"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "v",+                                        "dlSubdir": "M^\u0018󼠯eEl\u001f",+                                        "dlUri": "http:mj"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:juby",+                        "viPostInstall": "segjmze",+                        "viPostRemove": "",+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "nu",+                            "dlSubdir": null,+                            "dlUri": "http:tws"+                        },+                        "viTags": [+                            "",+                            "\u0014𣉈C\u0018󼀇V",+                            "Recommended"+                        ]+                    },+                    "8.5.4": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {+                                    "( < 6.3.3 && >= 6.4.3 ) || ( >= 7.6.2 && < 5.8.3 && >= 2.3.4 && > 5.2.1 && <= 1.6.7 && > 5.7.7 )": {+                                        "dlHash": "bzjnyzg",+                                        "dlSubdir": "",+                                        "dlUri": "http:qdfdnwxx"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "cm",+                                        "dlSubdir": null,+                                        "dlUri": "https:dxe"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 6.5.7 && < 8.1.4 && > 3.8.2 && == 4.1.5 && > 7.3.4 && > 7.4.6 && > 5.7.6 && <= 4.1.8 && <= 1.2.7 )": {+                                        "dlHash": "ju",+                                        "dlSubdir": {+                                            "RegexDir": "󴚩\u0000\u001eL3"+                                        },+                                        "dlUri": "https:t"+                                    },+                                    "( <= 4.1.7 && == 4.6.5 && == 4.5.7 && <= 2.5.6 && == 2.6.3 ) || ( > 5.6.6 && < 8.7.8 && == 6.8.6 && < 5.7.6 && <= 8.3.6 && == 9.7.4 ) || ( < 3.3.2 )": {+                                        "dlHash": "ruwm",+                                        "dlSubdir": {+                                            "RegexDir": "s􀑇Y"+                                        },+                                        "dlUri": "https:nozmv"+                                    },+                                    "( == 1.8.5 && >= 1.2.4 && < 7.7.9 && >= 4.1.2 ) || ( >= 8.6.3 && > 1.1.5 && <= 3.6.7 && < 4.6.3 )": {+                                        "dlHash": "pehbhvss",+                                        "dlSubdir": "8𗌮􌠷\u0006O:",+                                        "dlUri": "https:it"+                                    },+                                    "( == 2.6.2 && == 5.4.6 && == 6.1.5 && == 2.8.5 && >= 1.6.6 && <= 2.7.2 && == 1.3.3 && == 7.1.8 )": {+                                        "dlHash": "qcbnqz",+                                        "dlSubdir": "\u0004\u000bY𩉒dw",+                                        "dlUri": "https:z"+                                    },+                                    "( == 2.6.5 ) || ( > 5.9.8 && <= 6.5.5 && > 5.7.6 && == 8.2.1 )": {+                                        "dlHash": "ewd",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:rictt"+                                    },+                                    "( == 3.3.4 && == 2.3.8 && > 2.7.5 ) || ( <= 8.1.7 && == 5.2.6 && > 1.8.2 && < 5.2.8 && >= 5.1.1 && == 7.7.3 )": {+                                        "dlHash": "fbapes",+                                        "dlSubdir": {+                                            "RegexDir": "FN𤔊\t^"+                                        },+                                        "dlUri": "http:mdaz"+                                    },+                                    "( > 4.6.6 && < 3.1.6 && >= 7.1.2 && >= 1.7.3 && >= 8.5.3 && > 7.3.4 )": {+                                        "dlHash": "l",+                                        "dlSubdir": "𣟺!\u0005\u0006SXd",+                                        "dlUri": "http:atjynlfz"+                                    },+                                    "( > 5.5.2 && > 3.7.3 && == 5.8.3 && == 1.4.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:lh"+                                    }+                                },+                                "Linux_Fedora": {+                                    "( < 5.5.3 && > 8.1.5 && == 6.2.6 && >= 3.6.1 && <= 2.5.8 && > 2.8.4 && == 7.8.3 )": {+                                        "dlHash": "ckvl",+                                        "dlSubdir": "\u0006(u",+                                        "dlUri": "http:rda"+                                    },+                                    "( <= 1.6.7 )": {+                                        "dlHash": "dherkx",+                                        "dlSubdir": "\th-",+                                        "dlUri": "https:qyhl"+                                    },+                                    "( <= 7.2.3 && >= 3.7.4 && <= 2.4.6 && < 5.7.7 && < 1.2.8 && > 6.1.3 && > 3.8.8 && <= 2.8.5 && == 7.3.2 ) || ( > 4.9.5 && < 3.2.5 && >= 5.7.3 && > 8.6.7 ) || ( > 6.3.2 )": {+                                        "dlHash": "gwprkzmk",+                                        "dlSubdir": null,+                                        "dlUri": "http:ff"+                                    },+                                    "( <= 7.3.8 && <= 7.3.4 && <= 8.3.3 && <= 3.2.2 ) || ( == 4.4.4 && <= 4.5.8 && == 3.3.2 ) || ( < 3.1.6 ) || ( == 4.2.2 && == 1.3.6 && == 2.4.4 && >= 1.4.1 )": {+                                        "dlHash": "ijne",+                                        "dlSubdir": "M7ks\ny",+                                        "dlUri": "http:lzfewc"+                                    },+                                    "( == 4.1.4 && == 7.3.1 && >= 3.8.7 && > 3.2.3 && < 4.8.4 && == 3.1.8 ) || ( >= 5.8.4 && < 6.6.6 && <= 8.7.3 && < 6.3.1 )": {+                                        "dlHash": "cyxoqz",+                                        "dlSubdir": {+                                            "RegexDir": "q\u0002땦IaPn"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "( > 1.1.5 && <= 4.3.4 && >= 6.4.3 && > 6.8.8 && < 5.3.3 && < 3.6.6 && > 1.6.4 && < 8.8.1 && == 7.7.1 ) || ( > 4.6.8 && >= 6.5.1 && < 2.1.6 && < 1.1.3 && < 5.7.2 )": {+                                        "dlHash": "avfrflpp",+                                        "dlSubdir": null,+                                        "dlUri": "http:kddfmdjq"+                                    },+                                    "( >= 4.3.1 )": {+                                        "dlHash": "kejpsvr",+                                        "dlSubdir": {+                                            "RegexDir": "\u0004Y`7"+                                        },+                                        "dlUri": "http:nzrli"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "kvjunfw",+                                        "dlSubdir": null,+                                        "dlUri": "http:pblsub"+                                    }+                                }+                            },+                            "A_ARM64": {}+                        },+                        "viChangeLog": "http:kcbpilr",+                        "viPostInstall": "kvdlwtq",+                        "viPostRemove": "qyvxvztp",+                        "viPreCompile": "hpjrxowq",+                        "viSourceDL": {+                            "dlHash": "uvyqgeiy",+                            "dlSubdir": null,+                            "dlUri": "https:mb"+                        },+                        "viTags": [+                            "Latest",+                            "base-7.2.7",+                            "base-6.3.8",+                            "old",+                            "base-5.3.5",+                            "Latest",+                            "\u0005I{5\u0013",+                            "base-3.8.8"+                        ]+                    }+                },+                "GHCup": {+                    "3.3.6": {+                        "viArch": {+                            "A_32": {},+                            "A_ARM": {+                                "Darwin": {},+                                "FreeBSD": {+                                    "( >= 1.3.8 && == 3.1.8 && > 7.6.3 && <= 1.5.5 && >= 2.2.2 && <= 8.5.2 && == 3.2.1 )": {+                                        "dlHash": "phd",+                                        "dlSubdir": {+                                            "RegexDir": "M|㛇S"+                                        },+                                        "dlUri": "https:kjwhr"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( < 4.1.4 && >= 1.5.2 && == 6.6.3 && >= 6.3.5 && <= 6.4.2 && <= 5.5.5 )": {+                                        "dlHash": "zk",+                                        "dlSubdir": {+                                            "RegexDir": "B\u0015\u0003"+                                        },+                                        "dlUri": "http:yt"+                                    },+                                    "( <= 5.5.7 && <= 4.6.4 && == 2.1.2 && >= 7.3.3 && < 4.4.1 && == 2.5.1 && > 4.4.7 && < 3.8.7 ) || ( >= 7.3.8 && == 8.6.4 )": {+                                        "dlHash": "qygc",+                                        "dlSubdir": {+                                            "RegexDir": "\u0008"+                                        },+                                        "dlUri": "https:pyofpkdj"+                                    },+                                    "( <= 8.2.6 && > 7.3.8 && > 1.2.8 && < 4.7.8 && > 8.1.5 && >= 3.5.2 ) || ( <= 4.2.8 && < 7.8.3 && <= 8.4.5 && == 7.5.6 && == 2.4.5 && < 7.4.5 && >= 7.5.6 )": {+                                        "dlHash": "ib",+                                        "dlSubdir": "󻖪:L",+                                        "dlUri": "http:byfcyw"+                                    },+                                    "( == 4.6.5 && == 9.5.7 )": {+                                        "dlHash": "cnv",+                                        "dlSubdir": "􍸪1t/F\u0018\u0017",+                                        "dlUri": "http:azna"+                                    },+                                    "( == 4.7.6 && > 8.5.7 && < 3.2.4 && < 2.7.7 && > 2.6.1 && < 1.8.4 && < 2.5.7 && >= 3.8.7 && > 3.8.4 )": {+                                        "dlHash": "hxokohxs",+                                        "dlSubdir": {+                                            "RegexDir": "􀨍\u0015"+                                        },+                                        "dlUri": "http:vw"+                                    },+                                    "( > 6.1.3 && >= 7.7.6 && < 7.6.5 && > 5.8.4 && >= 4.8.4 && > 3.7.8 ) || ( == 2.6.2 && < 2.7.3 && <= 8.3.4 && < 6.2.3 && <= 8.4.7 && < 3.5.8 && >= 6.7.6 && >= 1.5.6 && < 1.5.6 ) || ( == 7.6.4 && >= 3.5.6 && > 6.1.8 )": {+                                        "dlHash": "otswzqpu",+                                        "dlSubdir": {+                                            "RegexDir": "[\u001a^s\u0013\u0001"+                                        },+                                        "dlUri": "http:koxtf"+                                    },+                                    "( >= 7.7.2 && >= 6.4.5 && <= 2.8.3 && >= 3.7.3 && == 8.2.3 && >= 7.6.3 && > 6.1.2 ) || ( >= 3.1.2 && == 5.6.1 && < 8.8.5 )": {+                                        "dlHash": "fwi",+                                        "dlSubdir": "\r\rW\u0018C",+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "tac",+                                        "dlSubdir": "J􁻫󱓟!i",+                                        "dlUri": "http:ogc"+                                    }+                                },+                                "Linux_Ubuntu": {},+                                "Windows": {+                                    "( > 7.8.6 && >= 7.2.3 && >= 4.3.1 && < 4.4.7 && <= 4.5.5 && > 6.4.8 && <= 3.3.2 )": {+                                        "dlHash": "vzklif",+                                        "dlSubdir": "\u0013𣪺 ",+                                        "dlUri": "http:iencxkc"+                                    },+                                    "( >= 2.2.3 && >= 7.8.3 && > 7.6.2 && < 8.6.3 && >= 1.7.7 && == 2.2.6 && < 8.5.6 && <= 5.6.7 && >= 4.5.2 )": {+                                        "dlHash": "rmsjzvxr",+                                        "dlSubdir": null,+                                        "dlUri": "http:rsrqf"+                                    },+                                    "( >= 8.4.3 && >= 8.8.3 && >= 2.7.5 && == 8.1.6 && > 6.1.2 && <= 7.8.2 && < 1.6.3 && == 8.6.8 ) || ( <= 7.4.8 && == 8.1.4 )": {+                                        "dlHash": "mh",+                                        "dlSubdir": null,+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "nscrfh",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:rkzrhdvq"+                                    }+                                }+                            },+                            "A_Sparc": {+                                "Darwin": {+                                    "( < 6.8.8 && > 2.5.3 && > 4.6.1 && == 5.2.6 && < 5.5.6 && >= 7.2.7 && > 8.1.4 && == 8.3.2 ) || ( < 6.7.3 && <= 2.7.2 && > 5.4.8 && > 3.2.3 && <= 5.6.4 && == 2.2.1 && >= 7.4.2 && >= 7.7.8 && > 6.5.8 )": {+                                        "dlHash": "pcpk",+                                        "dlSubdir": {+                                            "RegexDir": "󺥽\u0002\u0012h\"􉵒"+                                        },+                                        "dlUri": "http:cpcjvqga"+                                    },+                                    "( < 7.5.8 && == 4.4.3 && == 1.8.8 && < 1.1.2 && > 4.7.7 && >= 6.2.2 && > 8.8.4 && < 8.4.1 )": {+                                        "dlHash": "epmmd",+                                        "dlSubdir": null,+                                        "dlUri": "http:v"+                                    },+                                    "( == 3.6.3 && <= 8.5.8 && <= 5.4.5 && <= 3.5.1 && < 9.6.5 && < 4.6.8 && > 7.2.4 && < 3.8.7 && <= 2.4.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:ldgym"+                                    },+                                    "( >= 4.4.2 && <= 3.8.2 && >= 5.2.5 && >= 3.8.3 && == 8.5.3 )": {+                                        "dlHash": "fbttip",+                                        "dlSubdir": "Vj",+                                        "dlUri": "https:vcuht"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "q",+                                        "dlSubdir": null,+                                        "dlUri": "https:f"+                                    }+                                },+                                "Windows": {+                                    "unknown_versioning": {+                                        "dlHash": "yllhi",+                                        "dlSubdir": "kr\u0007\u001f",+                                        "dlUri": "https:lyw"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "http:hgc",+                        "viPostInstall": "hqxhqabh",+                        "viPostRemove": "h",+                        "viPreCompile": "",+                        "viSourceDL": {+                            "dlHash": "mpfno",+                            "dlSubdir": {+                                "RegexDir": "\u0013M厹A(K"+                            },+                            "dlUri": "http:r"+                        },+                        "viTags": [+                            "Recommended",+                            "old",+                            "Latest",+                            "old",+                            "Latest",+                            "old",+                            "Latest"+                        ]+                    },+                    "4.3.4": {+                        "viArch": {+                            "A_32": {+                                "Darwin": {+                                    "( <= 8.3.7 && <= 4.3.4 && <= 6.2.8 && == 7.7.1 && >= 5.2.5 && < 3.7.4 ) || ( >= 1.4.3 && <= 8.1.8 && >= 5.1.8 && < 2.2.3 && == 6.1.5 && > 6.3.8 && == 6.1.1 ) || ( <= 5.1.3 && >= 5.2.6 && >= 3.7.7 && < 5.5.3 && <= 8.1.6 && >= 6.2.3 && < 7.3.4 ) || ( > 1.7.6 && > 4.2.3 && < 8.6.2 && < 7.7.6 && > 6.4.3 && <= 5.6.7 && <= 1.1.7 && == 1.7.3 && >= 5.2.5 ) || ( >= 2.3.1 && == 7.5.2 && >= 2.4.6 && > 3.3.2 && < 7.6.3 && <= 2.2.6 && > 7.3.8 && <= 4.2.4 && > 6.6.5 ) || ( == 1.1.3 && == 1.2.2 ) || ( >= 6.8.6 && > 8.5.1 && <= 1.1.6 && <= 2.1.6 && >= 7.6.8 && >= 5.5.8 && > 6.6.3 && >= 8.7.3 ) || ( < 1.3.5 && <= 5.6.1 && == 6.2.3 && <= 1.2.8 && <= 7.8.4 && > 7.8.3 )": {+                                        "dlHash": "kqtv",+                                        "dlSubdir": null,+                                        "dlUri": "http:m"+                                    },+                                    "( > 1.4.3 && >= 2.5.1 && > 5.3.7 ) || ( < 7.2.4 && > 5.4.8 && < 2.8.8 )": {+                                        "dlHash": "avynv",+                                        "dlSubdir": null,+                                        "dlUri": "http:nzum"+                                    },+                                    "( > 5.8.5 && == 7.3.6 && < 3.4.5 && < 3.5.1 && > 2.2.7 )": {+                                        "dlHash": "bsrruuke",+                                        "dlSubdir": {+                                            "RegexDir": "\\\u001a3A\u001a\u0007\u0006!"+                                        },+                                        "dlUri": "http:qljkdxrr"+                                    },+                                    "( >= 5.5.5 && <= 7.7.5 && < 8.8.6 && <= 8.2.5 && < 4.8.1 && < 6.1.2 && == 3.1.2 ) || ( == 8.5.2 && < 6.4.8 && == 5.5.4 && < 3.1.3 && == 3.4.8 && <= 3.2.8 && <= 4.7.1 && >= 3.2.6 && == 6.8.3 )": {+                                        "dlHash": "cbzyfsv",+                                        "dlSubdir": {+                                            "RegexDir": "%\u0000<\n"+                                        },+                                        "dlUri": "https:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "bgesgerf",+                                        "dlSubdir": "󴝊\u0002~{\u000c\\",+                                        "dlUri": "http:a"+                                    }+                                },+                                "FreeBSD": {+                                    "( < 5.8.6 && == 7.2.1 && == 8.6.3 )": {+                                        "dlHash": "qfkmstpm",+                                        "dlSubdir": {+                                            "RegexDir": "_9{"+                                        },+                                        "dlUri": "http:mxmtvhf"+                                    }+                                },+                                "Linux_Gentoo": {+                                    "( < 2.8.1 && >= 4.2.1 && >= 1.8.2 && >= 8.3.4 && >= 2.4.1 && == 6.5.6 && < 1.5.3 && == 7.4.1 && > 2.5.8 ) || ( <= 5.2.6 && < 1.5.4 && < 3.1.5 && <= 3.8.4 && <= 3.2.8 && >= 6.8.7 && < 2.4.3 && > 6.6.6 && <= 2.3.8 ) || ( <= 6.7.6 && > 2.6.1 )": {+                                        "dlHash": "mgzpkbv",+                                        "dlSubdir": "\u0016<􋍊%S|\u0003𨵚",+                                        "dlUri": "https:pcsox"+                                    },+                                    "( < 4.5.8 )": {+                                        "dlHash": "umrmuon",+                                        "dlSubdir": null,+                                        "dlUri": "https:ff"+                                    },+                                    "( == 8.6.4 ) || ( < 1.1.1 && > 2.4.2 ) || ( == 5.3.2 && >= 6.1.8 && > 3.4.2 && >= 6.8.8 && < 4.8.4 ) || ( >= 7.8.4 && > 8.3.4 && > 3.2.5 && < 1.8.4 && == 1.1.7 && >= 5.8.6 )": {+                                        "dlHash": "gzbyimz",+                                        "dlSubdir": "]\tX𡂥+",+                                        "dlUri": "http:di"+                                    },+                                    "( > 3.1.4 && == 6.1.2 && > 6.7.2 && == 1.8.6 && <= 1.6.3 && == 5.2.6 && >= 7.5.2 ) || ( <= 4.8.5 && == 8.5.6 ) || ( > 2.3.3 && == 6.2.7 && > 8.5.3 && == 3.3.7 && > 5.2.1 ) || ( < 3.3.2 && <= 4.1.7 ) || ( > 3.2.2 && > 1.4.2 && >= 2.2.4 && < 2.4.1 && >= 1.2.8 && >= 1.5.3 && <= 8.1.7 && <= 3.7.6 && > 7.8.5 )": {+                                        "dlHash": "gycqy",+                                        "dlSubdir": null,+                                        "dlUri": "https:eemeeaj"+                                    },+                                    "( > 6.5.4 && <= 3.5.6 && >= 1.1.8 && > 6.5.2 && >= 4.4.1 && <= 6.1.6 )": {+                                        "dlHash": "rer",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:dhaxf"+                                    },+                                    "( >= 3.5.8 && <= 7.4.3 && <= 2.8.6 && >= 6.4.7 ) || ( <= 2.1.2 && >= 1.6.5 && >= 2.7.7 && <= 3.6.4 && == 6.3.5 && > 8.2.3 && <= 3.3.7 && >= 2.6.8 ) || ( >= 7.3.7 && > 4.1.8 && <= 7.2.1 )": {+                                        "dlHash": "ief",+                                        "dlSubdir": "㹽\t+\n/,ck",+                                        "dlUri": "http:ulnsli"+                                    },+                                    "( >= 3.7.1 && <= 5.8.4 && <= 5.1.4 && < 2.4.4 && > 7.2.4 && >= 5.7.5 && >= 6.4.2 && <= 8.4.1 && <= 5.1.1 )": {+                                        "dlHash": "gsg",+                                        "dlSubdir": null,+                                        "dlUri": "https:pzwacevh"+                                    },+                                    "( >= 6.3.5 && >= 7.8.3 && <= 3.7.8 && == 7.4.2 && < 5.5.5 && == 2.7.3 && < 6.1.6 && <= 6.2.7 && <= 7.1.3 ) || ( == 8.4.7 )": {+                                        "dlHash": "zzikdqk",+                                        "dlSubdir": "K[W&`hn",+                                        "dlUri": "https:dhf"+                                    }+                                },+                                "Linux_Mint": {+                                    "( < 4.6.5 && >= 5.2.4 ) || ( <= 3.5.3 && >= 3.5.2 )": {+                                        "dlHash": "frqr",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "https:mb"+                                    },+                                    "( < 7.5.8 && < 4.3.3 && == 1.2.4 && > 6.6.4 ) || ( < 2.7.4 && >= 1.3.4 && <= 2.1.3 && >= 8.5.8 && < 6.5.1 && <= 7.5.4 && > 1.1.4 && < 3.2.1 && == 4.3.1 ) || ( > 6.1.6 ) || ( < 6.8.4 )": {+                                        "dlHash": "wjckrr",+                                        "dlSubdir": "",+                                        "dlUri": "https:"+                                    },+                                    "( == 5.8.3 && > 1.7.4 && <= 7.5.7 && <= 1.1.7 ) || ( <= 2.2.7 && <= 5.1.2 ) || ( <= 5.6.4 )": {+                                        "dlHash": "fyuq",+                                        "dlSubdir": null,+                                        "dlUri": "https:tipazo"+                                    },+                                    "( >= 3.6.1 && > 5.4.7 && < 1.3.4 ) || ( > 7.6.1 && > 1.9.7 && == 2.5.8 && > 7.8.2 )": {+                                        "dlHash": "i",+                                        "dlSubdir": {+                                            "RegexDir": "\u0000R8󻇊"+                                        },+                                        "dlUri": "http:ankc"+                                    },+                                    "( >= 8.6.5 && > 8.4.5 )": {+                                        "dlHash": "c",+                                        "dlSubdir": null,+                                        "dlUri": "http:dsutx"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "sg",+                                        "dlSubdir": {+                                            "RegexDir": "\"4\u00029\u000f0𘍁"+                                        },+                                        "dlUri": "https:odk"+                                    }+                                },+                                "Windows": {+                                    "( <= 5.2.6 && > 3.5.5 )": {+                                        "dlHash": "v",+                                        "dlSubdir": "",+                                        "dlUri": "http:bgzz"+                                    }+                                }+                            },+                            "A_ARM": {+                                "Darwin": {+                                    "( < 1.3.3 && <= 3.1.2 && > 7.2.3 && < 3.4.7 ) || ( <= 2.1.5 && < 7.7.7 && >= 1.6.1 && < 5.8.6 ) || ( >= 3.1.4 && >= 7.2.6 && == 4.2.4 && == 6.2.4 && <= 6.4.2 && <= 3.2.7 && >= 5.4.5 && < 6.3.2 ) || ( >= 6.9.4 && == 2.1.6 )": {+                                        "dlHash": "usgdgr",+                                        "dlSubdir": {+                                            "RegexDir": "C𬄧7`\u0008M"+                                        },+                                        "dlUri": "http:detosdvn"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "",+                                        "dlUri": "https:vq"+                                    }+                                }+                            },+                            "A_PowerPC": {}+                        },+                        "viChangeLog": "https:",+                        "viPostInstall": null,+                        "viPostRemove": "h",+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "pazpsu",+                            "dlSubdir": {+                                "RegexDir": "a𗁫d|􏞆4"+                            },+                            "dlUri": "https:ucfte"+                        },+                        "viTags": [+                            "Recommended",+                            "Recommended",+                            "",+                            "old",+                            "\u0017M􆼘󴞻",+                            "old",+                            "Recommended"+                        ]+                    },+                    "8.6.2": {+                        "viArch": {+                            "A_32": {+                                "Linux_Ubuntu": {+                                    "( < 6.3.9 && <= 2.5.6 && == 5.6.8 && == 1.1.2 && < 2.6.5 && > 5.6.5 && > 5.5.2 && < 5.3.5 ) || ( == 8.5.4 && > 3.6.8 && > 4.2.3 && < 6.2.3 ) || ( == 4.8.8 && < 2.6.3 && == 1.4.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "ꇀO1"+                                        },+                                        "dlUri": "https:ap"+                                    },+                                    "( == 2.6.2 && < 8.3.3 && > 7.5.4 )": {+                                        "dlHash": "dtcjlo",+                                        "dlSubdir": "􅺙]󵅘\u0013W􄧫󿂶\u001b",+                                        "dlUri": "https:lto"+                                    },+                                    "( == 3.4.7 && <= 4.5.1 && <= 5.8.7 && >= 6.5.6 && <= 8.6.1 && == 1.2.8 && < 6.4.6 ) || ( == 4.1.6 && < 3.9.4 && >= 8.7.1 && == 3.1.8 && <= 7.6.4 && == 5.2.4 && <= 1.4.6 && <= 8.3.6 )": {+                                        "dlHash": "sm",+                                        "dlSubdir": "\u0002\u0011v",+                                        "dlUri": "http:gkakchn"+                                    },+                                    "( == 4.8.2 && < 1.1.4 && >= 8.7.5 )": {+                                        "dlHash": "lp",+                                        "dlSubdir": "l\u0002\u001c+",+                                        "dlUri": "https:d"+                                    },+                                    "( == 6.3.8 && <= 7.6.7 && < 5.8.2 && >= 6.5.7 && == 3.2.2 )": {+                                        "dlHash": "pt",+                                        "dlSubdir": "}\u0014V凳]\u0007",+                                        "dlUri": "https:ktzt"+                                    },+                                    "( > 1.3.5 && > 2.7.7 && <= 4.7.5 ) || ( == 3.5.2 && <= 4.2.8 && >= 3.7.8 && >= 1.1.8 && > 8.8.5 && == 3.3.4 && == 3.2.6 && >= 4.4.4 && > 6.3.2 )": {+                                        "dlHash": "tb",+                                        "dlSubdir": {+                                            "RegexDir": "@\u001f𤾠Mx𫭁Ⅱ𘙃"+                                        },+                                        "dlUri": "http:w"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "qrrmeta",+                                        "dlSubdir": null,+                                        "dlUri": "https:evt"+                                    }+                                }+                            },+                            "A_ARM": {},+                            "A_ARM64": {+                                "FreeBSD": {+                                    "( < 6.8.3 && == 4.4.1 && <= 7.2.3 && < 4.6.6 && < 8.2.8 && >= 4.5.5 && <= 4.3.8 ) || ( >= 2.7.3 && == 4.3.2 && == 1.6.8 && > 8.6.3 && <= 7.4.3 && > 3.6.8 && == 6.1.3 && >= 1.2.1 && >= 4.7.2 ) || ( < 5.6.4 && > 1.3.2 && >= 5.7.2 && >= 2.3.4 && > 1.2.6 && >= 8.8.5 && == 2.2.5 ) || ( <= 2.5.7 ) || ( < 2.1.6 && < 5.2.8 ) || ( <= 8.5.8 && > 1.4.5 && == 5.4.3 && >= 8.8.6 && >= 3.6.7 && < 4.5.1 && < 5.6.8 && > 6.4.5 ) || ( <= 3.4.3 && <= 4.3.2 && > 1.5.9 && >= 2.4.4 && > 1.3.2 && < 6.6.6 && == 1.1.6 && >= 7.7.2 && == 5.3.7 )": {+                                        "dlHash": "onretf",+                                        "dlSubdir": {+                                            "RegexDir": "B2𪔄|󵩣\u0001%󼯺"+                                        },+                                        "dlUri": "http:g"+                                    },+                                    "( <= 7.7.7 && <= 4.3.2 && <= 8.2.6 && > 5.8.2 && == 3.3.1 )": {+                                        "dlHash": "fuxfqep",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:"+                                    },+                                    "( > 8.3.6 && <= 7.3.5 && == 2.4.1 && == 4.5.6 && <= 2.1.3 && > 8.7.6 && <= 1.7.8 && < 6.3.4 )": {+                                        "dlHash": "s",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( > 8.4.2 && > 1.1.7 && < 5.4.8 && >= 6.4.7 && <= 4.4.1 && >= 3.4.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": "?PwT􏀩씋6",+                                        "dlUri": "http:wlvfafu"+                                    },+                                    "( > 8.4.2 )": {+                                        "dlHash": "icolau",+                                        "dlSubdir": null,+                                        "dlUri": "https:y"+                                    },+                                    "( >= 8.6.4 && > 7.2.8 && == 6.4.3 && < 2.4.4 && <= 2.2.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u000f,ꭉ"+                                        },+                                        "dlUri": "http:jfmmmqt"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "v𩒵#@\u0008{|"+                                        },+                                        "dlUri": "http:iie"+                                    }+                                }+                            },+                            "A_PowerPC": {+                                "Linux_AmazonLinux": {+                                    "( == 1.8.8 ) || ( > 6.8.7 )": {+                                        "dlHash": "fgbxxgc",+                                        "dlSubdir": {+                                            "RegexDir": "Y`t$4_A"+                                        },+                                        "dlUri": "https:yyoqrkkv"+                                    },+                                    "( == 3.5.6 && == 4.8.1 ) || ( >= 5.8.5 && <= 2.8.4 && == 7.5.8 && <= 6.4.2 && >= 5.2.3 && < 3.1.8 && < 3.8.4 && > 8.6.4 )": {+                                        "dlHash": "qbmzv",+                                        "dlSubdir": "st\u001c鱉e􈯟",+                                        "dlUri": "https:gahueri"+                                    },+                                    "( >= 8.3.6 && <= 5.6.5 && > 6.5.5 && == 5.5.2 && < 7.3.5 ) || ( <= 5.8.2 && == 4.6.2 && <= 5.8.1 && == 6.7.7 )": {+                                        "dlHash": "wabti",+                                        "dlSubdir": "",+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "zbcc",+                                        "dlSubdir": "",+                                        "dlUri": "http:jgtc"+                                    }+                                },+                                "Windows": {+                                    "( < 3.7.7 && <= 3.6.8 && <= 7.1.3 && > 7.4.2 && <= 1.3.3 && == 4.6.4 && <= 7.1.8 ) || ( == 1.3.8 && < 6.7.4 && == 8.6.7 )": {+                                        "dlHash": "eqchhx",+                                        "dlSubdir": {+                                            "RegexDir": "\u0011U]"+                                        },+                                        "dlUri": "https:antaji"+                                    },+                                    "( > 2.8.7 && == 3.4.8 && < 5.8.4 && > 4.5.7 && < 5.8.3 ) || ( == 8.7.8 && > 6.3.3 && <= 4.6.5 && == 7.7.4 && < 6.8.8 && < 8.8.4 )": {+                                        "dlHash": "qp",+                                        "dlSubdir": {+                                            "RegexDir": "\u0004y歊\u0003"+                                        },+                                        "dlUri": "http:rcfpl"+                                    },+                                    "( > 7.7.1 && == 5.7.5 && > 7.6.6 && < 4.1.4 && == 7.5.6 && <= 4.7.7 && == 5.7.1 )": {+                                        "dlHash": "dkcfx",+                                        "dlSubdir": "-;,",+                                        "dlUri": "http:jdfwfbrt"+                                    },+                                    "( > 8.8.6 && == 8.8.5 && == 6.7.6 && >= 1.7.2 && <= 2.2.7 ) || ( == 5.8.8 && <= 1.5.5 && == 2.6.5 )": {+                                        "dlHash": "qbkylm",+                                        "dlSubdir": "󷈺",+                                        "dlUri": "https:ddmqduw"+                                    },+                                    "( >= 5.3.2 && < 1.1.2 && > 8.2.8 && <= 2.1.8 && < 8.5.1 )": {+                                        "dlHash": "ouhkxidq",+                                        "dlSubdir": "}",+                                        "dlUri": "https:lqfhxdav"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "nzafy",+                                        "dlSubdir": "",+                                        "dlUri": "http:qves"+                                    }+                                }+                            },+                            "A_Sparc": {},+                            "A_Sparc64": {+                                "FreeBSD": {+                                    "( < 3.2.7 && > 4.7.3 && >= 1.5.7 && < 3.1.5 && <= 8.4.2 && <= 6.3.6 && < 3.3.5 && == 7.2.4 && <= 6.6.6 )": {+                                        "dlHash": "eohpj",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:gyckka"+                                    },+                                    "( < 6.6.2 && == 1.1.7 && < 4.8.6 )": {+                                        "dlHash": "rm",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:ltij"+                                    },+                                    "( <= 3.3.3 && < 5.2.8 && >= 8.7.8 ) || ( <= 6.4.1 && == 8.1.1 && >= 3.2.3 && <= 3.3.9 && < 1.4.6 && > 4.1.7 )": {+                                        "dlHash": "vpythd",+                                        "dlSubdir": {+                                            "RegexDir": "Ij2m\u0013\\R,"+                                        },+                                        "dlUri": "http:hceythg"+                                    },+                                    "( == 7.6.5 && > 2.8.3 && == 5.2.5 && < 7.8.1 && <= 5.5.2 && >= 8.7.8 && < 7.2.1 && >= 1.5.3 ) || ( < 9.8.6 && >= 4.4.3 && <= 6.4.8 && > 3.4.8 )": {+                                        "dlHash": "mn",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( > 7.8.6 && < 7.1.4 && >= 8.3.1 && == 2.2.8 && == 3.1.8 && <= 3.2.1 && == 8.8.7 )": {+                                        "dlHash": "nzsndlw",+                                        "dlSubdir": {+                                            "RegexDir": "Rp\u0000\u001c`"+                                        },+                                        "dlUri": "http:bughke"+                                    },+                                    "( >= 4.1.7 && >= 2.8.3 && < 7.4.6 && >= 1.4.3 && == 7.1.3 && <= 5.1.8 && >= 4.2.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "}M\u0015X;𢈈"+                                        },+                                        "dlUri": "https:ubojbh"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "abkooqhe",+                                        "dlSubdir": "YL",+                                        "dlUri": "https:fdf"+                                    }+                                },+                                "Linux_CentOS": {+                                    "( < 8.7.3 && > 5.6.8 && <= 4.1.2 )": {+                                        "dlHash": "jlbs",+                                        "dlSubdir": "T􀴙UU=\u0003ﲘ\u0003",+                                        "dlUri": "http:"+                                    },+                                    "( <= 2.1.1 && > 3.1.2 && == 7.4.4 && >= 8.3.3 && >= 5.5.4 && > 5.2.3 ) || ( < 7.2.4 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "s𦠭r$9􈒀\u0002!"+                                        },+                                        "dlUri": "https:nzvjaoq"+                                    },+                                    "( <= 2.2.2 && > 8.2.8 && >= 6.4.2 && > 6.3.7 && >= 5.6.4 && > 7.4.8 && > 1.7.6 )": {+                                        "dlHash": "mksapz",+                                        "dlSubdir": "S\u000fU󿁘|",+                                        "dlUri": "http:vdsc"+                                    },+                                    "( <= 6.5.8 && <= 8.6.8 ) || ( < 1.8.1 && > 6.8.5 ) || ( <= 6.3.4 && < 1.4.5 && < 4.2.4 && == 8.1.3 && >= 3.6.5 )": {+                                        "dlHash": "p",+                                        "dlSubdir": null,+                                        "dlUri": "http:vlabner"+                                    },+                                    "( == 4.3.4 && == 7.2.6 && >= 3.7.1 ) || ( >= 3.5.4 && <= 8.2.1 && > 4.4.5 ) || ( == 1.1.4 && <= 4.4.1 && <= 6.6.4 && <= 6.8.4 && > 4.6.6 && < 5.5.7 && >= 7.3.6 && == 6.6.6 )": {+                                        "dlHash": "qyd",+                                        "dlSubdir": null,+                                        "dlUri": "https:eiv"+                                    },+                                    "( > 2.4.4 && <= 6.6.8 && < 2.1.4 && == 8.4.3 && == 1.1.3 && == 2.2.7 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\u001ev"+                                        },+                                        "dlUri": "http:ciklqw"+                                    },+                                    "( > 3.7.1 && == 7.2.7 && < 6.4.7 && > 6.3.6 ) || ( > 3.2.6 && <= 6.7.8 && >= 6.2.8 )": {+                                        "dlHash": "woocvl",+                                        "dlSubdir": "Q𫼘\u0011",+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "xpnck",+                                        "dlSubdir": {+                                            "RegexDir": "䌘z\u0010𗅗kZZ:"+                                        },+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( < 1.6.2 && > 5.7.7 && >= 1.4.3 )": {+                                        "dlHash": "xbvrwmw",+                                        "dlSubdir": null,+                                        "dlUri": "http:xbbueboy"+                                    }+                                },+                                "Windows": {+                                    "( <= 7.1.1 && >= 4.6.3 && == 5.3.7 && == 5.7.3 && > 6.6.2 && == 3.3.8 && <= 2.5.1 && > 3.1.5 && == 6.7.3 ) || ( <= 1.2.7 && <= 6.4.8 && <= 2.1.1 && == 7.5.8 && <= 4.7.2 && >= 4.3.7 && < 8.8.3 ) || ( <= 7.5.7 && == 7.7.7 )": {+                                        "dlHash": "cekaiwyc",+                                        "dlSubdir": {+                                            "RegexDir": "玉im"+                                        },+                                        "dlUri": "http:"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "f",+                                        "dlSubdir": "M+Y",+                                        "dlUri": "http:gndawt"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:xogrunjn",+                        "viPostInstall": "uvftr",+                        "viPostRemove": "",+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "orhgsp",+                            "dlSubdir": null,+                            "dlUri": "https:anoingwt"+                        },+                        "viTags": [+                            "Prerelease",+                            "Latest",+                            "\u000bl󳮶\u0006󵖸􅊤\u0016 ",+                            "Prerelease",+                            "Prerelease",+                            "base-5.1.6"+                        ]+                    }+                },+                "Stack": {+                    "1.8.8": {+                        "viArch": {+                            "A_ARM": {+                                "Linux_CentOS": {+                                    "( < 2.7.1 && <= 7.1.1 && >= 6.8.5 && > 4.8.4 )": {+                                        "dlHash": "psl",+                                        "dlSubdir": {+                                            "RegexDir": "\rxJFa"+                                        },+                                        "dlUri": "http:crnxjs"+                                    },+                                    "( < 2.8.4 && < 8.6.2 && < 2.3.8 && == 7.5.6 && > 2.3.5 ) || ( > 3.6.7 && >= 6.2.8 && == 5.2.2 && > 6.4.5 && == 1.5.6 && < 4.4.7 && <= 1.7.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "<H~킇\u0001􎣰\u001e\u0006"+                                        },+                                        "dlUri": "https:efbgmnq"+                                    },+                                    "( < 5.8.2 && > 2.2.6 && <= 1.8.3 && == 3.3.7 && >= 3.3.4 )": {+                                        "dlHash": "hufhvadl",+                                        "dlSubdir": "􍀬.",+                                        "dlUri": "http:emorvm"+                                    },+                                    "( == 4.3.2 && > 6.3.7 && == 7.2.4 && > 3.8.1 && >= 4.5.7 ) || ( < 2.3.3 && > 3.6.7 && < 5.7.7 && >= 8.7.4 )": {+                                        "dlHash": "dtavnypr",+                                        "dlSubdir": null,+                                        "dlUri": "https:ax"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "",+                                        "dlSubdir": "0󴮢󵓃tE",+                                        "dlUri": "http:izg"+                                    }+                                },+                                "Linux_Exherbo": {+                                    "( == 3.5.2 && >= 3.4.7 && >= 3.6.2 && >= 1.6.4 && <= 2.4.8 ) || ( >= 7.3.6 && >= 4.2.1 && >= 4.1.5 && <= 5.8.7 && == 8.4.4 && == 7.1.3 && <= 2.5.3 )": {+                                        "dlHash": "vunapaff",+                                        "dlSubdir": null,+                                        "dlUri": "http:q"+                                    },+                                    "( == 8.1.2 && == 4.3.4 ) || ( <= 5.4.6 )": {+                                        "dlHash": "tyl",+                                        "dlSubdir": "WNy(\u000cef",+                                        "dlUri": "https:v"+                                    },+                                    "( > 4.4.3 && == 5.6.8 && <= 8.4.4 && < 8.8.7 && <= 6.6.7 && > 1.7.6 && > 1.3.2 && < 7.3.7 && < 2.4.3 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:lujeda"+                                    },+                                    "( >= 3.6.7 && < 7.5.4 && == 2.2.3 && >= 6.7.5 && < 7.3.8 && > 2.1.6 && < 6.8.5 )": {+                                        "dlHash": "ylvvkux",+                                        "dlSubdir": {+                                            "RegexDir": "􅭮NBo󽾗"+                                        },+                                        "dlUri": "https:e"+                                    }+                                },+                                "Linux_Mint": {+                                    "( == 6.5.4 && >= 2.4.2 && <= 6.3.5 && == 2.5.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "https:zl"+                                    },+                                    "( == 8.4.8 && > 2.1.8 && > 4.8.3 )": {+                                        "dlHash": "krdaun",+                                        "dlSubdir": {+                                            "RegexDir": "*d"+                                        },+                                        "dlUri": "http:cg"+                                    }+                                },+                                "Windows": {+                                    "( < 6.2.6 && < 2.8.3 && > 1.5.2 && < 5.5.2 && > 8.4.6 && == 2.6.7 )": {+                                        "dlHash": "zgfj",+                                        "dlSubdir": "\n\u000c\u0001𦐥tv8",+                                        "dlUri": "https:t"+                                    },+                                    "( < 6.3.3 && >= 1.4.1 && <= 8.3.8 && >= 3.5.4 && >= 8.6.6 ) || ( < 7.3.6 && > 4.1.1 && < 7.5.8 && <= 2.3.3 && <= 2.1.2 )": {+                                        "dlHash": "cvjr",+                                        "dlSubdir": {+                                            "RegexDir": "𢮺z\u0014;\u0019j1{"+                                        },+                                        "dlUri": "http:cacdm"+                                    },+                                    "( < 6.6.7 && < 8.6.4 && >= 5.6.7 && < 1.2.7 && > 7.2.3 && >= 6.3.4 && <= 6.3.2 && == 1.7.6 )": {+                                        "dlHash": "j",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:ypwfubtq"+                                    },+                                    "( <= 5.3.8 && < 2.6.2 && < 3.8.3 && <= 6.5.5 && >= 3.5.5 ) || ( > 1.3.3 && == 2.6.6 && <= 3.3.9 && == 8.6.2 && < 4.8.8 && > 7.1.1 && == 2.2.8 && < 6.8.4 && >= 1.6.2 )": {+                                        "dlHash": "df",+                                        "dlSubdir": "!ᴲ轉nDPzN",+                                        "dlUri": "http:kfv"+                                    },+                                    "( <= 6.7.2 && == 2.6.8 && <= 4.7.3 )": {+                                        "dlHash": "xpt",+                                        "dlSubdir": "\u0010",+                                        "dlUri": "http:w"+                                    },+                                    "( > 1.5.3 )": {+                                        "dlHash": "hapygnu",+                                        "dlSubdir": {+                                            "RegexDir": "\u0016\u001a쟛\u0018;Y"+                                        },+                                        "dlUri": "https:kxynbs"+                                    }+                                }+                            },+                            "A_ARM64": {+                                "Darwin": {+                                    "( == 8.9.5 && == 8.5.7 && < 8.1.5 && == 7.8.2 && < 6.6.5 && > 3.7.7 && > 7.3.6 && < 5.2.8 && > 3.2.6 ) || ( == 8.5.4 && == 8.4.6 && < 2.8.4 ) || ( > 7.7.4 && == 6.3.5 && >= 1.8.3 )": {+                                        "dlHash": "oshekxp",+                                        "dlSubdir": null,+                                        "dlUri": "https:amxqrkh"+                                    },+                                    "( >= 7.2.6 && >= 3.3.5 && == 2.2.1 && >= 2.5.8 && > 5.5.7 ) || ( <= 2.3.6 && <= 1.1.6 && > 5.1.7 )": {+                                        "dlHash": "dervd",+                                        "dlSubdir": "",+                                        "dlUri": "http:fkqzzdw"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "djkmvogc",+                                        "dlSubdir": "\u0019",+                                        "dlUri": "http:fi"+                                    }+                                },+                                "FreeBSD": {+                                    "( == 2.8.8 && == 2.7.2 && >= 7.2.3 && == 3.6.2 && >= 3.8.7 ) || ( > 5.1.8 && <= 5.1.6 && >= 2.1.3 && <= 7.8.7 && <= 3.6.1 ) || ( <= 7.1.3 && > 6.5.7 && >= 2.8.8 && <= 4.2.4 && > 4.4.7 ) || ( <= 8.7.7 && <= 8.2.3 && <= 2.5.3 && == 7.2.6 && > 7.5.5 && == 1.1.5 && <= 2.2.4 && <= 2.3.6 && == 2.2.7 ) || ( > 4.4.4 && < 2.1.3 && == 3.8.3 && < 9.5.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:"+                                    },+                                    "( >= 2.3.5 && <= 4.9.6 && >= 8.8.5 ) || ( < 2.1.8 && < 1.5.7 && >= 6.6.8 && == 8.4.6 && <= 1.3.5 && == 6.3.1 )": {+                                        "dlHash": "vgzh",+                                        "dlSubdir": null,+                                        "dlUri": "https:q"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "uixya",+                                        "dlSubdir": "M",+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( < 2.1.5 && > 4.3.2 ) || ( == 2.3.3 && > 6.3.7 && > 2.2.3 && >= 3.4.8 && < 8.6.1 && > 2.7.1 ) || ( <= 6.6.7 && >= 2.1.5 && >= 8.8.6 ) || ( < 8.3.1 ) || ( >= 8.5.6 && < 8.6.7 && < 7.4.8 && >= 4.6.7 && < 7.5.8 && > 1.4.4 && < 5.3.3 && >= 7.3.7 )": {+                                        "dlHash": "zwgzlm",+                                        "dlSubdir": {+                                            "RegexDir": "J)\u0011\u001e2\u0002-j"+                                        },+                                        "dlUri": "https:q"+                                    },+                                    "( < 5.1.2 && > 9.6.4 ) || ( >= 2.9.6 && <= 2.2.1 && < 5.4.4 && < 7.2.7 && <= 7.6.8 && < 8.2.1 ) || ( > 4.8.4 && >= 8.2.3 && < 4.4.3 && > 8.4.4 && >= 9.6.1 && < 6.2.6 && > 2.8.5 && >= 6.2.1 ) || ( == 2.5.7 && >= 1.2.2 && <= 7.7.2 && < 1.6.1 && > 2.7.1 )": {+                                        "dlHash": "vmh",+                                        "dlSubdir": {+                                            "RegexDir": "!󾖈A"+                                        },+                                        "dlUri": "http:wjm"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "galzc",+                                        "dlSubdir": {+                                            "RegexDir": "+𬘸$T󾸿h"+                                        },+                                        "dlUri": "https:"+                                    }+                                }+                            },+                            "A_PowerPC64": {+                                "Darwin": {+                                    "( < 6.3.3 && < 9.5.1 && <= 2.2.1 && == 5.3.3 && < 7.7.6 && == 3.3.4 && <= 6.4.4 && < 3.5.4 && >= 3.6.4 )": {+                                        "dlHash": "n",+                                        "dlSubdir": null,+                                        "dlUri": "http:par"+                                    },+                                    "( <= 3.4.6 )": {+                                        "dlHash": "lynhh",+                                        "dlSubdir": "g\u0007y|%",+                                        "dlUri": "https:hzscij"+                                    },+                                    "( <= 4.2.4 && > 5.6.4 && < 1.5.2 && < 4.7.5 ) || ( <= 7.6.8 && < 6.2.4 && >= 3.5.8 && <= 8.8.5 && >= 3.4.7 && <= 3.1.7 && >= 4.1.5 && == 5.3.6 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:vtgzv"+                                    },+                                    "( >= 8.3.7 && <= 1.7.3 && < 3.4.3 ) || ( < 4.5.1 && < 3.6.2 && == 6.1.9 && >= 4.4.5 && > 6.2.4 )": {+                                        "dlHash": "ssowgvwc",+                                        "dlSubdir": {+                                            "RegexDir": "2$9YV􄡢\u000f:"+                                        },+                                        "dlUri": "https:yvzb"+                                    },+                                    "( >= 8.6.6 && < 3.5.7 && <= 5.4.2 && > 2.7.7 && == 3.7.1 && >= 7.5.2 ) || ( < 1.1.5 && < 6.7.1 && == 6.2.1 && == 2.2.1 && > 2.5.6 && >= 7.8.6 )": {+                                        "dlHash": "e",+                                        "dlSubdir": null,+                                        "dlUri": "https:ocw"+                                    }+                                },+                                "FreeBSD": {+                                    "( <= 6.1.8 && > 4.6.8 && == 4.3.3 && == 8.4.1 && < 7.5.8 && >= 2.4.1 )": {+                                        "dlHash": "mw",+                                        "dlSubdir": "9<",+                                        "dlUri": "http:"+                                    },+                                    "( == 8.3.5 && == 8.1.2 && >= 5.2.7 && >= 6.8.8 )": {+                                        "dlHash": "whryy",+                                        "dlSubdir": {+                                            "RegexDir": ""+                                        },+                                        "dlUri": "http:yrrdszek"+                                    },+                                    "( > 1.4.5 && > 3.5.7 && == 5.4.6 && < 6.1.4 && > 7.7.3 && < 8.3.1 ) || ( <= 1.5.8 && == 6.1.5 && == 4.2.1 ) || ( <= 7.4.3 && > 4.2.7 && > 3.6.1 && == 2.3.4 && < 3.7.1 ) || ( > 2.6.1 && >= 6.6.8 && >= 3.5.2 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "5"+                                        },+                                        "dlUri": "https:e"+                                    },+                                    "( >= 6.8.1 && < 3.4.4 && <= 6.8.7 && > 8.5.6 && <= 6.2.8 && < 5.3.6 && > 6.8.4 && == 4.8.3 && <= 6.7.1 )": {+                                        "dlHash": "",+                                        "dlSubdir": {+                                            "RegexDir": "\t𖺀ၙ"+                                        },+                                        "dlUri": "https:d"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "zj",+                                        "dlSubdir": "󳞾P\u000e쾾",+                                        "dlUri": "http:"+                                    }+                                },+                                "Linux_UnknownLinux": {+                                    "( < 2.4.7 && > 1.8.6 && == 7.4.5 )": {+                                        "dlHash": "foweu",+                                        "dlSubdir": "",+                                        "dlUri": "https:ynxdzkv"+                                    },+                                    "( <= 4.1.4 && > 4.3.3 && == 4.3.4 && <= 4.4.3 && <= 5.4.6 && <= 8.6.3 && <= 3.7.3 ) || ( >= 4.8.6 && > 4.3.8 && > 3.8.1 && > 1.7.4 ) || ( < 2.6.4 && == 8.8.7 && <= 6.4.2 && == 2.4.6 && > 4.1.2 && <= 3.1.4 && == 7.3.7 ) || ( > 3.8.4 && > 3.6.1 && < 6.1.5 ) || ( < 8.9.4 && > 5.6.6 && > 1.7.3 && > 3.5.1 ) || ( >= 4.5.2 && >= 4.3.8 )": {+                                        "dlHash": "td",+                                        "dlSubdir": "#Z\u0001AA󼬐U`",+                                        "dlUri": "https:"+                                    },+                                    "( >= 1.2.3 && >= 8.5.6 && < 4.3.8 )": {+                                        "dlHash": "xjqriwhg",+                                        "dlSubdir": "vSR`W𝥺e?",+                                        "dlUri": "https:zepde"+                                    },+                                    "unknown_versioning": {+                                        "dlHash": "cou",+                                        "dlSubdir": "BD\u0003\u000f\u000f-",+                                        "dlUri": "https:icf"+                                    }+                                },+                                "Windows": {+                                    "( == 5.6.3 && <= 7.5.2 && <= 2.4.3 && <= 7.1.5 && >= 2.1.3 && < 5.4.2 ) || ( >= 8.4.9 && >= 4.5.4 && < 7.5.3 )": {+                                        "dlHash": "iqedwv",+                                        "dlSubdir": {+                                            "RegexDir": "(㪫Y\u000c"+                                        },+                                        "dlUri": "http:qkmhx"+                                    },+                                    "( == 7.7.6 && < 7.3.8 && >= 6.3.5 && > 8.7.1 && <= 3.2.5 && == 3.1.6 && == 8.5.4 && == 4.4.7 )": {+                                        "dlHash": "rm",+                                        "dlSubdir": {+                                            "RegexDir": "G/\u0007"+                                        },+                                        "dlUri": "https:oikarx"+                                    },+                                    "( > 1.2.6 )": {+                                        "dlHash": "pfu",+                                        "dlSubdir": {+                                            "RegexDir": "%\u001dj􆌵\u0006︰j"+                                        },+                                        "dlUri": "http:xkz"+                                    }+                                }+                            },+                            "A_Sparc64": {+                                "FreeBSD": {+                                    "( < 5.5.4 && < 8.4.3 && == 3.2.6 )": {+                                        "dlHash": "hxmym",+                                        "dlSubdir": null,+                                        "dlUri": "https:lpv"+                                    },+                                    "( > 1.6.1 && <= 6.4.1 && <= 4.4.8 && > 2.2.2 && < 3.7.5 && < 5.7.8 )": {+                                        "dlHash": "",+                                        "dlSubdir": null,+                                        "dlUri": "http:nuytowqw"+                                    }+                                }+                            }+                        },+                        "viChangeLog": "https:todorak",+                        "viPostInstall": "js",+                        "viPostRemove": "mjwcdv",+                        "viPreCompile": null,+                        "viSourceDL": {+                            "dlHash": "poxbrll",+                            "dlSubdir": {+                                "RegexDir": "QE"+                            },+                            "dlUri": "http:qcr"+                        },+                        "viTags": [+                            "Latest"+                        ]+                    }+                }+            },+            "globalTools": {+                "ShimGen": {+                    "dlHash": "hewhezyyffjzzmhtcmjlkcbpume",+                    "dlSubdir": "3AD^󹙹d𩲒^\u000c􆫲jrU\u0015[\u000c\u0012\u0003:%",+                    "dlUri": "http:bbynqbgsimmopbljxeicsflaputoo"+                }+            },+            "toolRequirements": {+                "GHC": {+                    "6.3.1": {+                        "Darwin": {},+                        "FreeBSD": {+                            "( < 1.5.4 && == 5.7.2 && == 3.5.1 && < 7.1.7 ) || ( >= 2.5.1 && >= 2.5.7 && > 7.7.5 && <= 1.3.5 )": {+                                "distroPKGs": [+                                    "",+                                    "nfvfgjtv"+                                ],+                                "notes": "cwnbtnk"+                            },+                            "( < 3.1.5 && >= 2.3.8 && >= 7.4.5 && == 3.1.1 && == 4.6.6 && == 5.4.6 && < 8.4.4 && < 7.4.7 && > 4.3.4 )": {+                                "distroPKGs": [+                                    "dic",+                                    "irzy",+                                    "mujdd",+                                    "avmfcqzt",+                                    "suktqmsa",+                                    "vn"+                                ],+                                "notes": ""+                            },+                            "( > 8.2.5 )": {+                                "distroPKGs": [+                                    "tl",+                                    "qwgyhd",+                                    "rwpkw",+                                    "zabitl",+                                    "qec"+                                ],+                                "notes": "pkn"+                            },+                            "( >= 8.3.6 && <= 3.5.8 && < 1.1.4 && >= 2.2.6 && <= 5.6.6 && > 2.3.3 && >= 6.6.8 && >= 3.2.8 ) || ( <= 4.2.5 && == 6.9.8 && >= 6.5.7 && <= 5.8.2 && <= 3.6.4 && <= 6.4.8 && == 7.7.2 && > 2.5.4 && <= 5.2.5 ) || ( >= 6.8.4 && < 6.5.5 && <= 7.7.7 && >= 5.6.8 && < 8.3.1 ) || ( <= 6.4.8 && > 2.2.3 && <= 6.1.3 && >= 1.7.3 && > 6.8.3 )": {+                                "distroPKGs": [+                                    "vsiffnt",+                                    "jh"+                                ],+                                "notes": "lsi"+                            },+                            "( >= 8.4.7 && <= 6.3.3 && <= 8.3.2 ) || ( == 7.6.3 && <= 5.4.1 )": {+                                "distroPKGs": [+                                    "yflo",+                                    "cmyxrm",+                                    "zlna",+                                    "omwbvpv",+                                    "apnnaj",+                                    "xfmpog",+                                    "n",+                                    "wo"+                                ],+                                "notes": "zxuwwty"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "ptxm"+                            }+                        },+                        "Linux_CentOS": {+                            "( < 1.7.1 && <= 8.7.7 )": {+                                "distroPKGs": [],+                                "notes": "twusa"+                            },+                            "( <= 1.7.6 && == 7.1.5 && > 4.3.2 && == 4.2.7 && >= 7.7.2 && >= 6.1.8 ) || ( == 1.8.5 && < 5.5.7 && >= 1.2.7 && == 7.1.4 ) || ( >= 7.8.3 && == 2.8.6 && <= 3.5.8 && > 6.7.6 && > 3.7.3 && > 7.5.5 && < 3.2.1 )": {+                                "distroPKGs": [+                                    "",+                                    "so",+                                    "",+                                    "gefxrl",+                                    "kzsoy",+                                    "ynuowov",+                                    "ir"+                                ],+                                "notes": "bvayv"+                            },+                            "( <= 5.4.2 && <= 3.8.2 && < 2.7.2 && == 6.5.3 && > 6.3.4 && <= 4.3.7 ) || ( < 8.4.2 )": {+                                "distroPKGs": [+                                    "ywvx",+                                    "whfcoycu",+                                    "svxvnr",+                                    "bmfgybwm",+                                    "bjaot",+                                    "pq"+                                ],+                                "notes": ""+                            },+                            "( == 3.1.4 && >= 8.7.8 && > 7.6.4 && < 4.2.2 && < 7.5.1 && < 6.1.4 && == 3.3.5 )": {+                                "distroPKGs": [+                                    "mim",+                                    "rdbaxks",+                                    "pueyc"+                                ],+                                "notes": "tqdpc"+                            },+                            "( > 5.5.2 && >= 4.8.1 && > 7.3.8 && < 4.5.1 && <= 7.8.4 && >= 3.4.5 && == 7.1.3 )": {+                                "distroPKGs": [+                                    "bvypewl",+                                    "iymcjlf",+                                    "hhnrwsim"+                                ],+                                "notes": "fitxw"+                            },+                            "( > 8.3.5 && < 3.9.2 && <= 7.6.3 )": {+                                "distroPKGs": [+                                    "kkqcor",+                                    "rs",+                                    "s",+                                    "zjx",+                                    "bku",+                                    "pmx",+                                    "ccvns"+                                ],+                                "notes": "oo"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "k",+                                    "w"+                                ],+                                "notes": "gz"+                            }+                        },+                        "Windows": {+                            "( >= 2.2.4 )": {+                                "distroPKGs": [+                                    "nxi",+                                    "hwvtu",+                                    "swwoodg"+                                ],+                                "notes": "veqef"+                            }+                        }+                    }+                },+                "GHCup": {+                    "1.3.4": {+                        "FreeBSD": {+                            "( == 2.6.2 && <= 4.8.8 && > 7.6.1 && < 7.1.3 ) || ( == 5.5.1 && > 1.6.2 && >= 3.7.4 && >= 1.2.1 && == 4.3.8 && < 3.7.1 )": {+                                "distroPKGs": [+                                    "q",+                                    "",+                                    "zktpd",+                                    "",+                                    "wupuxun",+                                    "cogs",+                                    "z",+                                    "ceaj"+                                ],+                                "notes": "zlojc"+                            },+                            "( > 8.3.1 && >= 7.7.6 && <= 1.6.5 && >= 2.2.2 && < 5.8.2 && >= 8.5.3 && < 8.3.2 && < 4.6.3 && >= 6.4.7 )": {+                                "distroPKGs": [+                                    "jvq",+                                    "dq"+                                ],+                                "notes": "vzupro"+                            },+                            "( >= 2.3.6 )": {+                                "distroPKGs": [+                                    "q",+                                    "swweangz",+                                    "yumv",+                                    "lvfxxji",+                                    "jg",+                                    "vzw",+                                    "ohyoxtdw",+                                    "et"+                                ],+                                "notes": "ouwjiof"+                            },+                            "( >= 7.2.3 && >= 3.3.8 && > 6.7.1 && <= 2.5.2 && > 4.4.2 && == 5.5.7 && < 5.5.8 )": {+                                "distroPKGs": [],+                                "notes": "kya"+                            }+                        },+                        "Linux_Alpine": {+                            "( < 1.5.3 && == 8.2.2 && >= 5.5.3 && > 8.7.6 && > 3.1.7 && >= 5.5.7 )": {+                                "distroPKGs": [+                                    "y",+                                    "h",+                                    "jfyvhmpr"+                                ],+                                "notes": "m"+                            },+                            "( < 2.6.8 ) || ( <= 5.6.4 && > 3.5.1 && == 4.1.4 )": {+                                "distroPKGs": [+                                    "c"+                                ],+                                "notes": "iedte"+                            },+                            "( == 1.6.3 && > 1.7.7 && < 6.4.4 && > 1.2.4 && > 2.3.7 ) || ( <= 2.3.7 && <= 6.8.4 && <= 6.2.8 && < 8.4.2 && < 7.2.4 && >= 7.5.1 )": {+                                "distroPKGs": [+                                    "bp",+                                    "svajkgd",+                                    "mcuujoq",+                                    "klgappfi",+                                    "",+                                    "cuvhdse"+                                ],+                                "notes": "hjzq"+                            },+                            "( == 4.6.4 ) || ( <= 1.4.7 && > 4.7.2 && > 6.2.1 ) || ( > 2.1.4 && < 2.5.6 && == 4.1.4 && < 3.1.2 && > 5.2.5 && > 3.2.7 && >= 2.8.5 )": {+                                "distroPKGs": [+                                    "rov",+                                    "brydqm"+                                ],+                                "notes": "mtdgvca"+                            },+                            "( > 1.7.8 && <= 7.2.4 && <= 5.8.6 && <= 8.7.7 && == 3.6.4 && == 7.3.7 && >= 1.4.2 && <= 3.3.3 ) || ( <= 2.8.4 && <= 6.4.6 && <= 3.4.3 )": {+                                "distroPKGs": [+                                    "jcdqw",+                                    "hwy"+                                ],+                                "notes": "tbebe"+                            },+                            "( > 3.4.4 && > 7.8.7 ) || ( < 8.5.5 && > 1.7.7 && < 8.2.8 && >= 4.3.3 && == 5.5.7 && >= 5.2.1 && >= 4.2.3 && == 2.3.6 && > 3.4.4 ) || ( > 2.6.1 && <= 6.4.6 && <= 7.5.8 ) || ( == 1.1.7 && <= 6.8.8 && >= 8.1.6 && < 5.3.1 && < 6.5.8 && >= 3.8.3 && >= 3.8.1 && > 8.6.8 && >= 7.7.1 )": {+                                "distroPKGs": [],+                                "notes": "w"+                            },+                            "( > 5.7.5 && < 5.2.2 && < 7.5.3 && >= 8.7.7 && > 6.4.2 ) || ( > 6.6.7 && == 5.6.5 && < 5.2.2 && > 9.3.3 && >= 5.6.8 && >= 5.5.8 ) || ( >= 4.1.4 && < 8.6.3 )": {+                                "distroPKGs": [+                                    "hkqeqnaa",+                                    "ms",+                                    "dyfogys",+                                    "haz",+                                    "lqfkgjp",+                                    "j",+                                    "nnewjj",+                                    "w"+                                ],+                                "notes": ""+                            },+                            "( >= 1.2.5 ) || ( <= 3.2.6 )": {+                                "distroPKGs": [+                                    "cvthu"+                                ],+                                "notes": "voilj"+                            }+                        },+                        "Linux_Debian": {+                            "( <= 5.8.3 && >= 1.1.2 && == 7.8.8 && < 3.1.2 ) || ( > 4.1.5 && < 8.7.6 && > 4.8.7 && <= 5.3.3 && <= 4.1.7 && >= 3.4.8 && == 6.7.8 )": {+                                "distroPKGs": [+                                    "",+                                    "jarbpoel",+                                    "mxmib",+                                    "",+                                    "zak",+                                    "yomqcbz"+                                ],+                                "notes": "lo"+                            },+                            "( >= 4.4.8 && == 2.6.1 && > 4.3.4 && == 4.7.3 && >= 5.3.8 )": {+                                "distroPKGs": [+                                    "yqv",+                                    "phezq",+                                    "ipvljl",+                                    "tlhgekz",+                                    "jbqawi",+                                    "wptbi",+                                    "a",+                                    ""+                                ],+                                "notes": "ecd"+                            },+                            "( >= 5.2.5 && < 8.8.5 && < 6.3.8 && == 5.7.6 && >= 4.8.6 && < 3.2.1 && > 8.7.5 && == 4.8.1 ) || ( == 5.7.3 && == 1.5.4 && > 7.1.7 && < 8.6.2 && >= 6.3.8 ) || ( < 2.4.3 && >= 1.6.8 && > 4.8.6 && < 8.2.8 && == 6.5.1 && < 2.2.3 && <= 8.3.7 )": {+                                "distroPKGs": [+                                    "lglhnthr"+                                ],+                                "notes": "j"+                            },+                            "( >= 8.2.7 && <= 1.3.8 && > 7.1.4 && <= 8.2.5 && == 1.2.7 && >= 3.6.2 && <= 6.2.7 && <= 4.4.6 ) || ( <= 3.3.5 && >= 2.6.4 && < 2.8.2 && < 2.8.5 && >= 7.1.5 && > 6.6.7 && >= 3.3.8 && >= 3.5.5 )": {+                                "distroPKGs": [+                                    "gpk",+                                    "ttobjcef",+                                    "t",+                                    "fpoow",+                                    "kfky",+                                    "",+                                    "ef"+                                ],+                                "notes": "o"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "gnqaicy"+                                ],+                                "notes": "gzy"+                            }+                        },+                        "Linux_RedHat": {+                            "( < 8.6.7 && == 8.8.5 && >= 5.8.5 && < 1.3.4 && == 1.2.2 && <= 7.3.6 ) || ( >= 2.4.6 ) || ( > 3.7.4 )": {+                                "distroPKGs": [+                                    "g",+                                    "",+                                    "soiencb",+                                    "qppq",+                                    "tpyrd",+                                    "yiwb",+                                    "o",+                                    "ruom"+                                ],+                                "notes": "riamopc"+                            },+                            "( <= 7.1.2 && > 3.6.3 && < 3.8.7 && < 5.4.8 && == 6.2.8 && <= 3.7.5 && >= 7.2.8 && == 1.7.3 ) || ( > 2.7.1 && >= 3.3.8 )": {+                                "distroPKGs": [],+                                "notes": "iez"+                            },+                            "( == 6.4.1 && == 3.2.6 && < 7.6.1 )": {+                                "distroPKGs": [+                                    "",+                                    "qixshb",+                                    "",+                                    "",+                                    "nkwtodk",+                                    ""+                                ],+                                "notes": "gk"+                            },+                            "( > 7.3.1 && >= 3.7.7 && == 6.8.5 && == 2.6.4 && > 3.8.6 && == 7.6.4 )": {+                                "distroPKGs": [+                                    "qbix"+                                ],+                                "notes": "taf"+                            },+                            "( >= 4.3.1 && > 7.8.2 && >= 6.8.6 && == 6.1.1 ) || ( >= 4.8.2 && <= 2.5.6 && <= 1.3.4 && == 2.8.8 && == 5.8.2 && <= 3.8.7 && == 7.8.6 && == 4.8.8 ) || ( >= 2.3.6 && <= 8.6.7 && >= 7.2.2 && == 5.1.1 && <= 4.2.5 && > 3.7.8 && == 8.5.3 ) || ( <= 8.6.1 && > 6.7.4 ) || ( >= 8.5.7 && <= 7.4.2 ) || ( <= 2.5.6 && < 3.1.6 && == 2.2.3 )": {+                                "distroPKGs": [+                                    "wb",+                                    "",+                                    "rmamieel",+                                    "bvwczaro",+                                    "okz",+                                    "wlme",+                                    "lqkpq"+                                ],+                                "notes": "rbe"+                            },+                            "( >= 7.1.8 && < 6.7.4 && <= 6.4.7 && == 6.6.4 && <= 7.3.1 && < 8.1.1 && <= 5.4.2 && >= 6.7.4 && > 1.2.3 )": {+                                "distroPKGs": [+                                    "dsosyh",+                                    "g",+                                    "nzp",+                                    "jhrmtqwg",+                                    "zfa",+                                    "isdb",+                                    "aelmxi",+                                    ""+                                ],+                                "notes": "day"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "qd",+                                    "kccbttk",+                                    "",+                                    "z",+                                    "",+                                    "vtxf",+                                    "jyqxrr",+                                    "a"+                                ],+                                "notes": "rf"+                            }+                        },+                        "Windows": {}+                    },+                    "3.5.6": {+                        "Darwin": {+                            "( > 2.3.7 && > 8.1.8 && <= 4.8.8 && <= 2.2.5 && < 5.7.3 )": {+                                "distroPKGs": [+                                    "",+                                    "wg",+                                    "qmxg",+                                    "skw",+                                    "qu",+                                    "m",+                                    "crp",+                                    "ec"+                                ],+                                "notes": "iza"+                            },+                            "( > 3.1.6 && >= 3.1.1 && < 1.8.2 && > 4.1.6 && >= 6.1.4 && > 1.2.7 && < 6.4.2 ) || ( > 3.1.2 && < 4.3.8 && <= 5.6.8 && >= 6.2.1 && == 2.6.7 && > 8.3.1 && < 8.6.5 ) || ( >= 8.6.6 && > 5.5.1 && > 2.7.8 && >= 6.3.1 && > 5.5.2 ) || ( == 7.3.4 && == 4.8.5 ) || ( == 8.4.7 && == 1.2.4 && <= 5.6.8 && <= 1.1.6 && < 7.5.8 && <= 8.2.4 && <= 4.3.8 && > 2.6.5 )": {+                                "distroPKGs": [+                                    "i",+                                    "rlelwq",+                                    "ztf"+                                ],+                                "notes": "wzrgnm"+                            },+                            "( > 5.5.5 )": {+                                "distroPKGs": [+                                    "",+                                    "",+                                    "",+                                    "jcaxqff",+                                    "ibuexzlw",+                                    "dowxortg",+                                    "avlm"+                                ],+                                "notes": "iodjfzpm"+                            },+                            "( > 6.3.2 && == 1.4.4 && == 3.5.1 && > 7.4.4 && >= 7.8.3 && == 4.3.7 && >= 8.5.6 )": {+                                "distroPKGs": [+                                    "zpsqe",+                                    "xvjxnsko",+                                    "vjoaqz",+                                    "tbitj",+                                    "i",+                                    "ozl"+                                ],+                                "notes": "ih"+                            },+                            "( >= 1.7.6 && >= 3.7.6 && <= 8.1.2 && <= 5.3.1 && > 1.2.4 && <= 8.7.4 && == 4.1.8 )": {+                                "distroPKGs": [+                                    "xdgj",+                                    "hk",+                                    "glz"+                                ],+                                "notes": "a"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "hxifnrdr",+                                    "",+                                    "lidrxzb",+                                    "ecte",+                                    "oawa",+                                    "ayp",+                                    "pn",+                                    "ekkn"+                                ],+                                "notes": "xgjka"+                            }+                        },+                        "FreeBSD": {+                            "( <= 1.2.4 && > 4.5.8 && < 6.7.8 && <= 9.1.8 && > 1.1.6 )": {+                                "distroPKGs": [+                                    "ioss",+                                    "",+                                    "dbspj",+                                    "foxh",+                                    "ayfp"+                                ],+                                "notes": "wzlrhevq"+                            },+                            "( == 4.5.2 ) || ( < 2.5.7 && <= 3.8.4 && <= 1.6.6 ) || ( < 2.2.2 && > 6.7.8 )": {+                                "distroPKGs": [],+                                "notes": "wfonkw"+                            },+                            "( > 6.2.8 ) || ( >= 4.4.5 && > 6.1.5 && >= 6.3.2 && == 3.6.7 && <= 6.6.3 && > 7.8.6 && < 4.7.2 && == 7.4.6 )": {+                                "distroPKGs": [+                                    "gh",+                                    "t",+                                    "q",+                                    "ct"+                                ],+                                "notes": "xcgijxm"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "ajqli"+                            }+                        },+                        "Windows": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "uedv",+                                    "cne",+                                    "oaqlpswg",+                                    "pg",+                                    "zjwsprv"+                                ],+                                "notes": "wtoc"+                            }+                        }+                    },+                    "3.8.7": {+                        "Darwin": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "sfgh",+                                    "nlgcpgfp",+                                    ""+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_Exherbo": {+                            "( == 8.8.6 && <= 7.8.8 && >= 2.5.8 && < 6.4.5 && == 7.3.4 && < 6.5.4 ) || ( <= 8.2.1 && < 6.7.8 && >= 1.7.7 && == 5.1.2 && <= 2.3.6 && > 4.5.7 )": {+                                "distroPKGs": [+                                    "fzohmxb",+                                    "qiesn",+                                    "nb",+                                    "ls",+                                    "mse",+                                    "ji",+                                    "cp",+                                    "kdj"+                                ],+                                "notes": "qetcliw"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "pcbr",+                                    "fryica",+                                    "nqzuwzkd",+                                    "eeg",+                                    "d",+                                    "yoe",+                                    "fqukevu"+                                ],+                                "notes": "nb"+                            }+                        },+                        "Windows": {+                            "( <= 3.2.2 && == 8.5.8 && < 6.4.5 && == 2.7.7 )": {+                                "distroPKGs": [+                                    "qxfj",+                                    "meecflic",+                                    "y",+                                    "rvzvrme",+                                    "qauy",+                                    ""+                                ],+                                "notes": "potd"+                            },+                            "( == 3.6.8 && < 3.6.3 ) || ( < 7.3.8 && == 5.5.8 && > 4.5.7 )": {+                                "distroPKGs": [+                                    "tmbnik"+                                ],+                                "notes": ""+                            },+                            "( >= 4.7.2 && == 3.5.5 && < 7.4.8 && < 1.5.6 ) || ( > 2.2.3 && < 6.6.4 )": {+                                "distroPKGs": [+                                    "",+                                    "jkeblhr",+                                    "stezfh"+                                ],+                                "notes": "ezdkkbcw"+                            }+                        }+                    },+                    "6.6.1": {+                        "FreeBSD": {+                            "( < 8.7.6 && < 5.4.6 && < 6.8.6 && == 5.1.4 && < 2.8.1 && == 7.8.3 && == 1.6.8 && <= 6.3.3 ) || ( == 3.8.3 && <= 4.8.9 && >= 7.6.1 && < 7.1.8 && >= 8.4.7 && > 4.3.2 ) || ( >= 3.3.7 && == 6.1.4 )": {+                                "distroPKGs": [+                                    "wluwa",+                                    "mubozir",+                                    "rhmy"+                                ],+                                "notes": "smtj"+                            },+                            "( <= 5.4.8 && >= 6.3.8 && >= 2.2.4 )": {+                                "distroPKGs": [+                                    "jbutlb"+                                ],+                                "notes": "b"+                            },+                            "( > 8.2.4 && >= 8.8.8 )": {+                                "distroPKGs": [+                                    "n",+                                    "",+                                    "fhhqjqp",+                                    "tzozco"+                                ],+                                "notes": "lgihqf"+                            },+                            "( >= 2.2.5 && > 5.6.3 && >= 5.8.8 && > 5.3.1 && < 6.5.1 && > 1.1.5 && == 9.1.9 )": {+                                "distroPKGs": [+                                    "cf",+                                    "vnxzdflk",+                                    "",+                                    "zr",+                                    "imtaaxf"+                                ],+                                "notes": "nrqiohcp"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "qd",+                                    "sayslik",+                                    "l",+                                    "nulinyfx",+                                    "hzzbvwa",+                                    "",+                                    "i"+                                ],+                                "notes": "rcv"+                            }+                        }+                    },+                    "8.6.8": {+                        "FreeBSD": {+                            "( <= 3.5.4 && < 7.6.1 && == 4.3.2 && >= 7.7.6 && >= 6.1.1 && < 8.8.1 && <= 5.5.4 && == 8.2.4 && == 3.2.1 ) || ( > 3.7.6 && <= 4.7.3 && > 3.6.3 && > 2.3.4 && <= 7.8.8 && > 1.5.6 && <= 2.5.8 ) || ( > 4.3.5 && == 7.3.4 && <= 6.5.1 && < 4.2.2 && == 7.4.2 && == 1.7.7 && == 4.7.8 && <= 8.2.4 )": {+                                "distroPKGs": [+                                    "tqva",+                                    "",+                                    "eaxhbbtl"+                                ],+                                "notes": "arsec"+                            },+                            "( == 5.7.5 && >= 8.2.6 && < 1.7.1 && >= 5.7.1 && > 3.6.2 && < 8.1.4 )": {+                                "distroPKGs": [+                                    "pnontkrp",+                                    "xc"+                                ],+                                "notes": "lvhl"+                            },+                            "( >= 1.3.8 && <= 3.7.7 && == 7.8.1 && >= 5.3.3 ) || ( <= 5.4.1 && <= 6.4.4 && <= 4.8.4 ) || ( >= 5.1.6 && <= 8.4.2 && >= 1.5.3 && < 6.8.8 && >= 7.8.7 && <= 2.2.8 && > 6.4.4 && < 2.5.8 ) || ( == 6.3.5 && > 4.6.7 && <= 4.2.4 && >= 2.1.4 && == 1.3.4 && <= 1.2.6 && > 6.6.1 && >= 6.4.1 ) || ( == 7.5.5 && > 6.6.7 && >= 2.5.4 && == 5.6.3 && <= 1.2.7 && > 4.3.4 && >= 6.4.2 ) || ( <= 1.4.5 && >= 5.3.3 && >= 8.3.3 && > 8.4.1 && == 2.8.1 && <= 1.6.1 )": {+                                "distroPKGs": [+                                    "bisyjk"+                                ],+                                "notes": "ozhm"+                            }+                        }+                    }+                },+                "HLS": {+                    "1.4.5": {+                        "Linux_Debian": {+                            "( < 6.2.1 && <= 6.6.3 && >= 2.4.5 && == 1.4.1 )": {+                                "distroPKGs": [+                                    "ighyjq",+                                    "cib"+                                ],+                                "notes": "or"+                            },+                            "( <= 2.1.5 && == 7.4.2 && <= 8.5.2 && > 8.4.6 && > 3.8.5 )": {+                                "distroPKGs": [+                                    "qlxnj",+                                    "",+                                    "zwngn",+                                    "ikv"+                                ],+                                "notes": "jkydpa"+                            },+                            "( == 3.3.6 && > 6.8.8 && >= 8.1.3 && <= 4.8.3 && > 1.2.4 && == 2.2.1 ) || ( == 6.5.8 ) || ( >= 5.4.6 && <= 2.5.3 && < 6.8.4 && <= 7.6.2 && > 8.4.5 && > 4.7.1 ) || ( < 4.4.8 && <= 3.6.5 && >= 2.2.7 && < 2.2.1 ) || ( >= 3.8.5 && >= 1.2.1 && <= 3.7.3 && > 5.3.1 && <= 7.3.1 && > 8.8.2 && == 6.4.6 && < 5.5.2 ) || ( == 3.4.6 && <= 3.5.1 && <= 1.5.3 && >= 2.5.5 && >= 1.5.4 && >= 1.1.3 && == 3.3.6 ) || ( < 2.5.1 && > 7.2.7 && > 3.6.6 && == 4.7.2 )": {+                                "distroPKGs": [+                                    "wzlx",+                                    "gsdr",+                                    "rrr",+                                    "aakfrnxv",+                                    ""+                                ],+                                "notes": "ggmzpcil"+                            },+                            "( == 7.6.3 && < 1.6.7 )": {+                                "distroPKGs": [+                                    "wbhysx",+                                    "ldtrg",+                                    "bbtbbnwi",+                                    "rbinwyl",+                                    "fd",+                                    ""+                                ],+                                "notes": "el"+                            },+                            "( > 6.1.8 && <= 8.5.5 && < 1.5.3 && <= 6.8.6 && < 1.6.6 && <= 6.7.5 && == 8.8.5 && >= 2.1.8 && > 2.4.2 ) || ( >= 8.1.8 && >= 2.3.4 && < 6.6.1 && >= 6.7.6 && >= 1.8.5 && <= 3.7.5 && == 1.1.4 && > 1.8.4 ) || ( <= 8.8.6 )": {+                                "distroPKGs": [+                                    "jd",+                                    "ohxro",+                                    "ginckah"+                                ],+                                "notes": "wosslb"+                            },+                            "( >= 7.6.7 && == 7.3.5 && <= 5.7.3 && > 4.3.3 && <= 5.8.3 && == 8.8.8 )": {+                                "distroPKGs": [+                                    "i",+                                    "ljtkfm",+                                    "jtqiiihs",+                                    "lewcekwn",+                                    "cu",+                                    ""+                                ],+                                "notes": "owum"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "mnclpft"+                                ],+                                "notes": "qrjenq"+                            }+                        },+                        "Windows": {+                            "( < 3.3.5 && < 3.7.1 && == 5.4.2 && > 8.4.4 && > 1.4.8 && < 2.1.6 )": {+                                "distroPKGs": [+                                    "qhmwq",+                                    "bqm",+                                    "osx",+                                    "lddu",+                                    "jvrmla",+                                    "xzo",+                                    "poa",+                                    "cd"+                                ],+                                "notes": ""+                            },+                            "( <= 4.8.5 && > 5.1.5 ) || ( <= 8.2.7 && < 8.4.5 && >= 8.2.1 && > 4.7.6 && > 7.2.5 )": {+                                "distroPKGs": [+                                    "f",+                                    "lw",+                                    "sci",+                                    "ntuam",+                                    "jjjumos",+                                    "eik"+                                ],+                                "notes": "hds"+                            },+                            "( > 7.4.9 ) || ( > 5.3.7 && >= 3.8.4 && > 4.3.2 && >= 1.5.2 && >= 4.8.1 && >= 7.8.4 ) || ( < 6.5.6 && > 7.8.5 ) || ( > 6.8.9 ) || ( <= 4.6.3 && < 1.8.5 && <= 2.3.2 && <= 1.5.5 ) || ( >= 6.5.3 && > 8.2.6 && <= 1.1.7 && > 5.8.8 ) || ( >= 8.2.1 && <= 8.5.1 && < 6.3.4 && >= 6.2.4 && > 6.4.8 && <= 3.7.4 && <= 6.2.3 && > 6.5.8 )": {+                                "distroPKGs": [+                                    "tcrkvec",+                                    "mou",+                                    "rnxxgo",+                                    "miuyetc",+                                    "yg",+                                    "eqruv",+                                    "ecsv"+                                ],+                                "notes": "hdusmyg"+                            },+                            "( >= 1.1.3 && == 5.8.4 && == 5.5.2 && <= 2.6.3 && > 8.2.6 && >= 5.4.5 )": {+                                "distroPKGs": [+                                    "znkuckwr"+                                ],+                                "notes": "hufx"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "iyyx",+                                    "keuxzpu",+                                    "lrelaq"+                                ],+                                "notes": "phabb"+                            }+                        }+                    },+                    "1.4.6": {+                        "Darwin": {+                            "( == 8.1.3 && < 6.4.5 && > 5.2.8 && < 5.5.6 && >= 5.6.5 && >= 5.2.3 && > 5.3.6 && >= 6.5.7 )": {+                                "distroPKGs": [+                                    "",+                                    "scvfglj",+                                    "tjsh",+                                    "hgyzbmeu",+                                    "zmeaera"+                                ],+                                "notes": "fanf"+                            },+                            "( > 7.1.4 && <= 8.1.5 && < 8.8.4 && >= 4.4.7 && > 1.8.2 && > 9.7.7 && <= 7.2.1 )": {+                                "distroPKGs": [+                                    "r",+                                    "wfqv",+                                    "mnhdnidi"+                                ],+                                "notes": "uu"+                            }+                        },+                        "Linux_RedHat": {+                            "( < 8.3.6 && == 7.3.2 && == 5.7.6 && == 8.8.7 && < 4.5.8 && > 2.7.3 && > 7.3.6 && <= 8.1.7 && == 3.2.4 )": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": "wvhyntkx"+                            },+                            "( <= 3.5.7 && <= 4.6.7 && >= 4.4.3 && < 4.3.8 && == 2.8.1 && <= 6.8.8 && > 2.8.1 && > 5.8.1 && == 2.7.6 )": {+                                "distroPKGs": [+                                    "v",+                                    ""+                                ],+                                "notes": ""+                            },+                            "( <= 5.5.1 && >= 8.8.4 && > 4.7.8 && > 3.2.8 )": {+                                "distroPKGs": [+                                    "gsxgw",+                                    "opzaxdte",+                                    "djvxnpn"+                                ],+                                "notes": "c"+                            },+                            "( <= 6.4.5 && > 4.4.7 && > 7.3.4 )": {+                                "distroPKGs": [+                                    "iwxlzo",+                                    "woqgztki",+                                    "qs",+                                    "drukgr",+                                    "ldwnej",+                                    ""+                                ],+                                "notes": "emwic"+                            },+                            "( == 7.1.4 && >= 2.2.1 && < 2.6.4 && > 5.3.3 ) || ( == 7.8.3 && == 2.8.6 && < 1.5.6 && < 1.4.7 && >= 4.2.2 )": {+                                "distroPKGs": [+                                    "huavrsuk",+                                    "ctkxeds",+                                    "npn",+                                    "vga"+                                ],+                                "notes": ""+                            },+                            "( > 1.5.7 && <= 5.6.6 ) || ( < 5.4.3 && >= 3.1.6 && < 2.5.6 && < 5.7.7 ) || ( == 4.8.8 && >= 1.2.3 && <= 2.5.6 )": {+                                "distroPKGs": [+                                    "xwnna",+                                    "ldwn",+                                    "onaehjw",+                                    "fepyada",+                                    "pjwce"+                                ],+                                "notes": "lle"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "bgnkwl",+                                    "vqprghmk",+                                    "sro",+                                    "mttka",+                                    "veyjmz"+                                ],+                                "notes": "buo"+                            }+                        }+                    },+                    "2.1.7": {+                        "Darwin": {+                            "( == 2.2.6 && >= 4.2.8 && == 3.5.4 && > 3.6.6 && > 8.4.1 && == 5.6.5 && > 4.1.6 && >= 3.3.8 )": {+                                "distroPKGs": [+                                    "",+                                    "",+                                    "qwhapoh",+                                    "gvyq",+                                    "c"+                                ],+                                "notes": "vflor"+                            },+                            "( >= 4.2.5 && > 2.1.6 && < 1.7.3 ) || ( > 4.7.7 && == 5.6.6 && <= 6.7.5 )": {+                                "distroPKGs": [+                                    "olaedyt"+                                ],+                                "notes": "s"+                            },+                            "( >= 7.8.4 && > 7.1.6 && > 6.3.1 ) || ( > 6.2.8 && > 3.2.5 && < 3.7.6 && <= 8.3.2 && > 1.3.5 && == 7.5.5 && == 2.3.6 && < 6.7.7 )": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": ""+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "yzlsbuc",+                                    "snwy",+                                    "fhbjx",+                                    "q",+                                    "jbximmb",+                                    "nveslud",+                                    "zu",+                                    "d"+                                ],+                                "notes": "oqmvzm"+                            }+                        },+                        "FreeBSD": {+                            "( == 8.4.8 && <= 6.5.6 && < 8.8.2 && >= 5.2.3 && >= 3.3.8 )": {+                                "distroPKGs": [+                                    "ctey",+                                    "i",+                                    "d",+                                    "gz",+                                    ""+                                ],+                                "notes": "b"+                            },+                            "( >= 5.2.3 && > 1.6.8 && >= 4.5.3 && == 7.2.6 && == 3.7.2 && < 6.8.2 && > 8.7.2 ) || ( > 3.5.1 ) || ( < 6.5.5 && <= 4.3.6 && >= 7.3.8 && >= 4.2.2 && > 3.3.5 && >= 1.4.8 && > 6.3.2 && <= 2.8.5 && == 5.8.3 ) || ( >= 6.6.8 && >= 6.6.6 && == 1.4.8 && >= 4.4.2 ) || ( <= 1.3.8 && < 1.7.7 && < 1.7.6 && >= 6.8.7 && >= 3.3.2 && <= 6.4.8 ) || ( >= 3.1.8 && <= 6.4.2 && >= 5.6.3 && > 2.8.1 && < 7.4.8 && == 4.2.6 ) || ( <= 4.7.2 && > 7.2.8 && <= 3.3.5 && > 8.7.3 && >= 3.4.3 && <= 5.3.8 && <= 4.1.7 ) || ( > 4.1.3 ) || ( <= 2.7.3 && <= 6.8.5 && == 1.5.8 && <= 8.4.5 && >= 2.5.5 && >= 2.3.5 && > 5.3.3 && <= 7.6.1 && == 1.6.2 ) || ( >= 1.5.4 && >= 3.3.3 && <= 3.6.4 && < 1.8.3 && == 6.1.1 && < 8.2.6 && > 4.8.7 && >= 7.4.8 ) || ( == 3.2.7 && >= 2.7.6 && <= 3.4.4 && == 4.3.7 && <= 4.3.2 && >= 6.5.6 )": {+                                "distroPKGs": [+                                    "agwdbj",+                                    "lit",+                                    "",+                                    "r",+                                    "ckxs"+                                ],+                                "notes": "apqtm"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "",+                                    "",+                                    "mqpkqq"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_AmazonLinux": {+                            "( < 4.1.6 && >= 2.5.7 && > 2.8.7 && < 8.2.7 && == 3.5.6 && > 5.5.2 && >= 5.6.6 && < 1.7.8 && < 1.1.6 )": {+                                "distroPKGs": [+                                    "fop",+                                    "ptwe",+                                    "",+                                    "e",+                                    "xop",+                                    "go",+                                    "tvu"+                                ],+                                "notes": "hhkri"+                            },+                            "( <= 7.1.5 && >= 6.7.1 && < 3.1.7 && == 2.7.4 && < 8.1.6 ) || ( >= 5.4.7 && > 6.8.5 ) || ( < 9.6.5 && == 5.3.8 && < 8.1.7 && > 6.7.4 && <= 2.4.7 && > 1.5.6 && <= 7.5.2 )": {+                                "distroPKGs": [],+                                "notes": "fxhyh"+                            },+                            "( == 8.7.6 && < 5.5.5 && == 5.2.2 && < 4.5.8 && < 1.1.1 ) || ( > 1.8.7 && >= 6.2.4 )": {+                                "distroPKGs": [+                                    "jxgpzs",+                                    "fcw"+                                ],+                                "notes": "rp"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "adecgbdd",+                                    "cnj",+                                    "wfica",+                                    "kso",+                                    "",+                                    "zhg",+                                    "ebkcjy"+                                ],+                                "notes": "gyjehm"+                            }+                        },+                        "Linux_Debian": {+                            "( == 8.8.2 && > 7.7.3 && == 4.3.2 && >= 2.8.7 && <= 7.3.2 && >= 8.5.3 && >= 2.3.6 && <= 8.5.7 && > 1.4.5 )": {+                                "distroPKGs": [+                                    "tpxih",+                                    "kgqyyga",+                                    "efmslo",+                                    "hfxlcu",+                                    "vutbmou",+                                    "j",+                                    "",+                                    "qnc"+                                ],+                                "notes": "cqmeyng"+                            },+                            "( > 2.5.4 ) || ( == 4.7.4 && <= 2.4.6 && <= 9.8.2 && < 2.6.1 && == 6.8.7 && >= 7.1.8 && > 1.3.6 ) || ( <= 8.8.6 && >= 5.1.3 && >= 2.1.4 && < 8.1.5 ) || ( < 8.1.3 && >= 7.4.7 && < 7.1.7 && <= 2.6.2 && <= 6.3.6 && >= 7.7.5 )": {+                                "distroPKGs": [+                                    "pqanib"+                                ],+                                "notes": "vkqnvz"+                            },+                            "( > 2.5.7 && == 1.3.4 && >= 8.7.4 && > 5.6.8 && < 5.8.1 && >= 1.8.3 )": {+                                "distroPKGs": [+                                    "sfmixclk"+                                ],+                                "notes": ""+                            },+                            "( > 6.6.1 && == 1.7.8 && < 7.1.4 && == 4.7.6 && <= 1.4.2 )": {+                                "distroPKGs": [+                                    "q",+                                    "xt",+                                    "jphd",+                                    "nbi",+                                    "kugczaya"+                                ],+                                "notes": "zht"+                            },+                            "( >= 1.8.4 && >= 2.4.4 && <= 8.8.4 ) || ( <= 3.8.8 && >= 7.1.4 && > 5.2.6 && > 8.7.3 && == 7.5.2 && >= 4.3.8 && >= 7.3.3 && >= 4.8.3 )": {+                                "distroPKGs": [+                                    "slnzh",+                                    "zz",+                                    "jtfze",+                                    "nxob",+                                    "gkln",+                                    "hsut",+                                    "dbt"+                                ],+                                "notes": "odekum"+                            },+                            "( >= 3.8.2 && >= 5.5.2 && < 3.7.1 && == 2.4.7 && == 7.2.8 && <= 4.3.6 && <= 1.2.4 ) || ( >= 4.7.6 && >= 6.3.5 && < 4.5.7 && <= 2.7.2 && <= 4.1.9 && < 8.8.8 ) || ( < 2.1.5 && > 2.7.8 && == 1.7.4 && > 6.6.3 && >= 4.8.8 && <= 6.1.2 && < 5.2.1 )": {+                                "distroPKGs": [],+                                "notes": "uwu"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "clba",+                                    "caweqy",+                                    "ksgx",+                                    "f"+                                ],+                                "notes": "vu"+                            }+                        },+                        "Linux_Ubuntu": {+                            "( >= 2.8.4 && == 5.5.3 && <= 9.1.1 && < 7.6.2 && <= 2.3.2 && > 3.4.7 && > 1.8.9 )": {+                                "distroPKGs": [+                                    "iv",+                                    "lnnn",+                                    "jhaken",+                                    "xyftneuu",+                                    "ve"+                                ],+                                "notes": "xrty"+                            }+                        }+                    },+                    "2.2.8": {+                        "Darwin": {+                            "( < 5.5.8 && <= 3.3.6 && < 7.8.3 && == 6.6.6 && < 6.8.7 ) || ( <= 6.6.8 && > 6.3.4 && >= 9.5.4 && > 3.5.6 && == 8.8.5 && >= 5.1.6 && < 5.3.2 && < 4.2.2 && >= 8.1.1 )": {+                                "distroPKGs": [+                                    "h",+                                    "s",+                                    "fcpo",+                                    "",+                                    "pr",+                                    ""+                                ],+                                "notes": "upwiew"+                            },+                            "( > 6.7.7 && < 2.2.6 ) || ( >= 1.8.8 && >= 6.7.8 && <= 1.1.6 && == 3.3.8 && == 6.1.4 )": {+                                "distroPKGs": [+                                    "c",+                                    "payxxaqj",+                                    "",+                                    "ojsfr",+                                    "o"+                                ],+                                "notes": "mbk"+                            },+                            "( >= 5.3.7 && <= 8.3.6 && > 8.7.5 && < 4.6.1 && == 2.6.1 && < 8.8.5 && == 1.4.3 && >= 2.1.6 ) || ( <= 1.1.8 && >= 1.1.2 && <= 2.6.3 && < 3.3.8 && > 6.6.3 && >= 7.2.3 && > 8.7.8 ) || ( < 5.1.3 && > 2.7.7 && >= 2.4.6 && <= 7.5.9 && < 1.3.5 && > 8.4.8 && < 2.2.2 ) || ( < 4.7.6 && <= 6.7.7 && == 1.6.4 )": {+                                "distroPKGs": [],+                                "notes": "tyxbd"+                            }+                        },+                        "FreeBSD": {+                            "( >= 2.9.2 && <= 6.2.1 && >= 1.6.2 && == 2.4.3 && < 7.8.5 && < 3.2.6 && == 8.1.1 && > 3.5.2 && < 8.7.7 )": {+                                "distroPKGs": [],+                                "notes": "miixut"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ecjnf",+                                    "r",+                                    "zrzvbor",+                                    "imfasgai",+                                    "tnhsofza"+                                ],+                                "notes": "ay"+                            }+                        },+                        "Linux_Exherbo": {+                            "( >= 7.3.5 && <= 4.8.5 && <= 5.3.2 && <= 5.4.4 && < 6.4.4 && >= 3.6.8 )": {+                                "distroPKGs": [+                                    "e",+                                    "vfrfglgi"+                                ],+                                "notes": "govf"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "soup",+                                    "gf"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_UnknownLinux": {+                            "( <= 1.6.3 && == 1.3.1 && <= 1.4.4 && > 8.4.3 && == 4.5.6 && >= 8.2.4 && == 6.7.1 && >= 8.6.3 && >= 2.1.7 )": {+                                "distroPKGs": [+                                    "ecyfh",+                                    "gzazpbpf",+                                    "mozlft"+                                ],+                                "notes": "rnjtiu"+                            },+                            "( <= 5.4.8 && == 6.3.9 && < 4.5.3 && < 7.6.1 && > 3.8.8 && == 1.1.1 && < 8.4.6 && == 8.5.1 && == 5.2.2 ) || ( >= 2.6.3 && == 3.2.1 && <= 8.2.8 && == 7.5.1 && == 3.2.4 && > 8.7.6 && > 7.4.8 && < 6.6.3 ) || ( > 3.3.4 ) || ( < 7.7.5 && <= 8.3.8 )": {+                                "distroPKGs": [+                                    "filhguw",+                                    "b",+                                    "ejg"+                                ],+                                "notes": "a"+                            },+                            "( <= 7.3.6 && <= 8.2.2 )": {+                                "distroPKGs": [+                                    "cueql",+                                    "wokzs",+                                    "sokus",+                                    "clqp"+                                ],+                                "notes": "ta"+                            },+                            "( == 4.8.5 && >= 1.2.5 && > 3.6.1 && > 6.3.7 )": {+                                "distroPKGs": [+                                    "kx",+                                    "",+                                    "ijc",+                                    "",+                                    "",+                                    "t",+                                    "b"+                                ],+                                "notes": "ixgd"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "b"+                            }+                        },+                        "Windows": {+                            "( < 1.8.8 && == 1.3.7 && >= 8.4.1 && <= 8.3.7 && > 7.7.1 )": {+                                "distroPKGs": [+                                    "tcqpbmx",+                                    "su",+                                    "",+                                    "bkql",+                                    "eizz",+                                    "ua"+                                ],+                                "notes": ""+                            },+                            "( >= 5.3.3 && < 3.3.5 && <= 5.8.1 ) || ( == 7.6.2 && == 7.3.8 && == 5.7.1 ) || ( < 5.4.2 && < 8.5.3 && == 8.1.2 && > 4.6.1 )": {+                                "distroPKGs": [],+                                "notes": ""+                            }+                        }+                    },+                    "2.3.1": {},+                    "4.5.5": {+                        "Darwin": {+                            "( < 8.8.7 && >= 4.4.1 && > 7.1.8 && <= 3.5.4 && >= 1.6.7 && == 5.8.7 && >= 5.3.6 && <= 2.7.2 && < 1.7.6 ) || ( >= 2.6.1 && < 3.7.3 && <= 1.8.2 )": {+                                "distroPKGs": [+                                    "gplf",+                                    "len",+                                    "yvbxdxsj",+                                    "ojgpzozd",+                                    "wlflpdjj",+                                    "odphho"+                                ],+                                "notes": "hpeqebal"+                            },+                            "( <= 5.3.3 && == 3.7.1 && >= 3.1.5 && <= 4.1.2 )": {+                                "distroPKGs": [],+                                "notes": ""+                            },+                            "( <= 8.4.3 && <= 3.1.8 && <= 1.8.3 && <= 7.7.8 && < 6.8.4 && > 8.5.3 && < 3.7.8 && <= 2.2.8 && == 5.7.5 ) || ( >= 4.6.4 && <= 4.8.5 && == 4.1.2 && >= 4.4.5 && == 3.1.4 && == 2.2.3 && < 5.6.6 && >= 2.7.6 ) || ( == 5.2.6 && < 3.3.2 && == 5.7.8 && <= 2.8.3 && == 2.6.1 && <= 5.5.6 && == 1.1.4 && < 7.5.8 && < 6.5.2 ) || ( <= 6.2.7 && == 8.7.6 && < 4.7.8 && >= 1.4.8 && == 6.7.8 && > 3.4.1 && >= 3.4.4 && < 3.3.5 && <= 6.1.2 ) || ( >= 2.4.3 && > 6.3.8 && >= 8.4.3 && <= 8.2.3 && >= 1.6.4 && < 5.6.8 && <= 6.7.2 && > 5.2.6 ) || ( <= 3.1.4 && > 6.7.5 && > 1.3.2 && > 3.6.2 && >= 6.1.2 && > 3.8.1 && > 1.1.5 && > 6.8.1 ) || ( > 4.3.2 && == 3.8.6 && < 3.3.8 && < 5.2.2 && >= 7.6.3 && >= 6.8.2 && <= 8.8.6 && > 5.1.1 ) || ( == 2.2.6 )": {+                                "distroPKGs": [],+                                "notes": "fw"+                            },+                            "( == 2.8.2 && <= 4.2.2 ) || ( == 2.6.5 && <= 7.8.5 && > 4.4.8 && >= 3.1.1 && <= 8.4.7 && >= 3.7.3 && >= 5.4.2 )": {+                                "distroPKGs": [+                                    "dtw"+                                ],+                                "notes": ""+                            },+                            "( == 8.1.7 && == 3.1.8 )": {+                                "distroPKGs": [+                                    "lnmueo",+                                    "brkkkrki",+                                    "xxufhhwc"+                                ],+                                "notes": "fx"+                            },+                            "( > 1.8.4 && <= 2.6.2 )": {+                                "distroPKGs": [+                                    "",+                                    "lovikvn"+                                ],+                                "notes": "bzul"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "hu"+                            }+                        },+                        "FreeBSD": {+                            "( < 2.2.7 && > 5.1.6 && == 6.3.6 && > 1.7.2 && >= 2.7.1 && < 1.3.2 ) || ( <= 8.8.3 && <= 4.3.4 && <= 8.2.7 && <= 5.5.1 && == 8.6.8 && < 6.2.5 && > 8.7.2 ) || ( == 6.7.3 && == 8.6.9 && > 8.8.5 && < 8.2.3 && < 3.6.8 && <= 4.8.6 && == 3.8.8 && < 3.2.8 && >= 6.4.2 )": {+                                "distroPKGs": [+                                    "gvsvl",+                                    "",+                                    "lextx",+                                    "qbr",+                                    "inc",+                                    "tsz",+                                    "kzrjh",+                                    "tsw"+                                ],+                                "notes": "xcid"+                            },+                            "( <= 5.1.5 && < 6.6.6 && < 8.9.3 && == 5.6.8 && > 3.1.3 && == 2.1.2 )": {+                                "distroPKGs": [+                                    "g",+                                    "jh"+                                ],+                                "notes": "d"+                            },+                            "( >= 5.1.3 && <= 5.5.3 && < 4.2.5 && == 1.5.5 && > 3.8.1 && > 3.7.6 && > 6.1.8 && == 3.5.5 && >= 3.3.2 ) || ( == 8.4.4 && == 5.1.7 ) || ( <= 1.1.6 && >= 7.2.2 && <= 1.2.3 && > 7.4.3 ) || ( >= 7.1.2 && > 1.4.5 && <= 6.8.1 )": {+                                "distroPKGs": [+                                    "heuu",+                                    "ij",+                                    "mliuynil"+                                ],+                                "notes": "pki"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "lsxu",+                                    "is",+                                    "ysssqj",+                                    "tzj",+                                    "m",+                                    "bzkf"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_Exherbo": {+                            "( < 1.8.4 && < 8.3.6 && <= 4.3.4 && >= 8.8.8 && >= 4.4.8 && >= 3.4.3 && <= 1.1.1 && <= 7.1.2 && < 1.8.6 )": {+                                "distroPKGs": [+                                    "",+                                    "izrlftf",+                                    "",+                                    "hu",+                                    "g",+                                    "vtug"+                                ],+                                "notes": ""+                            },+                            "( == 1.1.6 && == 6.3.3 && < 3.4.3 && <= 7.6.7 && >= 5.6.5 && <= 3.8.1 && < 4.4.2 && <= 2.5.8 && <= 2.3.8 ) || ( >= 2.7.5 && < 1.2.7 && == 6.1.7 && < 2.5.3 && == 3.8.5 && < 1.2.4 && > 5.7.3 && <= 5.2.7 && < 4.3.2 )": {+                                "distroPKGs": [+                                    "qenyuxeu",+                                    "zy"+                                ],+                                "notes": "sizbx"+                            },+                            "( >= 7.3.1 && < 1.7.4 && < 8.1.7 && > 2.2.1 && > 7.2.7 && == 4.7.8 )": {+                                "distroPKGs": [+                                    "hvcogxrq",+                                    "neyljfq",+                                    "adqzynfg",+                                    "bdf",+                                    "etfvb",+                                    "ifqthkoa"+                                ],+                                "notes": "lpymwns"+                            },+                            "( >= 7.7.4 && <= 3.7.5 && > 4.5.6 && == 4.7.3 && <= 5.5.3 && > 1.5.7 && <= 2.8.6 && > 2.7.2 && >= 1.7.7 ) || ( < 2.6.8 && >= 3.8.4 )": {+                                "distroPKGs": [+                                    "nxtyuk",+                                    "pf",+                                    "rpa",+                                    "vlcgbvdd"+                                ],+                                "notes": "b"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "iznqmjva",+                                    "jp"+                                ],+                                "notes": ""+                            }+                        },+                        "Linux_Fedora": {+                            "( < 2.1.5 && == 7.4.8 && >= 8.2.2 && < 1.6.8 )": {+                                "distroPKGs": [],+                                "notes": "hcqdbgv"+                            },+                            "( < 2.4.7 && == 1.3.4 && >= 1.4.4 && > 5.1.3 && <= 8.6.2 && > 4.7.5 && < 6.4.7 && < 8.1.3 )": {+                                "distroPKGs": [+                                    "hphgh",+                                    "gi",+                                    "wwmjf",+                                    "qv",+                                    "vy",+                                    "y"+                                ],+                                "notes": "iyi"+                            },+                            "( < 7.6.3 && == 4.5.4 )": {+                                "distroPKGs": [],+                                "notes": "ywpjpyog"+                            },+                            "( == 8.3.1 )": {+                                "distroPKGs": [+                                    "dxtgqw"+                                ],+                                "notes": "ymgfwr"+                            },+                            "( == 8.7.3 && == 5.5.5 && <= 6.8.3 && <= 2.7.5 && >= 4.7.2 && > 2.3.3 && == 8.3.7 && >= 5.8.7 )": {+                                "distroPKGs": [+                                    "ulhqc",+                                    "hcz",+                                    "xkusych",+                                    ""+                                ],+                                "notes": "jtpotldu"+                            },+                            "( > 1.7.2 && == 2.7.1 && == 2.1.8 && == 5.7.2 && > 6.5.6 && <= 7.2.7 && >= 3.5.8 )": {+                                "distroPKGs": [+                                    "zrgf",+                                    "",+                                    "b",+                                    "ih",+                                    "ozoamayu",+                                    "ukai"+                                ],+                                "notes": "ahga"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "kp",+                                    "rbvq",+                                    "bns",+                                    "fxgwc",+                                    "qmoia",+                                    "hyepdiym",+                                    "uirknrsw"+                                ],+                                "notes": "sd"+                            }+                        },+                        "Windows": {+                            "( < 4.6.2 && <= 1.5.7 && == 5.4.4 && <= 3.3.8 && > 1.7.9 && <= 1.3.3 && >= 3.7.5 && > 4.3.3 ) || ( >= 6.7.7 && <= 7.1.6 && <= 1.2.6 && < 3.2.2 ) || ( >= 7.8.1 && == 5.4.2 ) || ( == 6.1.3 )": {+                                "distroPKGs": [+                                    "xaidan",+                                    "ckclo",+                                    "hdtnktcu",+                                    "v"+                                ],+                                "notes": ""+                            },+                            "( == 1.7.7 && < 7.6.3 && < 7.5.5 && == 5.6.1 && > 4.4.4 && > 4.6.2 && > 3.4.7 ) || ( < 7.4.4 && <= 8.3.2 && < 1.8.1 && <= 2.2.5 && < 8.3.5 && <= 8.3.1 && > 2.6.8 ) || ( <= 7.2.6 && > 3.5.3 && < 7.2.8 && >= 5.5.8 && == 5.6.2 && >= 3.7.2 && >= 7.5.1 && == 7.3.3 && > 8.6.5 ) || ( >= 5.7.3 && == 1.7.7 && <= 3.6.8 && < 1.7.6 )": {+                                "distroPKGs": [+                                    "mebzw",+                                    "ptpoti",+                                    "rtgc"+                                ],+                                "notes": "lxyzg"+                            },+                            "( > 3.4.2 && > 7.7.7 && < 8.6.7 && == 3.8.7 ) || ( >= 6.1.6 && <= 5.4.6 && > 3.5.3 ) || ( <= 3.8.6 && < 6.6.7 && >= 6.5.8 && >= 8.5.5 && == 3.5.1 && <= 7.4.3 && == 1.1.3 ) || ( < 7.7.1 && > 5.4.5 && > 2.1.3 && >= 5.5.2 && < 1.8.7 && < 2.3.1 && < 3.4.5 && >= 7.6.5 )": {+                                "distroPKGs": [+                                    "uecyef",+                                    "irj",+                                    "la",+                                    "v",+                                    "agpptp",+                                    "xjbfssp",+                                    "rxmu"+                                ],+                                "notes": "lw"+                            },+                            "( > 9.5.1 && <= 2.8.3 && < 1.6.7 && >= 4.6.6 && >= 6.5.5 && <= 2.8.5 && <= 7.4.8 )": {+                                "distroPKGs": [+                                    "yzzfx",+                                    "tljdxqwg",+                                    "rbolc",+                                    "rcpwt",+                                    "",+                                    "dnyate",+                                    "n",+                                    "lj"+                                ],+                                "notes": "enepamw"+                            },+                            "( >= 4.1.2 && >= 7.3.6 && <= 4.8.4 && > 5.2.7 && > 2.3.8 && == 7.8.4 && <= 8.6.1 && >= 8.6.4 && > 1.3.8 ) || ( == 4.7.3 && < 8.8.3 && > 2.4.5 )": {+                                "distroPKGs": [+                                    "",+                                    "pjeayd",+                                    "xgnbuxxj",+                                    "",+                                    "wg",+                                    "sakslldf",+                                    "wreycec"+                                ],+                                "notes": "yeucyv"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "gbtviks",+                                    "qnx",+                                    "dl",+                                    "",+                                    "wj",+                                    "asyjkrm",+                                    "hns",+                                    "j"+                                ],+                                "notes": "u"+                            }+                        }+                    },+                    "5.4.2": {+                        "Darwin": {+                            "( <= 8.4.8 && >= 2.2.4 && > 6.4.1 && == 7.6.3 && > 5.7.8 && >= 7.5.7 && == 3.6.8 && <= 4.1.2 )": {+                                "distroPKGs": [+                                    "adtbvg"+                                ],+                                "notes": "r"+                            },+                            "( == 8.2.3 && == 8.1.8 )": {+                                "distroPKGs": [+                                    "hjgugrd",+                                    "qrqazbl",+                                    "onpje",+                                    "",+                                    "adgdfthc",+                                    "yrb",+                                    "alkkh",+                                    "z"+                                ],+                                "notes": "ihzo"+                            },+                            "( > 4.3.5 && < 8.2.4 )": {+                                "distroPKGs": [+                                    "qcne",+                                    "j",+                                    "plkeqmjn",+                                    "itlrvic",+                                    "wyl",+                                    "grnb",+                                    "hb",+                                    "wyojkbm"+                                ],+                                "notes": "g"+                            },+                            "( > 4.6.4 && <= 1.4.1 ) || ( == 1.3.1 ) || ( == 2.6.8 && < 6.1.7 && >= 7.3.7 && <= 5.3.7 ) || ( < 6.7.9 && > 5.2.7 && == 1.3.4 && > 3.1.6 && <= 2.8.5 && <= 5.2.5 ) || ( < 7.7.7 )": {+                                "distroPKGs": [],+                                "notes": "ckzgzl"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ydqjc",+                                    "qlfg",+                                    "fercc",+                                    "emktqp",+                                    "tamer",+                                    "ghkpnwnb",+                                    "",+                                    "lvnjiav"+                                ],+                                "notes": "lowvia"+                            }+                        },+                        "Linux_Ubuntu": {+                            "( > 2.5.7 && == 4.6.5 && < 1.6.6 && > 5.5.8 && < 1.3.5 && < 1.6.4 )": {+                                "distroPKGs": [+                                    "ykgmf",+                                    "kcjlkub",+                                    "ty",+                                    "bltfixxq",+                                    "tywxwj"+                                ],+                                "notes": "pfdvhlgt"+                            },+                            "( > 3.3.2 && > 3.3.6 && > 1.4.6 && > 4.8.6 ) || ( >= 5.3.5 && >= 1.8.4 && > 7.5.8 && > 2.2.3 && >= 1.5.5 && <= 4.6.3 && > 7.3.5 ) || ( <= 6.3.1 && < 7.5.5 && > 6.1.4 && >= 6.1.5 ) || ( == 5.2.1 && > 6.7.7 && <= 1.2.6 && < 6.6.3 ) || ( <= 1.3.4 && == 5.7.2 && < 2.7.5 && < 6.2.5 && >= 8.4.3 && < 6.9.7 && < 4.7.1 && == 4.2.7 ) || ( >= 5.8.1 && > 7.2.2 && <= 3.2.4 && > 1.1.8 && <= 2.4.3 && == 7.8.7 && < 3.6.8 && > 4.5.4 && < 4.7.9 ) || ( <= 7.7.6 && <= 5.2.1 && == 8.5.7 && > 2.3.2 )": {+                                "distroPKGs": [+                                    "llktrowb"+                                ],+                                "notes": "metwcheo"+                            },+                            "( > 4.3.7 && < 7.2.7 && <= 5.8.1 && == 6.3.4 && == 2.6.8 && < 7.5.7 )": {+                                "distroPKGs": [+                                    "upbxe",+                                    "",+                                    "qiaslrox",+                                    "etoc",+                                    "s",+                                    "q",+                                    "gvgfonnr"+                                ],+                                "notes": "hbdjjj"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ygbu"+                                ],+                                "notes": "djmxz"+                            }+                        },+                        "Windows": {+                            "( > 4.2.1 && > 10.5.4 && == 3.3.5 && >= 8.5.8 && <= 7.1.8 && > 1.3.3 ) || ( <= 4.2.5 && == 3.4.1 && >= 7.7.6 && > 8.2.6 && > 8.2.6 && == 4.4.5 && > 3.6.7 && <= 3.2.1 && < 5.6.4 ) || ( >= 2.1.8 && >= 6.6.7 && == 1.5.5 && >= 7.8.3 && >= 1.4.3 && <= 3.1.2 )": {+                                "distroPKGs": [+                                    "ath",+                                    "phzudm"+                                ],+                                "notes": "kxdx"+                            },+                            "( >= 8.1.8 && == 4.4.1 && >= 3.3.1 && <= 6.5.1 ) || ( > 1.1.2 && < 6.9.8 && >= 1.7.7 && <= 1.8.6 && < 5.6.4 ) || ( <= 5.1.2 && <= 8.5.6 && == 4.8.6 && > 5.6.5 && > 1.2.1 && < 3.4.1 && >= 4.6.1 && <= 7.7.4 && > 3.1.2 )": {+                                "distroPKGs": [+                                    "t",+                                    "v",+                                    "fvbfxsr",+                                    "xf",+                                    "argwajm",+                                    "qcfakl",+                                    "tfzzh"+                                ],+                                "notes": "i"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "ahyg"+                            }+                        }+                    },+                    "6.1.1": {+                        "Darwin": {+                            "( <= 1.4.3 && <= 5.4.2 && > 2.4.4 && == 8.1.4 && >= 4.6.8 && < 5.7.8 && <= 4.8.1 && <= 7.6.3 )": {+                                "distroPKGs": [],+                                "notes": "vqm"+                            },+                            "( <= 8.7.1 && < 3.7.2 && >= 5.1.5 ) || ( >= 5.6.7 && >= 7.3.6 && > 8.6.8 && <= 4.8.5 && <= 4.5.5 ) || ( > 4.1.6 && >= 4.7.8 && < 5.6.5 )": {+                                "distroPKGs": [+                                    "uuvkukp",+                                    "r",+                                    "",+                                    "z",+                                    "m",+                                    ""+                                ],+                                "notes": "nxumeei"+                            },+                            "( >= 3.5.1 && > 6.1.3 && >= 4.5.3 && <= 4.2.4 && <= 3.7.5 && < 2.8.8 && < 7.4.5 )": {+                                "distroPKGs": [],+                                "notes": "wnlhxe"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "x",+                                    "gsb",+                                    "uew",+                                    "ebzu",+                                    "s",+                                    "y",+                                    "kjtvxuq"+                                ],+                                "notes": "wbex"+                            }+                        },+                        "FreeBSD": {+                            "( <= 2.8.4 && >= 3.6.1 && >= 1.8.6 && < 3.8.6 && == 4.4.8 && == 8.1.8 && == 8.1.4 )": {+                                "distroPKGs": [],+                                "notes": "bdbialnh"+                            },+                            "( == 5.3.1 && < 2.3.8 && < 8.1.6 && > 3.2.3 ) || ( >= 7.2.1 && <= 3.5.8 && < 6.2.7 && >= 1.6.7 && > 2.8.7 && > 5.7.1 && <= 2.8.4 ) || ( >= 4.7.8 && > 3.1.6 && > 2.7.1 )": {+                                "distroPKGs": [+                                    "bzfhy"+                                ],+                                "notes": "pwvvn"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "nm",+                                    "vmhtdj",+                                    "zd",+                                    "",+                                    "oua",+                                    "cdxbuffs",+                                    "dq"+                                ],+                                "notes": "rzhem"+                            }+                        },+                        "Linux_UnknownLinux": {+                            "( <= 1.2.5 && > 2.7.1 && <= 7.3.6 && == 8.3.6 && < 8.4.5 && <= 1.4.5 && <= 1.5.6 )": {+                                "distroPKGs": [+                                    "crlzcg",+                                    "knikjsep",+                                    "kkdtc"+                                ],+                                "notes": "qqitdqrp"+                            },+                            "( == 7.6.6 ) || ( < 2.3.8 && <= 1.1.5 && > 8.5.7 && >= 5.2.5 && > 7.5.7 && < 5.6.1 && > 6.7.7 ) || ( < 7.6.1 && < 8.5.3 && > 1.6.7 && > 5.5.8 && > 4.6.2 )": {+                                "distroPKGs": [+                                    "e",+                                    "fk",+                                    "ynip",+                                    "eqfv"+                                ],+                                "notes": "rn"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [],+                                "notes": "gryovff"+                            }+                        }+                    }+                },+                "Stack": {+                    "1.5.3": {+                        "Linux_Gentoo": {+                            "( < 8.5.3 && >= 3.1.8 && >= 3.8.4 && >= 3.8.3 )": {+                                "distroPKGs": [+                                    "ap",+                                    "pbnci",+                                    "eurw",+                                    "tcrkdseq",+                                    "bnwrzbli",+                                    "lcjh"+                                ],+                                "notes": "ci"+                            },+                            "( == 4.7.6 && <= 6.3.2 && < 4.7.8 )": {+                                "distroPKGs": [+                                    "xnjwnta",+                                    "dxvps",+                                    "ysk",+                                    "",+                                    "covwic",+                                    "q",+                                    "cihc"+                                ],+                                "notes": "zjxe"+                            },+                            "( == 6.2.7 && <= 1.7.4 && == 3.1.3 && < 6.4.3 && == 7.8.3 && > 2.2.3 ) || ( >= 4.4.6 && == 8.1.5 && > 3.7.8 && < 7.7.7 ) || ( >= 3.1.3 && > 3.1.7 && < 1.8.8 && >= 3.4.8 && < 4.3.1 ) || ( >= 7.3.5 && > 3.6.9 ) || ( > 6.2.8 && == 5.4.4 && <= 5.1.6 && > 1.2.8 && <= 7.1.5 && > 5.1.3 && == 1.5.4 && <= 7.3.4 ) || ( == 7.6.5 && == 5.6.2 && > 4.6.2 && >= 2.2.3 ) || ( < 3.6.8 && <= 4.5.2 && < 6.7.6 && < 5.3.8 ) || ( < 1.5.6 && >= 10.2.2 && >= 2.3.6 && >= 4.7.1 && >= 7.7.2 && <= 4.8.3 && >= 6.7.1 && < 6.8.8 && < 8.4.4 ) || ( <= 8.6.4 && <= 3.1.7 && == 4.5.3 && == 8.6.6 && > 7.5.2 && <= 6.3.5 ) || ( >= 8.3.1 && < 4.4.3 && > 2.4.1 && == 7.5.3 && == 2.2.4 && <= 3.2.3 && == 1.7.4 && < 6.6.4 )": {+                                "distroPKGs": [+                                    "nu",+                                    "tce",+                                    "adxg"+                                ],+                                "notes": "pl"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "lqqcqdag",+                                    "mdxdwx",+                                    "nfnclgh",+                                    "nbxcl",+                                    "y"+                                ],+                                "notes": "cwnihy"+                            }+                        },+                        "Linux_Mint": {+                            "( >= 7.7.8 )": {+                                "distroPKGs": [+                                    "rnce",+                                    "dlwpddo"+                                ],+                                "notes": "yco"+                            }+                        },+                        "Windows": {+                            "( < 1.8.1 ) || ( <= 7.2.3 && > 8.8.7 && > 2.1.7 && >= 6.6.3 && == 6.6.2 && > 3.7.4 && >= 8.4.2 && == 3.2.3 ) || ( < 1.2.3 && == 4.2.4 && == 4.2.6 && > 8.2.2 && <= 7.8.1 ) || ( >= 2.8.7 )": {+                                "distroPKGs": [+                                    "kxvydye",+                                    "hmajm",+                                    "myoviq",+                                    "gblfj",+                                    "fiot",+                                    "",+                                    "vpi"+                                ],+                                "notes": "lv"+                            },+                            "( <= 1.3.5 && <= 6.2.2 && > 6.4.8 && >= 5.7.1 && >= 8.8.5 && >= 7.4.4 && > 8.2.4 && <= 5.5.1 ) || ( < 4.6.1 && <= 7.6.4 && >= 1.7.3 && > 4.5.6 && > 3.6.5 )": {+                                "distroPKGs": [+                                    ""+                                ],+                                "notes": "ehw"+                            },+                            "( == 2.4.6 ) || ( >= 3.7.1 )": {+                                "distroPKGs": [+                                    "ueskh",+                                    "rucwb",+                                    "h",+                                    "esnaebw",+                                    ""+                                ],+                                "notes": "ebuyzeb"+                            },+                            "( >= 5.8.7 && < 3.1.2 && > 8.2.6 && > 1.7.8 && <= 5.7.3 && <= 6.2.1 && > 1.2.7 ) || ( < 7.1.3 && <= 6.5.5 && >= 5.6.2 && > 6.8.8 && >= 6.7.2 )": {+                                "distroPKGs": [+                                    "bdpke",+                                    "jyvlsb",+                                    "dbaglfv",+                                    "kh",+                                    "zn"+                                ],+                                "notes": "pfu"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "xpuyhp",+                                    "fidngp",+                                    "cnsydbe"+                                ],+                                "notes": "p"+                            }+                        }+                    },+                    "1.8.5": {+                        "Darwin": {},+                        "Windows": {+                            "( <= 5.1.7 && == 3.1.2 && < 6.5.5 && < 6.5.8 && <= 5.5.4 && == 8.2.8 && <= 5.3.4 && <= 6.6.7 ) || ( > 4.6.8 && < 4.6.2 && < 6.6.3 && >= 5.5.9 && > 7.2.7 && >= 3.6.7 && > 5.1.3 && <= 6.2.2 ) || ( >= 1.6.6 && == 8.3.8 && >= 4.1.1 && <= 7.8.3 && < 6.2.4 && == 4.2.2 && <= 6.7.1 ) || ( > 7.4.8 && < 3.4.5 && == 7.4.3 && == 8.3.8 ) || ( <= 1.6.6 && > 1.4.3 && == 8.6.8 && > 5.1.1 && >= 2.6.2 && > 5.6.6 && <= 2.3.4 && >= 7.8.2 ) || ( >= 5.6.7 && <= 1.7.3 && >= 7.1.8 )": {+                                "distroPKGs": [+                                    "wmbfdhcn",+                                    "hefid",+                                    "gpjsshfm"+                                ],+                                "notes": ""+                            },+                            "( <= 8.6.8 && <= 2.7.6 && <= 1.5.5 && < 7.8.3 && > 4.7.1 && <= 6.2.5 && <= 1.5.6 && < 8.3.3 )": {+                                "distroPKGs": [+                                    "a",+                                    "ankcnfwr",+                                    "",+                                    "vfeze"+                                ],+                                "notes": "o"+                            },+                            "( > 1.2.5 && < 1.8.2 && <= 2.7.2 && <= 6.2.1 && == 8.4.6 && >= 7.4.4 )": {+                                "distroPKGs": [+                                    "ntyvggto",+                                    "kwa",+                                    "",+                                    "rqv"+                                ],+                                "notes": "nlw"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "moa",+                                    "uy",+                                    "cmhkvx",+                                    "kckuuefv"+                                ],+                                "notes": "vgjy"+                            }+                        }+                    },+                    "6.4.8": {+                        "Darwin": {+                            "( < 1.1.7 && <= 6.4.7 && < 4.8.1 && >= 1.4.1 && < 1.3.5 )": {+                                "distroPKGs": [+                                    "zbnvuxey",+                                    "f",+                                    "xgk",+                                    "cully",+                                    "kijtxloo",+                                    "oa",+                                    ""+                                ],+                                "notes": "hkp"+                            },+                            "( < 8.5.2 && == 5.1.8 && >= 8.8.2 && == 8.5.5 )": {+                                "distroPKGs": [+                                    "pfmqqg",+                                    "pjcalesy",+                                    "w"+                                ],+                                "notes": "u"+                            },+                            "( == 4.8.1 ) || ( < 2.4.5 && > 7.3.7 && <= 3.6.5 && > 3.7.4 && < 8.3.2 )": {+                                "distroPKGs": [+                                    "mscioe",+                                    "awm",+                                    "hkokfhog",+                                    "c"+                                ],+                                "notes": "o"+                            },+                            "( >= 5.7.6 )": {+                                "distroPKGs": [+                                    "es",+                                    "vjut",+                                    "",+                                    "bnfeapvz",+                                    "",+                                    "wtbb",+                                    "lsumzapo",+                                    "xzl"+                                ],+                                "notes": "tn"+                            }+                        },+                        "FreeBSD": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ri",+                                    "",+                                    "fiqhwct",+                                    "",+                                    "kay",+                                    "hb",+                                    "idlbssz"+                                ],+                                "notes": ""+                            }+                        },+                        "Windows": {+                            "( == 2.4.7 && <= 1.6.6 && >= 2.5.6 && <= 1.8.3 && < 3.8.2 && > 8.8.1 && == 8.5.7 )": {+                                "distroPKGs": [],+                                "notes": "lbc"+                            },+                            "( >= 1.3.1 && <= 5.4.7 ) || ( <= 8.5.1 && < 6.7.3 && < 2.6.2 && == 1.4.7 && > 3.7.1 && == 5.1.5 && > 6.3.8 ) || ( < 1.4.3 && < 3.8.8 && < 1.7.7 && >= 4.4.6 && > 5.5.2 && > 8.1.5 && <= 1.1.3 && == 1.2.4 )": {+                                "distroPKGs": [+                                    "",+                                    "gufqmpuy",+                                    "iwe",+                                    "gozyve",+                                    "viwglaun",+                                    "eodrnmy",+                                    "b",+                                    "elrdg"+                                ],+                                "notes": "kgx"+                            },+                            "( >= 5.3.7 && > 4.8.3 && >= 6.2.8 && <= 3.8.2 && == 8.4.6 && == 4.8.1 )": {+                                "distroPKGs": [+                                    "",+                                    "",+                                    "ez",+                                    "hvqp"+                                ],+                                "notes": "qmnli"+                            },+                            "( >= 7.6.1 && > 2.6.8 && == 3.4.3 && > 6.2.6 && <= 4.8.5 )": {+                                "distroPKGs": [+                                    "qe",+                                    "uqje",+                                    "zrl",+                                    "c",+                                    "cpgbl",+                                    "vyr",+                                    "z"+                                ],+                                "notes": "s"+                            }+                        }+                    },+                    "unknown_version": {+                        "FreeBSD": {+                            "( == 2.3.8 && > 5.1.2 )": {+                                "distroPKGs": [+                                    "ttyjz"+                                ],+                                "notes": "fk"+                            },+                            "( > 8.6.1 )": {+                                "distroPKGs": [+                                    "p"+                                ],+                                "notes": "r"+                            },+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "ygn"+                                ],+                                "notes": "stakcmt"+                            }+                        },+                        "Linux_Alpine": {},+                        "Linux_Mint": {+                            "( == 6.8.4 && <= 7.6.3 && > 8.6.2 && == 4.5.1 && <= 1.7.3 && < 6.4.6 && > 1.7.2 && <= 4.3.8 ) || ( > 5.2.2 && == 4.3.2 && == 4.7.6 && < 5.3.3 ) || ( >= 5.3.6 && == 8.5.5 && >= 2.1.5 && == 1.4.7 && == 7.1.8 ) || ( <= 2.2.6 && < 9.8.6 && < 6.5.1 && > 8.2.6 && > 3.5.1 )": {+                                "distroPKGs": [],+                                "notes": "anxgnicb"+                            },+                            "( >= 5.2.8 && > 6.5.8 && < 3.4.8 && <= 6.4.8 && >= 4.4.3 )": {+                                "distroPKGs": [+                                    "ro",+                                    "lcupoppc"+                                ],+                                "notes": "faxg"+                            }+                        },+                        "Linux_Ubuntu": {+                            "( > 1.3.5 && < 7.6.5 && > 5.3.2 ) || ( >= 5.4.7 && <= 8.6.2 )": {+                                "distroPKGs": [+                                    "tbgbeoun",+                                    "lnvlzo",+                                    "ybbv",+                                    "",+                                    "kyxhn",+                                    "smybz",+                                    "oqtcr"+                                ],+                                "notes": "c"+                            }+                        },+                        "Windows": {+                            "unknown_versioning": {+                                "distroPKGs": [+                                    "e",+                                    "vtpwarz",+                                    "",+                                    "lcdo",+                                    "glp",+                                    "dvh",+                                    "wmnzz",+                                    "jti"+                                ],+                                "notes": "qdwsmy"+                            }+                        }+                    }+                }+            }+        }+    ],+    "seed": 89490121+}