diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -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.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -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.
diff --git a/app/ghcup-gen/Main.hs b/app/ghcup-gen/Main.hs
--- a/app/ghcup-gen/Main.hs
+++ b/app/ghcup-gen/Main.hs
@@ -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
diff --git a/app/ghcup-gen/Validate.hs b/app/ghcup-gen/Validate.hs
--- a/app/ghcup-gen/Validate.hs
+++ b/app/ghcup-gen/Validate.hs
@@ -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
diff --git a/app/ghcup/BrickMain.hs b/app/ghcup/BrickMain.hs
--- a/app/ghcup/BrickMain.hs
+++ b/app/ghcup/BrickMain.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse.hs b/app/ghcup/GHCup/OptParse.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse.hs
@@ -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
+          )
diff --git a/app/ghcup/GHCup/OptParse/ChangeLog.hs b/app/ghcup/GHCup/OptParse/ChangeLog.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/ChangeLog.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/Common.hs b/app/ghcup/GHCup/OptParse/Common.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Common.hs
@@ -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 <> "'"
diff --git a/app/ghcup/GHCup/OptParse/Compile.hs b/app/ghcup/GHCup/OptParse/Compile.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Compile.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/Config.hs b/app/ghcup/GHCup/OptParse/Config.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Config.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/DInfo.hs b/app/ghcup/GHCup/OptParse/DInfo.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/DInfo.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/GC.hs b/app/ghcup/GHCup/OptParse/GC.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/GC.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/Install.hs b/app/ghcup/GHCup/OptParse/Install.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Install.hs
@@ -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
+
diff --git a/app/ghcup/GHCup/OptParse/List.hs b/app/ghcup/GHCup/OptParse/List.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/List.hs
@@ -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
+    )
diff --git a/app/ghcup/GHCup/OptParse/Nuke.hs b/app/ghcup/GHCup/OptParse/Nuke.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Nuke.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/Prefetch.hs b/app/ghcup/GHCup/OptParse/Prefetch.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Prefetch.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/Rm.hs b/app/ghcup/GHCup/OptParse/Rm.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Rm.hs
@@ -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
+
diff --git a/app/ghcup/GHCup/OptParse/Set.hs b/app/ghcup/GHCup/OptParse/Set.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Set.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/ToolRequirements.hs b/app/ghcup/GHCup/OptParse/ToolRequirements.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/ToolRequirements.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/UnSet.hs b/app/ghcup/GHCup/OptParse/UnSet.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/UnSet.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/Upgrade.hs b/app/ghcup/GHCup/OptParse/Upgrade.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Upgrade.hs
@@ -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
diff --git a/app/ghcup/GHCup/OptParse/Whereis.hs b/app/ghcup/GHCup/OptParse/Whereis.hs
new file mode 100644
--- /dev/null
+++ b/app/ghcup/GHCup/OptParse/Whereis.hs
@@ -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
diff --git a/app/ghcup/Main.hs b/app/ghcup/Main.hs
--- a/app/ghcup/Main.hs
+++ b/app/ghcup/Main.hs
@@ -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 ()
+
 
diff --git a/data/metadata/ghcup-0.0.4.yaml b/data/metadata/ghcup-0.0.4.yaml
deleted file mode 100644
--- a/data/metadata/ghcup-0.0.4.yaml
+++ /dev/null
@@ -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
diff --git a/data/metadata/ghcup-0.0.5.yaml b/data/metadata/ghcup-0.0.5.yaml
deleted file mode 100644
--- a/data/metadata/ghcup-0.0.5.yaml
+++ /dev/null
@@ -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
-
diff --git a/data/metadata/ghcup-0.0.6.yaml b/data/metadata/ghcup-0.0.6.yaml
deleted file mode 100644
--- a/data/metadata/ghcup-0.0.6.yaml
+++ /dev/null
@@ -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
-
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
deleted file mode 100644
--- a/docs/CHANGELOG.md
+++ /dev/null
@@ -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.
diff --git a/docs/HACKING.md b/docs/HACKING.md
deleted file mode 100644
--- a/docs/HACKING.md
+++ /dev/null
@@ -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.
diff --git a/docs/RELEASING.md b/docs/RELEASING.md
deleted file mode 100644
--- a/docs/RELEASING.md
+++ /dev/null
@@ -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`
diff --git a/ghcup.cabal b/ghcup.cabal
--- a/ghcup.cabal
+++ b/ghcup.cabal
@@ -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
diff --git a/lib/GHCup.hs b/lib/GHCup.hs
--- a/lib/GHCup.hs
+++ b/lib/GHCup.hs
@@ -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)
 
 
diff --git a/lib/GHCup/Download.hs b/lib/GHCup/Download.hs
--- a/lib/GHCup/Download.hs
+++ b/lib/GHCup/Download.hs
@@ -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.
diff --git a/lib/GHCup/Errors.hs b/lib/GHCup/Errors.hs
--- a/lib/GHCup/Errors.hs
+++ b/lib/GHCup/Errors.hs
@@ -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."
diff --git a/lib/GHCup/Types/JSON.hs b/lib/GHCup/Types/JSON.hs
--- a/lib/GHCup/Types/JSON.hs
+++ b/lib/GHCup/Types/JSON.hs
@@ -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
diff --git a/lib/GHCup/Utils.hs b/lib/GHCup/Utils.hs
--- a/lib/GHCup/Utils.hs
+++ b/lib/GHCup/Utils.hs
@@ -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.
diff --git a/lib/GHCup/Utils/Dirs.hs b/lib/GHCup/Utils/Dirs.hs
--- a/lib/GHCup/Utils/Dirs.hs
+++ b/lib/GHCup/Utils/Dirs.hs
@@ -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
diff --git a/lib/GHCup/Utils/Posix.hs b/lib/GHCup/Utils/Posix.hs
new file mode 100644
--- /dev/null
+++ b/lib/GHCup/Utils/Posix.hs
@@ -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)
+
diff --git a/lib/GHCup/Utils/Prelude.hs b/lib/GHCup/Utils/Prelude.hs
--- a/lib/GHCup/Utils/Prelude.hs
+++ b/lib/GHCup/Utils/Prelude.hs
@@ -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
-
-
 
diff --git a/lib/GHCup/Utils/Prelude/Posix.hs b/lib/GHCup/Utils/Prelude/Posix.hs
new file mode 100644
--- /dev/null
+++ b/lib/GHCup/Utils/Prelude/Posix.hs
@@ -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
+  
diff --git a/lib/GHCup/Utils/Prelude/Windows.hs b/lib/GHCup/Utils/Prelude/Windows.hs
new file mode 100644
--- /dev/null
+++ b/lib/GHCup/Utils/Prelude/Windows.hs
@@ -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
+
diff --git a/lib/GHCup/Utils/Windows.hs b/lib/GHCup/Utils/Windows.hs
new file mode 100644
--- /dev/null
+++ b/lib/GHCup/Utils/Windows.hs
@@ -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)
+
diff --git a/lib/GHCup/Version.hs b/lib/GHCup/Version.hs
--- a/lib/GHCup/Version.hs
+++ b/lib/GHCup/Version.hs
@@ -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
diff --git a/test/golden/GHCupInfo.json b/test/golden/GHCupInfo.json
new file mode 100644
--- /dev/null
+++ b/test/golden/GHCupInfo.json
@@ -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𬴨\u000eS",
+                                        "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󽡊\u001ctBFv"
+                                        },
+                                        "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",
+                            "xZ\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": "䆹kDT\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": "#ZD",
+                                        "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": "FN𤔊\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": "􅭮NBo󽾗"
+                                        },
+                                        "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
+}
