summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2022-12-08 16:45:20 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-12-09 20:16:20 -0500
commitfac3e568e110226f68f4f9a9ad483fb5c0a7c98b (patch)
tree49da4f0e9a61567651d2ad682e490c88f66d0ca2
parentab06c0f0ccaeb3277195e4eeac541c00558d4cc2 (diff)
downloadhaskell-fac3e568e110226f68f4f9a9ad483fb5c0a7c98b.tar.gz
hadrian: Update bootstrap plans to 9.2.* series and 9.4.* series.
This updates the build plans for the most recent compiler versions, as well as fixing the hadrian-bootstrap-gen script to a specific GHC version.
-rwxr-xr-xhadrian/bootstrap/generate_bootstrap_plans18
-rw-r--r--hadrian/bootstrap/hadrian-bootstrap-gen.cabal6
-rw-r--r--hadrian/bootstrap/plan-8_10_1.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_2.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_3.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_4.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_5.json1
-rw-r--r--hadrian/bootstrap/plan-8_10_7.json1
-rw-r--r--hadrian/bootstrap/plan-9_0_1.json1
-rw-r--r--hadrian/bootstrap/plan-9_0_2.json1
-rw-r--r--hadrian/bootstrap/plan-9_2_1.json1
-rw-r--r--hadrian/bootstrap/plan-9_2_2.json2
-rw-r--r--hadrian/bootstrap/plan-9_2_3.json2
-rw-r--r--hadrian/bootstrap/plan-9_2_4.json1
-rw-r--r--hadrian/bootstrap/plan-9_2_5.json1
-rw-r--r--hadrian/bootstrap/plan-9_4_1.json1
-rw-r--r--hadrian/bootstrap/plan-9_4_2.json1
-rw-r--r--hadrian/bootstrap/plan-9_4_3.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_1.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_2.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_3.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_4.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_5.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-8_10_7.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_0_1.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_0_2.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_2_1.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_2_2.json2
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_2_3.json2
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_2_4.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_2_5.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_4_1.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_4_2.json1
-rw-r--r--hadrian/bootstrap/plan-bootstrap-9_4_3.json1
-rw-r--r--hadrian/bootstrap/src/Main.hs2
35 files changed, 31 insertions, 31 deletions
diff --git a/hadrian/bootstrap/generate_bootstrap_plans b/hadrian/bootstrap/generate_bootstrap_plans
index 167559aa53..94ab345b46 100755
--- a/hadrian/bootstrap/generate_bootstrap_plans
+++ b/hadrian/bootstrap/generate_bootstrap_plans
@@ -1,5 +1,7 @@
ghcs_nix="https://gitlab.haskell.org/bgamari/ghcs-nix/-/archive/master/ghcs-nix-master.tar.gz"
+nix build -f "$ghcs_nix" ghc-8_10_7 -o boot_ghc
+
run() {
local ver="$1"
local drv="ghc-$ver"
@@ -7,12 +9,14 @@ run() {
nix build -f "$ghcs_nix" $drv
(cd ../; rm -r dist-newstyle; cabal configure hadrian -w bootstrap/result/bin/ghc)
cp ../dist-newstyle/cache/plan.json "plan-$ver.json"
- cabal run -v0 hadrian-bootstrap-gen -- "plan-$ver.json" | tee "plan-bootstrap-$ver.json"
+ cabal run --with-ghc-pkg $PWD/boot_ghc/bin/ghc-pkg -w $PWD/boot_ghc/bin/ghc -v0 hadrian-bootstrap-gen -- "plan-$ver.json" | tee "plan-bootstrap-$ver.json"
}
-run "8_10_1"
-# run "8_10_2" Broken
-run "8_10_3"
-run "8_10_4"
-run "8_10_5"
-run "9_0_1"
+run "9_2_1"
+run "9_2_2"
+run "9_2_3"
+run "9_2_4"
+run "9_2_5"
+run "9_4_1"
+run "9_4_2"
+run "9_4_3"
diff --git a/hadrian/bootstrap/hadrian-bootstrap-gen.cabal b/hadrian/bootstrap/hadrian-bootstrap-gen.cabal
index 977af35468..31000c0f6c 100644
--- a/hadrian/bootstrap/hadrian-bootstrap-gen.cabal
+++ b/hadrian/bootstrap/hadrian-bootstrap-gen.cabal
@@ -9,10 +9,10 @@ executable hadrian-bootstrap-gen
main-is: Main.hs
build-depends:
, aeson ^>=1.5.2.0
- , base ^>=4.12.0.0 || ^>=4.13.0.0 || ^>=4.14.0.0
+ , base ^>=4.12.0.0 || ^>=4.13.0.0 || ^>=4.14.0.0 || ^>=4.15.0.0
, bytestring ^>=0.10.8.2
- , Cabal ^>=3.2.0.0
- , cabal-install-parsers ^>=0.3.0.1
+ , Cabal ^>=3.6.0.0
+ , cabal-install-parsers ^>=0.4.0.1
, cabal-plan ^>=0.7.0.0
, containers ^>=0.6.0.1
, text ^>=1.2.3.0
diff --git a/hadrian/bootstrap/plan-8_10_1.json b/hadrian/bootstrap/plan-8_10_1.json
deleted file mode 100644
index 3dd477cf8e..0000000000
--- a/hadrian/bootstrap/plan-8_10_1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.0.0","pkg-name":"Cabal","pkg-version":"3.2.0.0","depends":["array-0.5.4.0","base-4.14.0.0","binary-0.8.8.0","bytestring-0.10.10.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.8.2","text-1.2.3.2","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-3bf861496cce6d2157bfd3021c541eef02c0e69e64932316a5665fc5e4c4102f","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.0.0","containers-0.6.2.1","deepseq-1.4.4.0","random-1.2.0-7dca4da04d1af76b276795b5f4342d551ad8e8615320698c61e830145bad1f46","splitmix-0.1.0.3-0ed9006997a5257b2ba2fca3e9619b8740b49d5b8e73c7ca7421df40f3d8ee0d","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.0.0"]},{"type":"pre-existing","id":"base-4.14.0.0","pkg-name":"base","pkg-version":"4.14.0.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.0.0","bytestring-0.10.10.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.10.0","pkg-name":"bytestring","pkg-version":"0.10.10.0","depends":["base-4.14.0.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-5678492e11bfb8a7d3a2b2e38d8d4c40f7d1b5d4dccfb1b05678d09b7bf1c4bd","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.0.0","clock-0.8.2-5678492e11bfb8a7d3a2b2e38d8d4c40f7d1b5d4dccfb1b05678d09b7bf1c4bd","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.8.2","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.0.0"]},{"type":"configured","id":"filepattern-0.1.2-f4bcbba4b051aa2703f4d8db7a044e2e5f0676b5a743af7564a465b04acc2fe0","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.0.0","directory-1.3.6.0","extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.1","pkg-name":"ghc-boot-th","pkg-version":"8.10.1","depends":["base-4.14.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.1/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.0.0","QuickCheck-2.14.2-3bf861496cce6d2157bfd3021c541eef02c0e69e64932316a5665fc5e4c4102f","base-4.14.0.0","bytestring-0.10.10.0","containers-0.6.2.1","directory-1.3.6.0","extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-8efe84f02a56166e8783c9ec6246bc734f19a6bb93690c65f6832ed0b0afa88a","transformers-0.5.6.2","unordered-containers-0.2.13.0-515c86b51479cff7046834433af1270b0862534995184bb2b2f9995333de32bf"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-e5266421805138ba33cb27c5894cb8d323461bfd1d26eab8a3eeaa8738feb21f","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.0.0","bytestring-0.10.10.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.3.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-ebb85f92a69df2a486999e08b7e807d9fbc4e26e25545eba46f44ce382961342","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-1b1295ec305a0a0a37f8af71db1bf3b9906d5052baa83df910e19162afe8d0af","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-24f7575c68cf18833a7af148b1da8ca04552dd81b411728aacefa32c87ac0d48","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-7c01f724a76c7ce3dad098d46b1380931a0b051eb6f623b83fdf8f7f344e10cd","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.0.0","bytestring-0.10.10.0","mtl-2.2.2","text-1.2.3.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.0.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-3f661be4f721ce92d10cbee1089ed28cba78d61cc6f3688eddf35cc825d96e95","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.0.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.8.2","pkg-name":"process","pkg-version":"1.6.8.2","depends":["base-4.14.0.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-7dca4da04d1af76b276795b5f4342d551ad8e8615320698c61e830145bad1f46","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.0.0","bytestring-0.10.10.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-0ed9006997a5257b2ba2fca3e9619b8740b49d5b8e73c7ca7421df40f3d8ee0d"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-46bc09b21201f84f8cfb104e58245d2d8b2af4763aada804340b8cd557beedf9","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.0.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","filepath-1.4.2.1","filepattern-0.1.2-f4bcbba4b051aa2703f4d8db7a044e2e5f0676b5a743af7564a465b04acc2fe0","hashable-1.3.1.0-e5266421805138ba33cb27c5894cb8d323461bfd1d26eab8a3eeaa8738feb21f","heaps-0.4-ebb85f92a69df2a486999e08b7e807d9fbc4e26e25545eba46f44ce382961342","js-dgtable-0.5.2-1b1295ec305a0a0a37f8af71db1bf3b9906d5052baa83df910e19162afe8d0af","js-flot-0.8.3-24f7575c68cf18833a7af148b1da8ca04552dd81b411728aacefa32c87ac0d48","js-jquery-3.3.1-7c01f724a76c7ce3dad098d46b1380931a0b051eb6f623b83fdf8f7f344e10cd","primitive-0.7.1.0-3f661be4f721ce92d10cbee1089ed28cba78d61cc6f3688eddf35cc825d96e95","process-1.6.8.2","random-1.2.0-7dca4da04d1af76b276795b5f4342d551ad8e8615320698c61e830145bad1f46","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-515c86b51479cff7046834433af1270b0862534995184bb2b2f9995333de32bf","utf8-string-1.0.2-2815d6173223cc0d3fa6daeb6e7e82993bf2b7b864e9ca8453a068a4ab7ffea9"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.1/shake-0.19.4-46bc09b21201f84f8cfb104e58245d2d8b2af4763aada804340b8cd557beedf9/bin/shake"},{"type":"configured","id":"shake-0.19.4-8efe84f02a56166e8783c9ec6246bc734f19a6bb93690c65f6832ed0b0afa88a","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.0.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-fcbae94026571f14f14a2f934b7ca4aeb931d4388235276e41d1f314dff3ed48","filepath-1.4.2.1","filepattern-0.1.2-f4bcbba4b051aa2703f4d8db7a044e2e5f0676b5a743af7564a465b04acc2fe0","hashable-1.3.1.0-e5266421805138ba33cb27c5894cb8d323461bfd1d26eab8a3eeaa8738feb21f","heaps-0.4-ebb85f92a69df2a486999e08b7e807d9fbc4e26e25545eba46f44ce382961342","js-dgtable-0.5.2-1b1295ec305a0a0a37f8af71db1bf3b9906d5052baa83df910e19162afe8d0af","js-flot-0.8.3-24f7575c68cf18833a7af148b1da8ca04552dd81b411728aacefa32c87ac0d48","js-jquery-3.3.1-7c01f724a76c7ce3dad098d46b1380931a0b051eb6f623b83fdf8f7f344e10cd","primitive-0.7.1.0-3f661be4f721ce92d10cbee1089ed28cba78d61cc6f3688eddf35cc825d96e95","process-1.6.8.2","random-1.2.0-7dca4da04d1af76b276795b5f4342d551ad8e8615320698c61e830145bad1f46","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-515c86b51479cff7046834433af1270b0862534995184bb2b2f9995333de32bf","utf8-string-1.0.2-2815d6173223cc0d3fa6daeb6e7e82993bf2b7b864e9ca8453a068a4ab7ffea9"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.3-0ed9006997a5257b2ba2fca3e9619b8740b49d5b8e73c7ca7421df40f3d8ee0d","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.0.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.0.0","ghc-boot-th-8.10.1","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.3.2","pkg-name":"text","pkg-version":"1.2.3.2","depends":["array-0.5.4.0","base-4.14.0.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.0.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.0.0","bytestring-0.10.10.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-515c86b51479cff7046834433af1270b0862534995184bb2b2f9995333de32bf","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.0.0","deepseq-1.4.4.0","hashable-1.3.1.0-e5266421805138ba33cb27c5894cb8d323461bfd1d26eab8a3eeaa8738feb21f"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-2815d6173223cc0d3fa6daeb6e7e82993bf2b7b864e9ca8453a068a4ab7ffea9","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.0.0","bytestring-0.10.10.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_2.json b/hadrian/bootstrap/plan-8_10_2.json
deleted file mode 100644
index dc9fff4bc1..0000000000
--- a/hadrian/bootstrap/plan-8_10_2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.0.0","pkg-name":"Cabal","pkg-version":"3.2.0.0","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.10.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.3.2","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-4044f5a3c770279a46a4bce71f9df77e45678626f035897da04ca467e8d974da","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.1.0","containers-0.6.2.1","deepseq-1.4.4.0","random-1.2.0-f056578d75c60848b8e9e432f58aef5a50fd256f12c0d313697cf915d364df6e","splitmix-0.1.0.3-dcfd89d2a83afbc76e693b35ab28b6af92e664e5e9ca7adbee03987ab7311697","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.10.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.10.0","pkg-name":"bytestring","pkg-version":"0.10.10.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-ab5b6c44643ca4539e7f0278ba1ecd8a2b8b7f0c8d1a40e5b2075f360ebc9ef1","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.1.0","clock-0.8.2-ab5b6c44643ca4539e7f0278ba1ecd8a2b8b7f0c8d1a40e5b2075f360ebc9ef1","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.1.0"]},{"type":"configured","id":"filepattern-0.1.2-482fb6b9851cd3b3ea17ca0f09ae14ceb0b13f1e76d2229921f60707aabd7243","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.1.0","directory-1.3.6.0","extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.2","pkg-name":"ghc-boot-th","pkg-version":"8.10.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.2/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.0.0","QuickCheck-2.14.2-4044f5a3c770279a46a4bce71f9df77e45678626f035897da04ca467e8d974da","base-4.14.1.0","bytestring-0.10.10.0","containers-0.6.2.1","directory-1.3.6.0","extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-f8cdc3e489342853f74786242c9a766272e61ed4562f4c435df2b56d21e8d3fd","transformers-0.5.6.2","unordered-containers-0.2.13.0-52616055beaf35b7801a4548d552377bdc0d78bf23390ed0c3384b06e8940f3f"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-7b0e9905af2c8c28f1c93a5db526225be808fbbb246856be800cc8d4fbb94dfd","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.1.0","bytestring-0.10.10.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.3.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-a7e7fc85bc63f2274cc7beeb3dca066995f9f0ffa9b8a2eb066886fb968ab7c9","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-4f088268d09c2f9647278883e5402bd984046a32e50bcf47f101c4f2dc5fafe0","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-39743a76d3bd70144281f131cefa148e8394b14de00015baaad9f2e5e7a7cb80","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-2c482b4477c7cd995d7a3b1ff5594d388a9f62830d6aba26fceadd912ccf4fd0","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.1.0","bytestring-0.10.10.0","mtl-2.2.2","text-1.2.3.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-f012577575c0a83a7acb71352c37f9c2228aa22d38df742952e879128e014616","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.1.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-f056578d75c60848b8e9e432f58aef5a50fd256f12c0d313697cf915d364df6e","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.1.0","bytestring-0.10.10.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-dcfd89d2a83afbc76e693b35ab28b6af92e664e5e9ca7adbee03987ab7311697"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-043a452e03636c533f8396bf4845a504600fbe9ae9b301a3549004d4b35e16bd","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","filepath-1.4.2.1","filepattern-0.1.2-482fb6b9851cd3b3ea17ca0f09ae14ceb0b13f1e76d2229921f60707aabd7243","hashable-1.3.1.0-7b0e9905af2c8c28f1c93a5db526225be808fbbb246856be800cc8d4fbb94dfd","heaps-0.4-a7e7fc85bc63f2274cc7beeb3dca066995f9f0ffa9b8a2eb066886fb968ab7c9","js-dgtable-0.5.2-4f088268d09c2f9647278883e5402bd984046a32e50bcf47f101c4f2dc5fafe0","js-flot-0.8.3-39743a76d3bd70144281f131cefa148e8394b14de00015baaad9f2e5e7a7cb80","js-jquery-3.3.1-2c482b4477c7cd995d7a3b1ff5594d388a9f62830d6aba26fceadd912ccf4fd0","primitive-0.7.1.0-f012577575c0a83a7acb71352c37f9c2228aa22d38df742952e879128e014616","process-1.6.9.0","random-1.2.0-f056578d75c60848b8e9e432f58aef5a50fd256f12c0d313697cf915d364df6e","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-52616055beaf35b7801a4548d552377bdc0d78bf23390ed0c3384b06e8940f3f","utf8-string-1.0.2-7bb4e7e8bc997282589aaaaa9ac99fb554953ac12c720494d91f57d7ff984c86"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.2/shake-0.19.4-043a452e03636c533f8396bf4845a504600fbe9ae9b301a3549004d4b35e16bd/bin/shake"},{"type":"configured","id":"shake-0.19.4-f8cdc3e489342853f74786242c9a766272e61ed4562f4c435df2b56d21e8d3fd","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-6f94da3821f2f5df7b0cd80e72f6f8ebd26d26ff383fd20a81fabf8cc11bc903","filepath-1.4.2.1","filepattern-0.1.2-482fb6b9851cd3b3ea17ca0f09ae14ceb0b13f1e76d2229921f60707aabd7243","hashable-1.3.1.0-7b0e9905af2c8c28f1c93a5db526225be808fbbb246856be800cc8d4fbb94dfd","heaps-0.4-a7e7fc85bc63f2274cc7beeb3dca066995f9f0ffa9b8a2eb066886fb968ab7c9","js-dgtable-0.5.2-4f088268d09c2f9647278883e5402bd984046a32e50bcf47f101c4f2dc5fafe0","js-flot-0.8.3-39743a76d3bd70144281f131cefa148e8394b14de00015baaad9f2e5e7a7cb80","js-jquery-3.3.1-2c482b4477c7cd995d7a3b1ff5594d388a9f62830d6aba26fceadd912ccf4fd0","primitive-0.7.1.0-f012577575c0a83a7acb71352c37f9c2228aa22d38df742952e879128e014616","process-1.6.9.0","random-1.2.0-f056578d75c60848b8e9e432f58aef5a50fd256f12c0d313697cf915d364df6e","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-52616055beaf35b7801a4548d552377bdc0d78bf23390ed0c3384b06e8940f3f","utf8-string-1.0.2-7bb4e7e8bc997282589aaaaa9ac99fb554953ac12c720494d91f57d7ff984c86"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.3-dcfd89d2a83afbc76e693b35ab28b6af92e664e5e9ca7adbee03987ab7311697","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.1.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.2","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.3.2","pkg-name":"text","pkg-version":"1.2.3.2","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.10.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.10.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-52616055beaf35b7801a4548d552377bdc0d78bf23390ed0c3384b06e8940f3f","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.1.0","deepseq-1.4.4.0","hashable-1.3.1.0-7b0e9905af2c8c28f1c93a5db526225be808fbbb246856be800cc8d4fbb94dfd"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-7bb4e7e8bc997282589aaaaa9ac99fb554953ac12c720494d91f57d7ff984c86","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.1.0","bytestring-0.10.10.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_3.json b/hadrian/bootstrap/plan-8_10_3.json
deleted file mode 100644
index 2cb9d47551..0000000000
--- a/hadrian/bootstrap/plan-8_10_3.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.1.0","pkg-name":"Cabal","pkg-version":"3.2.1.0","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-f6f12c3f614c16e3c653247bcad2dd0dec63c03a385bbdfe3c7e047c86572d3c","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.1.0","containers-0.6.2.1","deepseq-1.4.4.0","random-1.2.0-8751b6ab3bf8a29738d8affd64a32c530278d4d97e2b8b78157213eb4fd0fad3","splitmix-0.1.0.3-5263e456e3deb12ee532288e6660fa3141fb27d86848a24ef3f795b36bf28604","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-561bf41aecf0cfc291ef9b3c9a081b639a48cd32a13227a24db604f2b84abc87","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.1.0","clock-0.8.2-561bf41aecf0cfc291ef9b3c9a081b639a48cd32a13227a24db604f2b84abc87","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.1.0"]},{"type":"configured","id":"filepattern-0.1.2-53645fcb5130018828ce8e09006a2ec9f131b6bd679725f5d2f656e0e63873b2","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.1.0","directory-1.3.6.0","extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.3","pkg-name":"ghc-boot-th","pkg-version":"8.10.3","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.3/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.1.0","QuickCheck-2.14.2-f6f12c3f614c16e3c653247bcad2dd0dec63c03a385bbdfe3c7e047c86572d3c","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","directory-1.3.6.0","extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-154a036f7fabd1afe2433f6b01fc055bc27b8bf12b4b54274f96d9d7f95c45af","transformers-0.5.6.2","unordered-containers-0.2.13.0-c339ce8bcad402d54dda48190f0160368a91b33000b6363217428f19f11b311d"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-9d9392e26ad14e913887d96978f75dc08a0b208fc5749961c981ba1e6234b17a","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-a2b06a7095349a383c9c422287d4b54d3b349d39442bf720c0dd32927a806724","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-77d91e31d290a2be1a0b48b51eda2c33a04d51bdeed64d2341bbee2db7f93554","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-e6f42e02763ad88995e377c2665c6d778eb08c83c2c1fdd7a8a1a343bebd41f1","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-feca31846e8a0af2c70634e7e82c203a09152383c65737988599200ffd674215","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.1.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-b64578c3e3db8528a2409db30cbec8c49a4e78bf70f136b4f273606555288293","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.1.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-8751b6ab3bf8a29738d8affd64a32c530278d4d97e2b8b78157213eb4fd0fad3","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-5263e456e3deb12ee532288e6660fa3141fb27d86848a24ef3f795b36bf28604"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-154a036f7fabd1afe2433f6b01fc055bc27b8bf12b4b54274f96d9d7f95c45af","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","filepath-1.4.2.1","filepattern-0.1.2-53645fcb5130018828ce8e09006a2ec9f131b6bd679725f5d2f656e0e63873b2","hashable-1.3.1.0-9d9392e26ad14e913887d96978f75dc08a0b208fc5749961c981ba1e6234b17a","heaps-0.4-a2b06a7095349a383c9c422287d4b54d3b349d39442bf720c0dd32927a806724","js-dgtable-0.5.2-77d91e31d290a2be1a0b48b51eda2c33a04d51bdeed64d2341bbee2db7f93554","js-flot-0.8.3-e6f42e02763ad88995e377c2665c6d778eb08c83c2c1fdd7a8a1a343bebd41f1","js-jquery-3.3.1-feca31846e8a0af2c70634e7e82c203a09152383c65737988599200ffd674215","primitive-0.7.1.0-b64578c3e3db8528a2409db30cbec8c49a4e78bf70f136b4f273606555288293","process-1.6.9.0","random-1.2.0-8751b6ab3bf8a29738d8affd64a32c530278d4d97e2b8b78157213eb4fd0fad3","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-c339ce8bcad402d54dda48190f0160368a91b33000b6363217428f19f11b311d","utf8-string-1.0.2-726aff700d8b8562f31c2e2566ac8ba43b365bb48cb8c60dfa098430e9a88f18"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.4-e592095104d8d10af7c8c638222a4f572e4aa0d8571c63bad3429dfd672ef529","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-dce3c7c629dc8cd0e0494399218eba89ce41cd419182de9b96b1d47307217ba8","filepath-1.4.2.1","filepattern-0.1.2-53645fcb5130018828ce8e09006a2ec9f131b6bd679725f5d2f656e0e63873b2","hashable-1.3.1.0-9d9392e26ad14e913887d96978f75dc08a0b208fc5749961c981ba1e6234b17a","heaps-0.4-a2b06a7095349a383c9c422287d4b54d3b349d39442bf720c0dd32927a806724","js-dgtable-0.5.2-77d91e31d290a2be1a0b48b51eda2c33a04d51bdeed64d2341bbee2db7f93554","js-flot-0.8.3-e6f42e02763ad88995e377c2665c6d778eb08c83c2c1fdd7a8a1a343bebd41f1","js-jquery-3.3.1-feca31846e8a0af2c70634e7e82c203a09152383c65737988599200ffd674215","primitive-0.7.1.0-b64578c3e3db8528a2409db30cbec8c49a4e78bf70f136b4f273606555288293","process-1.6.9.0","random-1.2.0-8751b6ab3bf8a29738d8affd64a32c530278d4d97e2b8b78157213eb4fd0fad3","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-c339ce8bcad402d54dda48190f0160368a91b33000b6363217428f19f11b311d","utf8-string-1.0.2-726aff700d8b8562f31c2e2566ac8ba43b365bb48cb8c60dfa098430e9a88f18"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.3/shake-0.19.4-e592095104d8d10af7c8c638222a4f572e4aa0d8571c63bad3429dfd672ef529/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.3-5263e456e3deb12ee532288e6660fa3141fb27d86848a24ef3f795b36bf28604","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.1.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.3","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-c339ce8bcad402d54dda48190f0160368a91b33000b6363217428f19f11b311d","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.1.0","deepseq-1.4.4.0","hashable-1.3.1.0-9d9392e26ad14e913887d96978f75dc08a0b208fc5749961c981ba1e6234b17a"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-726aff700d8b8562f31c2e2566ac8ba43b365bb48cb8c60dfa098430e9a88f18","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_4.json b/hadrian/bootstrap/plan-8_10_4.json
deleted file mode 100644
index 7babd506d7..0000000000
--- a/hadrian/bootstrap/plan-8_10_4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.1.0","pkg-name":"Cabal","pkg-version":"3.2.1.0","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.2.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-1ff9bae85831dc0b6952a57b65e5655191418d456f323fac5ce787579a76b0b0","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.1.0","containers-0.6.2.1","deepseq-1.4.4.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"base-4.14.1.0","pkg-name":"base","pkg-version":"4.14.1.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-6b0474766238ffdedd4e520e87f3571bf523807bb3d02cc63bbe924ea35d10f6","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.2.1","pkg-name":"containers","pkg-version":"0.6.2.1","depends":["array-0.5.4.0","base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.1.0","clock-0.8.2-6b0474766238ffdedd4e520e87f3571bf523807bb3d02cc63bbe924ea35d10f6","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.1.0"]},{"type":"configured","id":"filepattern-0.1.2-69fbc6cf5d277e8ff5f9dd390a3c76533614ff0e9a59297a9261364699bbb5f1","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.1.0","directory-1.3.6.0","extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.4","pkg-name":"ghc-boot-th","pkg-version":"8.10.4","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.1.0","QuickCheck-2.14.2-1ff9bae85831dc0b6952a57b65e5655191418d456f323fac5ce787579a76b0b0","base-4.14.1.0","bytestring-0.10.12.0","containers-0.6.2.1","directory-1.3.6.0","extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-20c6545ab58e09240e1fa246d8fa870a38f1b3f44de1e37fd2fd5ff0f6f94849","transformers-0.5.6.2","unordered-containers-0.2.13.0-25a25c80a274cafa04144e390819c8940e24acb3e26f2c4ae170825b997e9e77"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.4/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-d6843a1c354b03ec345a56de12b120cc2558ac419378e59c75471c08f0c9e3bb","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-90d3dc4ea8620bd8dbd6e0136cc3ba2daca5664d7545551c36ebb2df08315abb","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-31820cf9d5c13023e6017c25e0c81ec87aab55cf480ef8f5062f450bfa2fd177","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-0977c020259684c26ba34ee6fd3a18fcf317a60de826c6e599f86cd58a8d7a24","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-651422bf85670942e80cb1dd65e886868e288fcd18a389b9f0ae2d5b97672daf","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.1.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.1.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-57016f0038ed9bc68ae4ba8a0bf5334da1a65f93f4331980931e581cdbba846c","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.1.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.1.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.1.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-20c6545ab58e09240e1fa246d8fa870a38f1b3f44de1e37fd2fd5ff0f6f94849","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","filepath-1.4.2.1","filepattern-0.1.2-69fbc6cf5d277e8ff5f9dd390a3c76533614ff0e9a59297a9261364699bbb5f1","hashable-1.3.1.0-d6843a1c354b03ec345a56de12b120cc2558ac419378e59c75471c08f0c9e3bb","heaps-0.4-90d3dc4ea8620bd8dbd6e0136cc3ba2daca5664d7545551c36ebb2df08315abb","js-dgtable-0.5.2-31820cf9d5c13023e6017c25e0c81ec87aab55cf480ef8f5062f450bfa2fd177","js-flot-0.8.3-0977c020259684c26ba34ee6fd3a18fcf317a60de826c6e599f86cd58a8d7a24","js-jquery-3.3.1-651422bf85670942e80cb1dd65e886868e288fcd18a389b9f0ae2d5b97672daf","primitive-0.7.1.0-57016f0038ed9bc68ae4ba8a0bf5334da1a65f93f4331980931e581cdbba846c","process-1.6.9.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-25a25c80a274cafa04144e390819c8940e24acb3e26f2c4ae170825b997e9e77","utf8-string-1.0.2-57fac2057b6823357928c7f7eaed369df519e527346522b28830a792a7e4423e"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.4-ae5ec51b1b7f2b7cb1e6cd8d971dc36c890ce50e50ac0a990b9e62f777583125","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-47a411b8b20392deafff7b1d1e093c2c91827d2b1bc36a44706a945815afa270","filepath-1.4.2.1","filepattern-0.1.2-69fbc6cf5d277e8ff5f9dd390a3c76533614ff0e9a59297a9261364699bbb5f1","hashable-1.3.1.0-d6843a1c354b03ec345a56de12b120cc2558ac419378e59c75471c08f0c9e3bb","heaps-0.4-90d3dc4ea8620bd8dbd6e0136cc3ba2daca5664d7545551c36ebb2df08315abb","js-dgtable-0.5.2-31820cf9d5c13023e6017c25e0c81ec87aab55cf480ef8f5062f450bfa2fd177","js-flot-0.8.3-0977c020259684c26ba34ee6fd3a18fcf317a60de826c6e599f86cd58a8d7a24","js-jquery-3.3.1-651422bf85670942e80cb1dd65e886868e288fcd18a389b9f0ae2d5b97672daf","primitive-0.7.1.0-57016f0038ed9bc68ae4ba8a0bf5334da1a65f93f4331980931e581cdbba846c","process-1.6.9.0","random-1.2.0-821b8d1dbfd6e71abc1db66ac7846a36093b1f4ea533fe3af624349f163573ad","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-25a25c80a274cafa04144e390819c8940e24acb3e26f2c4ae170825b997e9e77","utf8-string-1.0.2-57fac2057b6823357928c7f7eaed369df519e527346522b28830a792a7e4423e"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.4/shake-0.19.4-ae5ec51b1b7f2b7cb1e6cd8d971dc36c890ce50e50ac0a990b9e62f777583125/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.3-50ec55b0f09ac3f0d066c466987b99709f10e5609d166e51ea3e13c78b1d5ed2","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.1.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.1.0","ghc-boot-th-8.10.4","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.1.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.1.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.1.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-25a25c80a274cafa04144e390819c8940e24acb3e26f2c4ae170825b997e9e77","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.1.0","deepseq-1.4.4.0","hashable-1.3.1.0-d6843a1c354b03ec345a56de12b120cc2558ac419378e59c75471c08f0c9e3bb"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-57fac2057b6823357928c7f7eaed369df519e527346522b28830a792a7e4423e","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.1.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_5.json b/hadrian/bootstrap/plan-8_10_5.json
deleted file mode 100644
index b8002cbb76..0000000000
--- a/hadrian/bootstrap/plan-8_10_5.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-8.10.5","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.1.0","pkg-name":"Cabal","pkg-version":"3.2.1.0","depends":["array-0.5.4.0","base-4.14.2.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.4.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.9.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-3c87942fc5929dee6aa51ecc936079cd95dd7d471fde77d64ac4579578541913","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.2.0","containers-0.6.4.1","deepseq-1.4.4.0","random-1.2.0-5168e89137eb4ea0630d1d72c47f7987740be427db4e07b39ed7242279cf06fc","splitmix-0.1.0.3-c3b36566ac6fe5013261bb6b4e50474d306e4a9838c78dd76bfe3359275b09f1","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.2.0"]},{"type":"pre-existing","id":"base-4.14.2.0","pkg-name":"base","pkg-version":"4.14.2.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.2.0","bytestring-0.10.12.0","containers-0.6.4.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.2.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-55a22a153f26cf53b6b654282e8c15f783ef2b53faacc8360d4c491d4e07409a","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.4.1","pkg-name":"containers","pkg-version":"0.6.4.1","depends":["array-0.5.4.0","base-4.14.2.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.2.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.2.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.2.0","clock-0.8.2-55a22a153f26cf53b6b654282e8c15f783ef2b53faacc8360d4c491d4e07409a","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.9.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.2.0"]},{"type":"configured","id":"filepattern-0.1.2-b4cad4464f1df6bd2c46516feb4704875ca9ff08d048b2c98426a9455152d297","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.2.0","directory-1.3.6.0","extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.5","pkg-name":"ghc-boot-th","pkg-version":"8.10.5","depends":["base-4.14.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.1.0","QuickCheck-2.14.2-3c87942fc5929dee6aa51ecc936079cd95dd7d471fde77d64ac4579578541913","base-4.14.2.0","bytestring-0.10.12.0","containers-0.6.4.1","directory-1.3.6.0","extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-e21a01342ca240404369c44846f296e31657c42fed14a4428dc585df7f46d91c","transformers-0.5.6.2","unordered-containers-0.2.13.0-54ccd9301c36e57d00ecae5b9a167fed0f1b0ee3950e328323bc604f35f98357"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-5c8079f097ccb4a07ade79412359d99109870c422180b241405e865c08d1d256","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.2.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-bc3cd4eac5ca091f62c7945101f6ecdd6fe44a077745e2ead12dd6b9d52ab6bc","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-7db9737be07ccec17708b5ca1b40401ce1090735eb90ba973558d26060497844","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-8878a9bacfa61fc94b6d648168d753a135d51d736c0a2009340ea368ddbb83f4","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-ed9d83375b124b49d06e3787af95cad66ab1ca9d1b374e8fa3e0b8b9ca368258","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.2.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.2.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.2.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-df7304295e6acb489b482bd664f64a1c3559a7f8db0b27cc58d442850043cbeb","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.2.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.9.0","pkg-name":"process","pkg-version":"1.6.9.0","depends":["base-4.14.2.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-5168e89137eb4ea0630d1d72c47f7987740be427db4e07b39ed7242279cf06fc","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.2.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-c3b36566ac6fe5013261bb6b4e50474d306e4a9838c78dd76bfe3359275b09f1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.1","depends":[]},{"type":"configured","id":"shake-0.19.4-92e4d38ca4821d6fa5e820c36603f31e84450b23dd3dc59b1072cc1cde8d7590","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.2.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","filepath-1.4.2.1","filepattern-0.1.2-b4cad4464f1df6bd2c46516feb4704875ca9ff08d048b2c98426a9455152d297","hashable-1.3.1.0-5c8079f097ccb4a07ade79412359d99109870c422180b241405e865c08d1d256","heaps-0.4-bc3cd4eac5ca091f62c7945101f6ecdd6fe44a077745e2ead12dd6b9d52ab6bc","js-dgtable-0.5.2-7db9737be07ccec17708b5ca1b40401ce1090735eb90ba973558d26060497844","js-flot-0.8.3-8878a9bacfa61fc94b6d648168d753a135d51d736c0a2009340ea368ddbb83f4","js-jquery-3.3.1-ed9d83375b124b49d06e3787af95cad66ab1ca9d1b374e8fa3e0b8b9ca368258","primitive-0.7.1.0-df7304295e6acb489b482bd664f64a1c3559a7f8db0b27cc58d442850043cbeb","process-1.6.9.0","random-1.2.0-5168e89137eb4ea0630d1d72c47f7987740be427db4e07b39ed7242279cf06fc","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-54ccd9301c36e57d00ecae5b9a167fed0f1b0ee3950e328323bc604f35f98357","utf8-string-1.0.2-b29a25454cb19836e8343db96d90d2832e49fbc0bc91247893aa677d97ddb24e"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-8.10.5/shake-0.19.4-92e4d38ca4821d6fa5e820c36603f31e84450b23dd3dc59b1072cc1cde8d7590/bin/shake"},{"type":"configured","id":"shake-0.19.4-e21a01342ca240404369c44846f296e31657c42fed14a4428dc585df7f46d91c","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.2.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-f7e2bbebfc54b6659688f9db579c8c73dd1ba8ab1142cd720c09e215f2be79f5","filepath-1.4.2.1","filepattern-0.1.2-b4cad4464f1df6bd2c46516feb4704875ca9ff08d048b2c98426a9455152d297","hashable-1.3.1.0-5c8079f097ccb4a07ade79412359d99109870c422180b241405e865c08d1d256","heaps-0.4-bc3cd4eac5ca091f62c7945101f6ecdd6fe44a077745e2ead12dd6b9d52ab6bc","js-dgtable-0.5.2-7db9737be07ccec17708b5ca1b40401ce1090735eb90ba973558d26060497844","js-flot-0.8.3-8878a9bacfa61fc94b6d648168d753a135d51d736c0a2009340ea368ddbb83f4","js-jquery-3.3.1-ed9d83375b124b49d06e3787af95cad66ab1ca9d1b374e8fa3e0b8b9ca368258","primitive-0.7.1.0-df7304295e6acb489b482bd664f64a1c3559a7f8db0b27cc58d442850043cbeb","process-1.6.9.0","random-1.2.0-5168e89137eb4ea0630d1d72c47f7987740be427db4e07b39ed7242279cf06fc","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-54ccd9301c36e57d00ecae5b9a167fed0f1b0ee3950e328323bc604f35f98357","utf8-string-1.0.2-b29a25454cb19836e8343db96d90d2832e49fbc0bc91247893aa677d97ddb24e"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"splitmix-0.1.0.3-c3b36566ac6fe5013261bb6b4e50474d306e4a9838c78dd76bfe3359275b09f1","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.2.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.2.0","ghc-boot-th-8.10.5","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.2.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.2.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.2.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.2.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-54ccd9301c36e57d00ecae5b9a167fed0f1b0ee3950e328323bc604f35f98357","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.2.0","deepseq-1.4.4.0","hashable-1.3.1.0-5c8079f097ccb4a07ade79412359d99109870c422180b241405e865c08d1d256"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-b29a25454cb19836e8343db96d90d2832e49fbc0bc91247893aa677d97ddb24e","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.2.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-8_10_7.json b/hadrian/bootstrap/plan-8_10_7.json
deleted file mode 100644
index da1a970d1c..0000000000
--- a/hadrian/bootstrap/plan-8_10_7.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.6.0.0","cabal-lib-version":"3.6.1.0","compiler-id":"ghc-8.10.7","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.2.1.0","pkg-name":"Cabal","pkg-version":"3.2.1.0","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","containers-0.6.5.1","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-1ab4fade23a39bdfa4bc08a060cf2ab9229069e612057481b6330cd9a452d0a7","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.14.3.0","containers-0.6.5.1","deepseq-1.4.4.0","random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","splitmix-0.1.0.3-ea3085a505c71722909b9aaac572a309c1a1430c785391ad5df25c21334bd11f","template-haskell-2.16.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"base-4.14.3.0","pkg-name":"base","pkg-version":"4.14.3.0","depends":["ghc-prim-0.6.1","integer-gmp-1.0.3.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.0","pkg-name":"bytestring","pkg-version":"0.10.12.0","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0"]},{"type":"configured","id":"clock-0.8.2-d0dc2384503c95726509e70e7531bd527ee2a618757ad555267b66af6639fd46","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"deepseq-1.4.4.0","pkg-name":"deepseq","pkg-version":"1.4.4.0","depends":["array-0.5.4.0","base-4.14.3.0"]},{"type":"pre-existing","id":"directory-1.3.6.0","pkg-name":"directory","pkg-version":"1.3.6.0","depends":["base-4.14.3.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.14.3.0","clock-0.8.2-d0dc2384503c95726509e70e7531bd527ee2a618757ad555267b66af6639fd46","directory-1.3.6.0","filepath-1.4.2.1","process-1.6.13.2","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.14.3.0"]},{"type":"configured","id":"filepattern-0.1.2-6cea41cc4733b58a07fd91659973df5fe1833632c32faf1ff101197c1a17cdbf","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.14.3.0","directory-1.3.6.0","extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-boot-th-8.10.7","pkg-name":"ghc-boot-th","pkg-version":"8.10.7","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.6.1","pkg-name":"ghc-prim","pkg-version":"0.6.1","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/zubin/ghcs/hadrian/hadrian/."},"dist-dir":"/home/zubin/ghcs/hadrian/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.7/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.2.1.0","QuickCheck-2.14.2-1ab4fade23a39bdfa4bc08a060cf2ab9229069e612057481b6330cd9a452d0a7","base-4.14.3.0","bytestring-0.10.12.0","containers-0.6.5.1","directory-1.3.6.0","extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-1b5ee53f982f6a7a27ff48f4dd3394ec132b4a5f7bc220b8ff9a2f4c53696f15","transformers-0.5.6.2","unordered-containers-0.2.13.0-58e16f1c5409e3f5d3eeabf16aadb5657e6bc5a6faec0126c75e8e7cc74f3945"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/zubin/ghcs/hadrian/hadrian/dist-newstyle/build/x86_64-linux/ghc-8.10.7/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-1a2b1a1b7cddf830807847c6367d9ae80ef1db199fe34b5ec14f4a758bbd6657","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"integer-gmp-1.0.3.0","pkg-name":"integer-gmp","pkg-version":"1.0.3.0","depends":["ghc-prim-0.6.1"]},{"type":"configured","id":"js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.14.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.14.3.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.14.3.0","bytestring-0.10.12.0","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.14.3.0","deepseq-1.4.4.0","ghc-prim-0.6.1"]},{"type":"configured","id":"primitive-0.7.1.0-24e5fe46f21fa909242c62c01a9dc73651664fea156afd47a7a236612e5bff26","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.14.3.0","deepseq-1.4.4.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.14.3.0","deepseq-1.4.4.0","directory-1.3.6.0","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.14.3.0","bytestring-0.10.12.0","deepseq-1.4.4.0","mtl-2.2.2","splitmix-0.1.0.3-ea3085a505c71722909b9aaac572a309c1a1430c785391ad5df25c21334bd11f"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.1","depends":[]},{"type":"configured","id":"shake-0.19.4-1b5ee53f982f6a7a27ff48f4dd3394ec132b4a5f7bc220b8ff9a2f4c53696f15","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","filepath-1.4.2.1","filepattern-0.1.2-6cea41cc4733b58a07fd91659973df5fe1833632c32faf1ff101197c1a17cdbf","hashable-1.3.1.0-1a2b1a1b7cddf830807847c6367d9ae80ef1db199fe34b5ec14f4a758bbd6657","heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","primitive-0.7.1.0-24e5fe46f21fa909242c62c01a9dc73651664fea156afd47a7a236612e5bff26","process-1.6.13.2","random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-58e16f1c5409e3f5d3eeabf16aadb5657e6bc5a6faec0126c75e8e7cc74f3945","utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.4-e-shake-bb8241813adf3bcaf65a8bb63b7d51a0c2b766952b74366c02ac48e6628adc8b","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","directory-1.3.6.0","extra-1.7.9-d67225380b6532ca2bfa5e82183ab2c561dc7aa0a4c67e028fad508894aaab28","filepath-1.4.2.1","filepattern-0.1.2-6cea41cc4733b58a07fd91659973df5fe1833632c32faf1ff101197c1a17cdbf","hashable-1.3.1.0-1a2b1a1b7cddf830807847c6367d9ae80ef1db199fe34b5ec14f4a758bbd6657","heaps-0.4-7cd7f81fe8e434fb927c09a81c78e17029735eb735dadd2e0095eccad2f28315","js-dgtable-0.5.2-611975c124efb7e3dff07d621d374704168c1a98c4cd9abc0371f555da021a8f","js-flot-0.8.3-163b76cdce2eb5fca3a158e8cc58c1e0a0378fc57e814b8623da9effed6e9420","js-jquery-3.3.1-4b07853b823d103c8e45e6bee9e6183531d323a3c9cb9656aae62acb0f43e44e","primitive-0.7.1.0-24e5fe46f21fa909242c62c01a9dc73651664fea156afd47a7a236612e5bff26","process-1.6.13.2","random-1.2.0-2243011942dde842d48362369219b18eb7cc062f1688de6916b30e595e924a4f","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-58e16f1c5409e3f5d3eeabf16aadb5657e6bc5a6faec0126c75e8e7cc74f3945","utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/zubin/.cabal/store/ghc-8.10.7/shake-0.19.4-e-shake-bb8241813adf3bcaf65a8bb63b7d51a0c2b766952b74366c02ac48e6628adc8b/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.3-ea3085a505c71722909b9aaac572a309c1a1430c785391ad5df25c21334bd11f","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.14.3.0","deepseq-1.4.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.16.0.0","pkg-name":"template-haskell","pkg-version":"2.16.0.0","depends":["base-4.14.3.0","ghc-boot-th-8.10.7","ghc-prim-0.6.1","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.14.3.0","binary-0.8.8.0","bytestring-0.10.12.0","deepseq-1.4.4.0","ghc-prim-0.6.1","integer-gmp-1.0.3.0","template-haskell-2.16.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.14.3.0","deepseq-1.4.4.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.14.3.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.14.3.0","bytestring-0.10.12.0","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-58e16f1c5409e3f5d3eeabf16aadb5657e6bc5a6faec0126c75e8e7cc74f3945","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.14.3.0","deepseq-1.4.4.0","hashable-1.3.1.0-1a2b1a1b7cddf830807847c6367d9ae80ef1db199fe34b5ec14f4a758bbd6657"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-e0dec0cb269d870cf4ce7c7046b52e087c28eb892bd20000fda419f3259c0719","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.14.3.0","bytestring-0.10.12.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_0_1.json b/hadrian/bootstrap/plan-9_0_1.json
deleted file mode 100644
index ef3fd63776..0000000000
--- a/hadrian/bootstrap/plan-9_0_1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.2.0.0","cabal-lib-version":"3.2.0.0","compiler-id":"ghc-9.0.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.4.0.0","pkg-name":"Cabal","pkg-version":"3.4.0.0","depends":["array-0.5.4.0","base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","containers-0.6.4.1","deepseq-1.4.5.0","directory-1.3.6.1","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.11.0","text-1.2.4.1","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-1a5ced7bda7b07a7fbcf3b2c9a631d6d6d6f31b01674e1cf2aa430001b83e69e","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.15.0.0","containers-0.6.4.1","deepseq-1.4.5.0","random-1.2.0-42695b2d92a156e2d79d6b1353900ab25e2ede55fe7b46738e4c426308e80acb","splitmix-0.1.0.3-cc5e2af2f495a04fe592d927ff5c9ccab99979d46d7e1a1c79f457dc2efcf613","template-haskell-2.17.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"base-4.15.0.0","pkg-name":"base","pkg-version":"4.15.0.0","depends":["ghc-bignum-1.0","ghc-prim-0.7.0","rts"]},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.15.0.0","bytestring-0.10.12.1","containers-0.6.4.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.1","pkg-name":"bytestring","pkg-version":"0.10.12.1","depends":["base-4.15.0.0","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-prim-0.7.0"]},{"type":"configured","id":"clock-0.8.2-94d35da6efced15094e29084a5f451e0789b94c07444085b3e66bf357595f6a7","pkg-name":"clock","pkg-version":"0.8.2","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","pkg-src-sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.4.1","pkg-name":"containers","pkg-version":"0.6.4.1","depends":["array-0.5.4.0","base-4.15.0.0","deepseq-1.4.5.0"]},{"type":"pre-existing","id":"deepseq-1.4.5.0","pkg-name":"deepseq","pkg-version":"1.4.5.0","depends":["array-0.5.4.0","base-4.15.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.1","pkg-name":"directory","pkg-version":"1.3.6.1","depends":["base-4.15.0.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","pkg-name":"extra","pkg-version":"1.7.9","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","pkg-src-sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","depends":["base-4.15.0.0","clock-0.8.2-94d35da6efced15094e29084a5f451e0789b94c07444085b3e66bf357595f6a7","directory-1.3.6.1","filepath-1.4.2.1","process-1.6.11.0","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.15.0.0"]},{"type":"configured","id":"filepattern-0.1.2-e1a604f2fb037766dd8dedcdf4412a1060873283818f5babf6c842fcef309004","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.15.0.0","directory-1.3.6.1","extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.0","pkg-name":"ghc-bignum","pkg-version":"1.0","depends":["ghc-prim-0.7.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.0.1","pkg-name":"ghc-boot-th","pkg-version":"9.0.1","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.7.0","pkg-name":"ghc-prim","pkg-version":"0.7.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-hadrian-bootstrap/hadrian/."},"dist-dir":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.1/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.4.0.0","QuickCheck-2.14.2-1a5ced7bda7b07a7fbcf3b2c9a631d6d6d6f31b01674e1cf2aa430001b83e69e","base-4.15.0.0","bytestring-0.10.12.1","containers-0.6.4.1","directory-1.3.6.1","extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.4-14804ff74b1678b050130a6b940d7752bedd32673aae21cd5eae957bb9cfee11","transformers-0.5.6.2","unordered-containers-0.2.13.0-d5b41b4da4f1acde715ed2aaecf225ba2e02f6b2ee0b14fccdb2e575c6fb1e86"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-hadrian-bootstrap/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.3.1.0-a92c75af1fea2a65b2365eb935f4a4802dac5057158f909650e1011dc3a01a23","pkg-name":"hashable","pkg-version":"1.3.1.0","flags":{"integer-gmp":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","pkg-src-sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","depends":["base-4.15.0.0","bytestring-0.10.12.1","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-prim-0.7.0","text-1.2.4.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.15.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.15.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.15.0.0","bytestring-0.10.12.1","mtl-2.2.2","text-1.2.4.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.15.0.0","deepseq-1.4.5.0","ghc-prim-0.7.0"]},{"type":"configured","id":"primitive-0.7.1.0-f003beddf0fc9d04aaf34af7ddb2d21771469f6e4225ce5a793266b89bfbb923","pkg-name":"primitive","pkg-version":"0.7.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f6357d5720c1c665096c3e011467daf443198b786a708d2ff926958a24d508d4","pkg-src-sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","depends":["base-4.15.0.0","deepseq-1.4.5.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.11.0","pkg-name":"process","pkg-version":"1.6.11.0","depends":["base-4.15.0.0","deepseq-1.4.5.0","directory-1.3.6.1","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.0-42695b2d92a156e2d79d6b1353900ab25e2ede55fe7b46738e4c426308e80acb","pkg-name":"random","pkg-version":"1.2.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"30d72df4cc1d2fe2d445c88f0ee9d21965af7ce86660c43a6c32a6a1d90d51c9","pkg-src-sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","depends":["base-4.15.0.0","bytestring-0.10.12.1","deepseq-1.4.5.0","mtl-2.2.2","splitmix-0.1.0.3-cc5e2af2f495a04fe592d927ff5c9ccab99979d46d7e1a1c79f457dc2efcf613"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0","depends":[]},{"type":"configured","id":"shake-0.19.4-14804ff74b1678b050130a6b940d7752bedd32673aae21cd5eae957bb9cfee11","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","directory-1.3.6.1","extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","filepath-1.4.2.1","filepattern-0.1.2-e1a604f2fb037766dd8dedcdf4412a1060873283818f5babf6c842fcef309004","hashable-1.3.1.0-a92c75af1fea2a65b2365eb935f4a4802dac5057158f909650e1011dc3a01a23","heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","primitive-0.7.1.0-f003beddf0fc9d04aaf34af7ddb2d21771469f6e4225ce5a793266b89bfbb923","process-1.6.11.0","random-1.2.0-42695b2d92a156e2d79d6b1353900ab25e2ede55fe7b46738e4c426308e80acb","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-d5b41b4da4f1acde715ed2aaecf225ba2e02f6b2ee0b14fccdb2e575c6fb1e86","utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.4-63dd3995f97dd9418e130cf69737e0a0b507ae692b3f4e4f682434074d6a498c","pkg-name":"shake","pkg-version":"0.19.4","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","pkg-src-sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","depends":["base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","directory-1.3.6.1","extra-1.7.9-3b5071fb639982c0300593c21906006486c82cfbcfa86fb8452c5ad59c066e91","filepath-1.4.2.1","filepattern-0.1.2-e1a604f2fb037766dd8dedcdf4412a1060873283818f5babf6c842fcef309004","hashable-1.3.1.0-a92c75af1fea2a65b2365eb935f4a4802dac5057158f909650e1011dc3a01a23","heaps-0.4-87888aff9113a58a699c90be7814d8c23bf04f5a5c526ba9db4c06bfd4975096","js-dgtable-0.5.2-de91c94b5176a9d05a633a22beb7400ea96ff2dd1108d33bc77eff04a92ba35a","js-flot-0.8.3-4d1035c07927d31bcbd757690f3cb31c131d26dcb3dc160579d9e8cb05d196e8","js-jquery-3.3.1-3fe70afe7299ef4d6c19c49e55872aec043229cfd82d521c08678f06d388613b","primitive-0.7.1.0-f003beddf0fc9d04aaf34af7ddb2d21771469f6e4225ce5a793266b89bfbb923","process-1.6.11.0","random-1.2.0-42695b2d92a156e2d79d6b1353900ab25e2ede55fe7b46738e4c426308e80acb","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.13.0-d5b41b4da4f1acde715ed2aaecf225ba2e02f6b2ee0b14fccdb2e575c6fb1e86","utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.0.1/shake-0.19.4-63dd3995f97dd9418e130cf69737e0a0b507ae692b3f4e4f682434074d6a498c/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.3-cc5e2af2f495a04fe592d927ff5c9ccab99979d46d7e1a1c79f457dc2efcf613","pkg-name":"splitmix","pkg-version":"0.1.0.3","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","pkg-src-sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","depends":["base-4.15.0.0","deepseq-1.4.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.17.0.0","pkg-name":"template-haskell","pkg-version":"2.17.0.0","depends":["base-4.15.0.0","ghc-boot-th-9.0.1","ghc-prim-0.7.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.4.1","pkg-name":"text","pkg-version":"1.2.4.1","depends":["array-0.5.4.0","base-4.15.0.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","ghc-bignum-1.0","ghc-prim-0.7.0","template-haskell-2.17.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.15.0.0","deepseq-1.4.5.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.15.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.15.0.0","bytestring-0.10.12.1","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.13.0-d5b41b4da4f1acde715ed2aaecf225ba2e02f6b2ee0b14fccdb2e575c6fb1e86","pkg-name":"unordered-containers","pkg-version":"0.2.13.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","pkg-src-sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","depends":["base-4.15.0.0","deepseq-1.4.5.0","hashable-1.3.1.0-a92c75af1fea2a65b2365eb935f4a4802dac5057158f909650e1011dc3a01a23"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-062c687b43b30db818356f6c18bf5308582996ce4363a46aa42090181ecf1b53","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.15.0.0","bytestring-0.10.12.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_0_2.json b/hadrian/bootstrap/plan-9_0_2.json
deleted file mode 100644
index 268bf8eae8..0000000000
--- a/hadrian/bootstrap/plan-9_0_2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.2.0","compiler-id":"ghc-9.0.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.4.1.0","pkg-name":"Cabal","pkg-version":"3.4.1.0","depends":["array-0.5.4.0","base-4.15.1.0","binary-0.8.8.0","bytestring-0.10.12.1","containers-0.6.4.1","deepseq-1.4.5.0","directory-1.3.6.2","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.5.0","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-0c7f5115b9190e0c296f816bfcd00c19cd356a8b5211cf667467a3d51faa6351","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.15.1.0","containers-0.6.4.1","deepseq-1.4.5.0","random-1.2.1-d27ababe61b59e43bce417c7ca9e4ccdeb091336ddc42085ceef219350a8bfe4","splitmix-0.1.0.4-6525e81601e0d606db968cc7160e17855e9a3689f7d115d7c7cdee8c25faf71a","template-haskell-2.17.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.15.1.0"]},{"type":"pre-existing","id":"base-4.15.1.0","pkg-name":"base","pkg-version":"4.15.1.0","depends":["ghc-bignum-1.1","ghc-prim-0.7.0","rts"]},{"type":"configured","id":"base-orphans-0.8.6-6928e2cbc0865b26493d937a1da219d844cc78c58d3a8879b19e0c09f607cc85","pkg-name":"base-orphans","pkg-version":"0.8.6","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"eb6758d0160d607e0c45dbd6b196f515b9a589fd4f6d2f926929dd5d56282d37","pkg-src-sha256":"20a21c4b7adb0fd844b25e196241467406a28286b021f9b7a082ab03fa8015eb","depends":["base-4.15.1.0","ghc-prim-0.7.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"binary-0.8.8.0","pkg-name":"binary","pkg-version":"0.8.8.0","depends":["array-0.5.4.0","base-4.15.1.0","bytestring-0.10.12.1","containers-0.6.4.1"]},{"type":"pre-existing","id":"bytestring-0.10.12.1","pkg-name":"bytestring","pkg-version":"0.10.12.1","depends":["base-4.15.1.0","deepseq-1.4.5.0","ghc-bignum-1.1","ghc-prim-0.7.0"]},{"type":"configured","id":"clock-0.8.3-12cb68ccaf6e6206378be8082c1ee7435ae9bbce4022f1012bd6cd3e5c8fc2aa","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.15.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.4.1","pkg-name":"containers","pkg-version":"0.6.4.1","depends":["array-0.5.4.0","base-4.15.1.0","deepseq-1.4.5.0"]},{"type":"pre-existing","id":"deepseq-1.4.5.0","pkg-name":"deepseq","pkg-version":"1.4.5.0","depends":["array-0.5.4.0","base-4.15.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.15.1.0","filepath-1.4.2.1","time-1.9.3","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.10-07f1e6090cfd78d584aef1cc9e00d2d12d477212637814e0f3f839f056838021","pkg-name":"extra","pkg-version":"1.7.10","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","pkg-src-sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","depends":["base-4.15.1.0","clock-0.8.3-12cb68ccaf6e6206378be8082c1ee7435ae9bbce4022f1012bd6cd3e5c8fc2aa","directory-1.3.6.2","filepath-1.4.2.1","process-1.6.13.2","time-1.9.3","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.15.1.0"]},{"type":"configured","id":"filepattern-0.1.2-29ae84a9d2d45547b09a666ceacf01b2a0398e60fff757efd3c88b884cd2ae44","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.15.1.0","directory-1.3.6.2","extra-1.7.10-07f1e6090cfd78d584aef1cc9e00d2d12d477212637814e0f3f839f056838021","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.1","pkg-name":"ghc-bignum","pkg-version":"1.1","depends":["ghc-prim-0.7.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.0.2","pkg-name":"ghc-boot-th","pkg-version":"9.0.2","depends":["base-4.15.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.7.0","pkg-name":"ghc-prim","pkg-version":"0.7.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/zubin/ghcs/exprType/hadrian/."},"dist-dir":"/home/zubin/ghcs/exprType/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.2/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.4.1.0","QuickCheck-2.14.2-0c7f5115b9190e0c296f816bfcd00c19cd356a8b5211cf667467a3d51faa6351","base-4.15.1.0","bytestring-0.10.12.1","containers-0.6.4.1","directory-1.3.6.2","extra-1.7.10-07f1e6090cfd78d584aef1cc9e00d2d12d477212637814e0f3f839f056838021","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.6-aaad26d7d126897dd5329f71b4827e707ceefbf13d0538fc284eb6c851f83531","transformers-0.5.6.2","unordered-containers-0.2.17.0-059392114c64a2037cb1c4231fe3c1bac48814b15b70e5f5c69d755db5768fa4"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/zubin/ghcs/exprType/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.0.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.0.2-59e00660091e43ec8761dfc344b6277d0d08a691d5fab8910b4b823eb7d0c114","pkg-name":"hashable","pkg-version":"1.4.0.2","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","pkg-src-sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","depends":["base-4.15.1.0","base-orphans-0.8.6-6928e2cbc0865b26493d937a1da219d844cc78c58d3a8879b19e0c09f607cc85","bytestring-0.10.12.1","containers-0.6.4.1","deepseq-1.4.5.0","ghc-bignum-1.1","ghc-prim-0.7.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-5a5d757a1f415dd8cf44cae3f2127630fafea8b7dfaaf7b1f1e50b29ab6d81f7","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.15.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-00948f19851b5a19e06abe310d85f44dd02149236040990eefd7f1f61d8711f4","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.15.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-9d49e93c35d520567e1b39e427d22bebd06e6fa46a0b671f1858a19f7b49ea8f","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.15.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-59abd1e8e36bbd54c56200aa41b09c4af9f87316a92641129bcfcdf50b71d15e","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.15.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.15.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.15.1.0","bytestring-0.10.12.1","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.15.1.0","deepseq-1.4.5.0","ghc-prim-0.7.0"]},{"type":"configured","id":"primitive-0.7.3.0-3c5fbf69f38da257385c73a8d05d0f992ae3e633b8624c52bf91afdaa10bae06","pkg-name":"primitive","pkg-version":"0.7.3.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","pkg-src-sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","depends":["base-4.15.1.0","deepseq-1.4.5.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.15.1.0","deepseq-1.4.5.0","directory-1.3.6.2","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-d27ababe61b59e43bce417c7ca9e4ccdeb091336ddc42085ceef219350a8bfe4","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.15.1.0","bytestring-0.10.12.1","deepseq-1.4.5.0","mtl-2.2.2","splitmix-0.1.0.4-6525e81601e0d606db968cc7160e17855e9a3689f7d115d7c7cdee8c25faf71a"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-aaad26d7d126897dd5329f71b4827e707ceefbf13d0538fc284eb6c851f83531","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.15.1.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","directory-1.3.6.2","extra-1.7.10-07f1e6090cfd78d584aef1cc9e00d2d12d477212637814e0f3f839f056838021","filepath-1.4.2.1","filepattern-0.1.2-29ae84a9d2d45547b09a666ceacf01b2a0398e60fff757efd3c88b884cd2ae44","hashable-1.4.0.2-59e00660091e43ec8761dfc344b6277d0d08a691d5fab8910b4b823eb7d0c114","heaps-0.4-5a5d757a1f415dd8cf44cae3f2127630fafea8b7dfaaf7b1f1e50b29ab6d81f7","js-dgtable-0.5.2-00948f19851b5a19e06abe310d85f44dd02149236040990eefd7f1f61d8711f4","js-flot-0.8.3-9d49e93c35d520567e1b39e427d22bebd06e6fa46a0b671f1858a19f7b49ea8f","js-jquery-3.3.1-59abd1e8e36bbd54c56200aa41b09c4af9f87316a92641129bcfcdf50b71d15e","primitive-0.7.3.0-3c5fbf69f38da257385c73a8d05d0f992ae3e633b8624c52bf91afdaa10bae06","process-1.6.13.2","random-1.2.1-d27ababe61b59e43bce417c7ca9e4ccdeb091336ddc42085ceef219350a8bfe4","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.17.0-059392114c64a2037cb1c4231fe3c1bac48814b15b70e5f5c69d755db5768fa4","utf8-string-1.0.2-c06b5e9bb83f541982eefbf97cd6fad877f7521df30b15f3c8072cc386bd7ffd"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-1b9eb4d105917fd177cf8e471a4079fb5e947ab469d4874e736abd8014328c83","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.15.1.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","directory-1.3.6.2","extra-1.7.10-07f1e6090cfd78d584aef1cc9e00d2d12d477212637814e0f3f839f056838021","filepath-1.4.2.1","filepattern-0.1.2-29ae84a9d2d45547b09a666ceacf01b2a0398e60fff757efd3c88b884cd2ae44","hashable-1.4.0.2-59e00660091e43ec8761dfc344b6277d0d08a691d5fab8910b4b823eb7d0c114","heaps-0.4-5a5d757a1f415dd8cf44cae3f2127630fafea8b7dfaaf7b1f1e50b29ab6d81f7","js-dgtable-0.5.2-00948f19851b5a19e06abe310d85f44dd02149236040990eefd7f1f61d8711f4","js-flot-0.8.3-9d49e93c35d520567e1b39e427d22bebd06e6fa46a0b671f1858a19f7b49ea8f","js-jquery-3.3.1-59abd1e8e36bbd54c56200aa41b09c4af9f87316a92641129bcfcdf50b71d15e","primitive-0.7.3.0-3c5fbf69f38da257385c73a8d05d0f992ae3e633b8624c52bf91afdaa10bae06","process-1.6.13.2","random-1.2.1-d27ababe61b59e43bce417c7ca9e4ccdeb091336ddc42085ceef219350a8bfe4","time-1.9.3","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.17.0-059392114c64a2037cb1c4231fe3c1bac48814b15b70e5f5c69d755db5768fa4","utf8-string-1.0.2-c06b5e9bb83f541982eefbf97cd6fad877f7521df30b15f3c8072cc386bd7ffd"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/zubin/.cabal/store/ghc-9.0.2/shake-0.19.6-e-shake-1b9eb4d105917fd177cf8e471a4079fb5e947ab469d4874e736abd8014328c83/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-6525e81601e0d606db968cc7160e17855e9a3689f7d115d7c7cdee8c25faf71a","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.15.1.0","deepseq-1.4.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.17.0.0","pkg-name":"template-haskell","pkg-version":"2.17.0.0","depends":["base-4.15.1.0","ghc-boot-th-9.0.2","ghc-prim-0.7.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.15.1.0","binary-0.8.8.0","bytestring-0.10.12.1","deepseq-1.4.5.0","ghc-prim-0.7.0","template-haskell-2.17.0.0"]},{"type":"pre-existing","id":"time-1.9.3","pkg-name":"time","pkg-version":"1.9.3","depends":["base-4.15.1.0","deepseq-1.4.5.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.15.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.15.1.0","bytestring-0.10.12.1","time-1.9.3"]},{"type":"configured","id":"unordered-containers-0.2.17.0-059392114c64a2037cb1c4231fe3c1bac48814b15b70e5f5c69d755db5768fa4","pkg-name":"unordered-containers","pkg-version":"0.2.17.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50d72c7945df6389d0bb683dea1c7529b28b26f8c632de186437d1e866af8cf8","pkg-src-sha256":"c49e3a6e0b6aae68c035b163e54f3521d1d65d0a3543fa46eaeddc97b4375a17","depends":["base-4.15.1.0","deepseq-1.4.5.0","hashable-1.4.0.2-59e00660091e43ec8761dfc344b6277d0d08a691d5fab8910b4b823eb7d0c114","template-haskell-2.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-c06b5e9bb83f541982eefbf97cd6fad877f7521df30b15f3c8072cc386bd7ffd","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.15.1.0","bytestring-0.10.12.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_2_1.json b/hadrian/bootstrap/plan-9_2_1.json
new file mode 100644
index 0000000000..4072efffab
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_2_1.json
@@ -0,0 +1 @@
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.3.0","compiler-id":"ghc-9.2.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.6.0.0","pkg-name":"Cabal","pkg-version":"3.6.0.0","depends":["array-0.5.4.0","base-4.16.0.0","binary-0.8.9.0","bytestring-0.11.1.0","containers-0.6.5.1","deepseq-1.4.6.0","directory-1.3.6.2","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-d206773042205de1060139757d2714b6fc1f3b1ff5294e611a076f708c2c2939","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.16.0.0","containers-0.6.5.1","deepseq-1.4.6.0","random-1.2.1.1-97ce1668cc8855def97f8467b8241effcc343cfb3341c4b9c3dec392ca31a395","splitmix-0.1.0.4-6e4cb959752030596da42aa487811cf8f2f8d97e77e5b86f7c0286b176af5a9e","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.16.0.0"]},{"type":"pre-existing","id":"base-4.16.0.0","pkg-name":"base","pkg-version":"4.16.0.0","depends":["ghc-bignum-1.2","ghc-prim-0.8.0","rts"]},{"type":"pre-existing","id":"binary-0.8.9.0","pkg-name":"binary","pkg-version":"0.8.9.0","depends":["array-0.5.4.0","base-4.16.0.0","bytestring-0.11.1.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.11.1.0","pkg-name":"bytestring","pkg-version":"0.11.1.0","depends":["base-4.16.0.0","deepseq-1.4.6.0","ghc-bignum-1.2","ghc-prim-0.8.0"]},{"type":"configured","id":"clock-0.8.3-92b3cf3a8d563bc4cec59855d0fe86bab13ee56991b5eb116314b00120c8d023","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.16.0.0","deepseq-1.4.6.0"]},{"type":"pre-existing","id":"deepseq-1.4.6.0","pkg-name":"deepseq","pkg-version":"1.4.6.0","depends":["array-0.5.4.0","base-4.16.0.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.16.0.0","filepath-1.4.2.1","time-1.11.1.1","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.12-4537794a6683eedd21da2fd7dcb19c48d6720bebd53dfa635675ab945ec56f58","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.16.0.0","clock-0.8.3-92b3cf3a8d563bc4cec59855d0fe86bab13ee56991b5eb116314b00120c8d023","directory-1.3.6.2","filepath-1.4.2.1","process-1.6.13.2","time-1.11.1.1","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.1","pkg-name":"filepath","pkg-version":"1.4.2.1","depends":["base-4.16.0.0"]},{"type":"configured","id":"filepattern-0.1.3-44052a6b8a974f5f5b326a6eac65d98c24b4beca809a2e4e6cdb0557d01ac03e","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.16.0.0","directory-1.3.6.2","extra-1.7.12-4537794a6683eedd21da2fd7dcb19c48d6720bebd53dfa635675ab945ec56f58","filepath-1.4.2.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.2","pkg-name":"ghc-bignum","pkg-version":"1.2","depends":["ghc-prim-0.8.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.2.1","pkg-name":"ghc-boot-th","pkg-version":"9.2.1","depends":["base-4.16.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.8.0","pkg-name":"ghc-prim","pkg-version":"0.8.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-richard/hadrian/."},"dist-dir":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.1/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.6.0.0","QuickCheck-2.14.2-d206773042205de1060139757d2714b6fc1f3b1ff5294e611a076f708c2c2939","base-4.16.0.0","bytestring-0.11.1.0","containers-0.6.5.1","directory-1.3.6.2","extra-1.7.12-4537794a6683eedd21da2fd7dcb19c48d6720bebd53dfa635675ab945ec56f58","filepath-1.4.2.1","mtl-2.2.2","parsec-3.1.14.0","shake-0.19.6-11a507b165b99e553ab27bf31e30ad5c86e1a79efd2b34be10195ec92d9eee64","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unordered-containers-0.2.19.1-80414ffbc62426907482c3beb68d51dfbc7e0a99a9e5ab479236a7c22a5adcdb"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.1.0-8401e9ba054e2d3323685810f217ebbd524e3ea2fd3b7fa78ec8be20f2fcb05f","pkg-name":"hashable","pkg-version":"1.4.1.0","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","pkg-src-sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","depends":["base-4.16.0.0","bytestring-0.11.1.0","containers-0.6.5.1","deepseq-1.4.6.0","ghc-bignum-1.2","ghc-prim-0.8.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-8d3419f8408b5b8b6841b00f6d1a7471816134201231be28416266a3ee3bde49","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-6278b9d6c9e5cd92f21180eee5fe6a6cc4709b3454a4f39848c0924a4b6130cc","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-0fe00be087c19b4ab01d3df43cb86b0d0d8634379a8ec6ab5d64bd544fc95aa5","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-df9b3aa568ece10aa0a1f02d8e0df8a6faee7f76b182f7f7e8e435249bb7c040","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.16.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.16.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.14.0","pkg-name":"parsec","pkg-version":"3.1.14.0","depends":["base-4.16.0.0","bytestring-0.11.1.0","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.16.0.0","deepseq-1.4.6.0","ghc-prim-0.8.0"]},{"type":"configured","id":"primitive-0.7.4.0-a8f5f8bf555c6c24182e2a552dc1490b6ab0baabd6cf0c8a1afb886e1a2080dd","pkg-name":"primitive","pkg-version":"0.7.4.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","pkg-src-sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","depends":["base-4.16.0.0","deepseq-1.4.6.0","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.16.0.0","deepseq-1.4.6.0","directory-1.3.6.2","filepath-1.4.2.1","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1.1-97ce1668cc8855def97f8467b8241effcc343cfb3341c4b9c3dec392ca31a395","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.16.0.0","bytestring-0.11.1.0","deepseq-1.4.6.0","mtl-2.2.2","splitmix-0.1.0.4-6e4cb959752030596da42aa487811cf8f2f8d97e77e5b86f7c0286b176af5a9e"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-11a507b165b99e553ab27bf31e30ad5c86e1a79efd2b34be10195ec92d9eee64","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.0.0","binary-0.8.9.0","bytestring-0.11.1.0","deepseq-1.4.6.0","directory-1.3.6.2","extra-1.7.12-4537794a6683eedd21da2fd7dcb19c48d6720bebd53dfa635675ab945ec56f58","filepath-1.4.2.1","filepattern-0.1.3-44052a6b8a974f5f5b326a6eac65d98c24b4beca809a2e4e6cdb0557d01ac03e","hashable-1.4.1.0-8401e9ba054e2d3323685810f217ebbd524e3ea2fd3b7fa78ec8be20f2fcb05f","heaps-0.4-8d3419f8408b5b8b6841b00f6d1a7471816134201231be28416266a3ee3bde49","js-dgtable-0.5.2-6278b9d6c9e5cd92f21180eee5fe6a6cc4709b3454a4f39848c0924a4b6130cc","js-flot-0.8.3-0fe00be087c19b4ab01d3df43cb86b0d0d8634379a8ec6ab5d64bd544fc95aa5","js-jquery-3.3.1-df9b3aa568ece10aa0a1f02d8e0df8a6faee7f76b182f7f7e8e435249bb7c040","primitive-0.7.4.0-a8f5f8bf555c6c24182e2a552dc1490b6ab0baabd6cf0c8a1afb886e1a2080dd","process-1.6.13.2","random-1.2.1.1-97ce1668cc8855def97f8467b8241effcc343cfb3341c4b9c3dec392ca31a395","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-80414ffbc62426907482c3beb68d51dfbc7e0a99a9e5ab479236a7c22a5adcdb","utf8-string-1.0.2-1508e35653a100bc70cf4b62637d1bc71807fe8682a43fc50125618f1075e8fa"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-00ba39df5ac205c2ff3f98bb37e44ddfa5553180921ba8bb3b4a0963e9614b33","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.0.0","binary-0.8.9.0","bytestring-0.11.1.0","deepseq-1.4.6.0","directory-1.3.6.2","extra-1.7.12-4537794a6683eedd21da2fd7dcb19c48d6720bebd53dfa635675ab945ec56f58","filepath-1.4.2.1","filepattern-0.1.3-44052a6b8a974f5f5b326a6eac65d98c24b4beca809a2e4e6cdb0557d01ac03e","hashable-1.4.1.0-8401e9ba054e2d3323685810f217ebbd524e3ea2fd3b7fa78ec8be20f2fcb05f","heaps-0.4-8d3419f8408b5b8b6841b00f6d1a7471816134201231be28416266a3ee3bde49","js-dgtable-0.5.2-6278b9d6c9e5cd92f21180eee5fe6a6cc4709b3454a4f39848c0924a4b6130cc","js-flot-0.8.3-0fe00be087c19b4ab01d3df43cb86b0d0d8634379a8ec6ab5d64bd544fc95aa5","js-jquery-3.3.1-df9b3aa568ece10aa0a1f02d8e0df8a6faee7f76b182f7f7e8e435249bb7c040","primitive-0.7.4.0-a8f5f8bf555c6c24182e2a552dc1490b6ab0baabd6cf0c8a1afb886e1a2080dd","process-1.6.13.2","random-1.2.1.1-97ce1668cc8855def97f8467b8241effcc343cfb3341c4b9c3dec392ca31a395","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-80414ffbc62426907482c3beb68d51dfbc7e0a99a9e5ab479236a7c22a5adcdb","utf8-string-1.0.2-1508e35653a100bc70cf4b62637d1bc71807fe8682a43fc50125618f1075e8fa"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.2.1/shake-0.19.6-e-shake-00ba39df5ac205c2ff3f98bb37e44ddfa5553180921ba8bb3b4a0963e9614b33/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-6e4cb959752030596da42aa487811cf8f2f8d97e77e5b86f7c0286b176af5a9e","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.16.0.0","deepseq-1.4.6.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.18.0.0","pkg-name":"template-haskell","pkg-version":"2.18.0.0","depends":["base-4.16.0.0","ghc-boot-th-9.2.1","ghc-prim-0.8.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.16.0.0","binary-0.8.9.0","bytestring-0.11.1.0","deepseq-1.4.6.0","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"pre-existing","id":"time-1.11.1.1","pkg-name":"time","pkg-version":"1.11.1.1","depends":["base-4.16.0.0","deepseq-1.4.6.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.16.0.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.16.0.0","bytestring-0.11.1.0","time-1.11.1.1"]},{"type":"configured","id":"unordered-containers-0.2.19.1-80414ffbc62426907482c3beb68d51dfbc7e0a99a9e5ab479236a7c22a5adcdb","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.16.0.0","deepseq-1.4.6.0","hashable-1.4.1.0-8401e9ba054e2d3323685810f217ebbd524e3ea2fd3b7fa78ec8be20f2fcb05f","template-haskell-2.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-1508e35653a100bc70cf4b62637d1bc71807fe8682a43fc50125618f1075e8fa","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.16.0.0","bytestring-0.11.1.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_2_2.json b/hadrian/bootstrap/plan-9_2_2.json
index 4eab6566e8..4cee7a6752 100644
--- a/hadrian/bootstrap/plan-9_2_2.json
+++ b/hadrian/bootstrap/plan-9_2_2.json
@@ -1 +1 @@
-{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.2.0","compiler-id":"ghc-9.2.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.6.3.0","pkg-name":"Cabal","pkg-version":"3.6.3.0","depends":["array-0.5.4.0","base-4.16.1.0","binary-0.8.9.0","bytestring-0.11.3.0","containers-0.6.5.1","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-51a0334112365ba49c1a749741e318fa50a93b846d7e1f3f2e0a5685dd878c45","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.16.1.0","containers-0.6.5.1","deepseq-1.4.6.1","random-1.2.1-137c4de6ed6d11b5d51cf64300cfb82f6ef440c33bf36e0cd4fcadc9a66d0e3b","splitmix-0.1.0.4-201c59ac932f856499a47c73ffe84a6be5b6dfd5db9ec6182775fe6b945f369c","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.16.1.0"]},{"type":"pre-existing","id":"base-4.16.1.0","pkg-name":"base","pkg-version":"4.16.1.0","depends":["ghc-bignum-1.2","ghc-prim-0.8.0","rts-1.0.2"]},{"type":"pre-existing","id":"binary-0.8.9.0","pkg-name":"binary","pkg-version":"0.8.9.0","depends":["array-0.5.4.0","base-4.16.1.0","bytestring-0.11.3.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.11.3.0","pkg-name":"bytestring","pkg-version":"0.11.3.0","depends":["base-4.16.1.0","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"configured","id":"clock-0.8.3-0c7c9e547a146527c99f2e7581131ba32cadfbda0704ef58b7c52090bd8615f6","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.16.1.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"deepseq-1.4.6.1","pkg-name":"deepseq","pkg-version":"1.4.6.1","depends":["array-0.5.4.0","base-4.16.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.16.1.0","filepath-1.4.2.2","time-1.11.1.1","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.10-ba7cb982ae4a10c9c6901a860121653955a655ea5bab319dfedf6e17b7521b4f","pkg-name":"extra","pkg-version":"1.7.10","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","pkg-src-sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","depends":["base-4.16.1.0","clock-0.8.3-0c7c9e547a146527c99f2e7581131ba32cadfbda0704ef58b7c52090bd8615f6","directory-1.3.6.2","filepath-1.4.2.2","process-1.6.13.2","time-1.11.1.1","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.16.1.0"]},{"type":"configured","id":"filepattern-0.1.2-e23131263c5acf9d5aa55347be4c4c0d920bfaca77ee6765bd2635204d709944","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.16.1.0","directory-1.3.6.2","extra-1.7.10-ba7cb982ae4a10c9c6901a860121653955a655ea5bab319dfedf6e17b7521b4f","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.2","pkg-name":"ghc-bignum","pkg-version":"1.2","depends":["ghc-prim-0.8.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.2.2","pkg-name":"ghc-boot-th","pkg-version":"9.2.2","depends":["base-4.16.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.8.0","pkg-name":"ghc-prim","pkg-version":"0.8.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-scratch/hadrian/."},"dist-dir":"/home/matt/ghc-scratch/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.2/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.6.3.0","QuickCheck-2.14.2-51a0334112365ba49c1a749741e318fa50a93b846d7e1f3f2e0a5685dd878c45","base-4.16.1.0","bytestring-0.11.3.0","containers-0.6.5.1","directory-1.3.6.2","extra-1.7.10-ba7cb982ae4a10c9c6901a860121653955a655ea5bab319dfedf6e17b7521b4f","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-8286668a44703a51ff535fdb488bbcfda41ff46d5b093c47fded2bc0122481dd","transformers-0.5.6.2","unordered-containers-0.2.17.0-4cb0c3ac89fde4de22fba9b758a0aa87fbedda12d2f9f411f7e6f675af39ef9e"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-scratch/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.0.2-9d820d0e4027f6b5a75d4a326b094d64acb9fdc112ac666639db27a1e0052434","pkg-name":"hashable","pkg-version":"1.4.0.2","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","pkg-src-sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","depends":["base-4.16.1.0","bytestring-0.11.3.0","containers-0.6.5.1","deepseq-1.4.6.1","ghc-bignum-1.2","ghc-prim-0.8.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-492ad633a7c1fd0990246fbd401f8438db0635c4fa550e36cb43b775527c157f","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-bfe5ec294647feda55ba2f90bde0d374568a86efba113bfff8363c9e8f34af37","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-6a01b63899fcd71d3e88646c1d9e81ca1d7937cf03770977570987e81b26d8fe","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-5d3188cc3ebaa3d2976301605f921eb24ec9ca825b83351e4eeb8eb4b22dd9f3","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.16.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.16.1.0","bytestring-0.11.3.0","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.16.1.0","deepseq-1.4.6.1","ghc-prim-0.8.0"]},{"type":"configured","id":"primitive-0.7.3.0-73d27fd03cfd0341161559dbb2c7d4309e96cbecc35dbd40a824ecbeff4205c7","pkg-name":"primitive","pkg-version":"0.7.3.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","pkg-src-sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","depends":["base-4.16.1.0","deepseq-1.4.6.1","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.16.1.0","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-137c4de6ed6d11b5d51cf64300cfb82f6ef440c33bf36e0cd4fcadc9a66d0e3b","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.16.1.0","bytestring-0.11.3.0","deepseq-1.4.6.1","mtl-2.2.2","splitmix-0.1.0.4-201c59ac932f856499a47c73ffe84a6be5b6dfd5db9ec6182775fe6b945f369c"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-8286668a44703a51ff535fdb488bbcfda41ff46d5b093c47fded2bc0122481dd","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.1.0","binary-0.8.9.0","bytestring-0.11.3.0","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.10-ba7cb982ae4a10c9c6901a860121653955a655ea5bab319dfedf6e17b7521b4f","filepath-1.4.2.2","filepattern-0.1.2-e23131263c5acf9d5aa55347be4c4c0d920bfaca77ee6765bd2635204d709944","hashable-1.4.0.2-9d820d0e4027f6b5a75d4a326b094d64acb9fdc112ac666639db27a1e0052434","heaps-0.4-492ad633a7c1fd0990246fbd401f8438db0635c4fa550e36cb43b775527c157f","js-dgtable-0.5.2-bfe5ec294647feda55ba2f90bde0d374568a86efba113bfff8363c9e8f34af37","js-flot-0.8.3-6a01b63899fcd71d3e88646c1d9e81ca1d7937cf03770977570987e81b26d8fe","js-jquery-3.3.1-5d3188cc3ebaa3d2976301605f921eb24ec9ca825b83351e4eeb8eb4b22dd9f3","primitive-0.7.3.0-73d27fd03cfd0341161559dbb2c7d4309e96cbecc35dbd40a824ecbeff4205c7","process-1.6.13.2","random-1.2.1-137c4de6ed6d11b5d51cf64300cfb82f6ef440c33bf36e0cd4fcadc9a66d0e3b","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.17.0-4cb0c3ac89fde4de22fba9b758a0aa87fbedda12d2f9f411f7e6f675af39ef9e","utf8-string-1.0.2-3b60297ab3bd0b49e24ff62a4d011e876a1464182bd13b03752e8393de14f237"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-79f272b3b63353820dd598bddf828cc06871e2499db93c8ab0db366f857d0724","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.1.0","binary-0.8.9.0","bytestring-0.11.3.0","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.10-ba7cb982ae4a10c9c6901a860121653955a655ea5bab319dfedf6e17b7521b4f","filepath-1.4.2.2","filepattern-0.1.2-e23131263c5acf9d5aa55347be4c4c0d920bfaca77ee6765bd2635204d709944","hashable-1.4.0.2-9d820d0e4027f6b5a75d4a326b094d64acb9fdc112ac666639db27a1e0052434","heaps-0.4-492ad633a7c1fd0990246fbd401f8438db0635c4fa550e36cb43b775527c157f","js-dgtable-0.5.2-bfe5ec294647feda55ba2f90bde0d374568a86efba113bfff8363c9e8f34af37","js-flot-0.8.3-6a01b63899fcd71d3e88646c1d9e81ca1d7937cf03770977570987e81b26d8fe","js-jquery-3.3.1-5d3188cc3ebaa3d2976301605f921eb24ec9ca825b83351e4eeb8eb4b22dd9f3","primitive-0.7.3.0-73d27fd03cfd0341161559dbb2c7d4309e96cbecc35dbd40a824ecbeff4205c7","process-1.6.13.2","random-1.2.1-137c4de6ed6d11b5d51cf64300cfb82f6ef440c33bf36e0cd4fcadc9a66d0e3b","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.17.0-4cb0c3ac89fde4de22fba9b758a0aa87fbedda12d2f9f411f7e6f675af39ef9e","utf8-string-1.0.2-3b60297ab3bd0b49e24ff62a4d011e876a1464182bd13b03752e8393de14f237"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.2.2/shake-0.19.6-e-shake-79f272b3b63353820dd598bddf828cc06871e2499db93c8ab0db366f857d0724/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-201c59ac932f856499a47c73ffe84a6be5b6dfd5db9ec6182775fe6b945f369c","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.16.1.0","deepseq-1.4.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.18.0.0","pkg-name":"template-haskell","pkg-version":"2.18.0.0","depends":["base-4.16.1.0","ghc-boot-th-9.2.2","ghc-prim-0.8.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.16.1.0","binary-0.8.9.0","bytestring-0.11.3.0","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"pre-existing","id":"time-1.11.1.1","pkg-name":"time","pkg-version":"1.11.1.1","depends":["base-4.16.1.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.16.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.16.1.0","bytestring-0.11.3.0","time-1.11.1.1"]},{"type":"configured","id":"unordered-containers-0.2.17.0-4cb0c3ac89fde4de22fba9b758a0aa87fbedda12d2f9f411f7e6f675af39ef9e","pkg-name":"unordered-containers","pkg-version":"0.2.17.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50d72c7945df6389d0bb683dea1c7529b28b26f8c632de186437d1e866af8cf8","pkg-src-sha256":"c49e3a6e0b6aae68c035b163e54f3521d1d65d0a3543fa46eaeddc97b4375a17","depends":["base-4.16.1.0","deepseq-1.4.6.1","hashable-1.4.0.2-9d820d0e4027f6b5a75d4a326b094d64acb9fdc112ac666639db27a1e0052434","template-haskell-2.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-3b60297ab3bd0b49e24ff62a4d011e876a1464182bd13b03752e8393de14f237","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.16.1.0","bytestring-0.11.3.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.3.0","compiler-id":"ghc-9.2.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.6.3.0","pkg-name":"Cabal","pkg-version":"3.6.3.0","depends":["array-0.5.4.0","base-4.16.1.0","binary-0.8.9.0","bytestring-0.11.3.0","containers-0.6.5.1","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-fd6bc24ff3b5f8201c3071f6ca35f332d6b1353852d01e1b4e5ff25db746e149","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.16.1.0","containers-0.6.5.1","deepseq-1.4.6.1","random-1.2.1.1-1a74f78224fb4b9c0290854a02b095a76191148a477857d7f21dcd68e5c2b4cf","splitmix-0.1.0.4-201c59ac932f856499a47c73ffe84a6be5b6dfd5db9ec6182775fe6b945f369c","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.16.1.0"]},{"type":"pre-existing","id":"base-4.16.1.0","pkg-name":"base","pkg-version":"4.16.1.0","depends":["ghc-bignum-1.2","ghc-prim-0.8.0","rts"]},{"type":"pre-existing","id":"binary-0.8.9.0","pkg-name":"binary","pkg-version":"0.8.9.0","depends":["array-0.5.4.0","base-4.16.1.0","bytestring-0.11.3.0","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.11.3.0","pkg-name":"bytestring","pkg-version":"0.11.3.0","depends":["base-4.16.1.0","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"configured","id":"clock-0.8.3-0c7c9e547a146527c99f2e7581131ba32cadfbda0704ef58b7c52090bd8615f6","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.16.1.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"deepseq-1.4.6.1","pkg-name":"deepseq","pkg-version":"1.4.6.1","depends":["array-0.5.4.0","base-4.16.1.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.16.1.0","filepath-1.4.2.2","time-1.11.1.1","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.12-2ebaa460133d1ef6e5e06bbfa066f8d302f505e4a67498115edf41ac0ce1b283","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.16.1.0","clock-0.8.3-0c7c9e547a146527c99f2e7581131ba32cadfbda0704ef58b7c52090bd8615f6","directory-1.3.6.2","filepath-1.4.2.2","process-1.6.13.2","time-1.11.1.1","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.16.1.0"]},{"type":"configured","id":"filepattern-0.1.3-d9631d8baf926960f6eb6991bc1e7c256a8c1757d9ec9e8cb827d563cf27e3a3","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.16.1.0","directory-1.3.6.2","extra-1.7.12-2ebaa460133d1ef6e5e06bbfa066f8d302f505e4a67498115edf41ac0ce1b283","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.2","pkg-name":"ghc-bignum","pkg-version":"1.2","depends":["ghc-prim-0.8.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.2.2","pkg-name":"ghc-boot-th","pkg-version":"9.2.2","depends":["base-4.16.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.8.0","pkg-name":"ghc-prim","pkg-version":"0.8.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-richard/hadrian/."},"dist-dir":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.2/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.6.3.0","QuickCheck-2.14.2-fd6bc24ff3b5f8201c3071f6ca35f332d6b1353852d01e1b4e5ff25db746e149","base-4.16.1.0","bytestring-0.11.3.0","containers-0.6.5.1","directory-1.3.6.2","extra-1.7.12-2ebaa460133d1ef6e5e06bbfa066f8d302f505e4a67498115edf41ac0ce1b283","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-9337f5aa90e21ec8bd6f4ad8ace5f990c991c42d7dca3b5e2c3d5c5b71664205","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unordered-containers-0.2.19.1-1dcee89885a46ee83cd9f43098fc510039bbbc393ba896d144bc832d0c32ae73"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.1.0-15f02bb67403f92ca641f31d8c1123d1753bbeb2d18b8dcb075e46594c3008c9","pkg-name":"hashable","pkg-version":"1.4.1.0","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","pkg-src-sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","depends":["base-4.16.1.0","bytestring-0.11.3.0","containers-0.6.5.1","deepseq-1.4.6.1","ghc-bignum-1.2","ghc-prim-0.8.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-492ad633a7c1fd0990246fbd401f8438db0635c4fa550e36cb43b775527c157f","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-bfe5ec294647feda55ba2f90bde0d374568a86efba113bfff8363c9e8f34af37","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-6a01b63899fcd71d3e88646c1d9e81ca1d7937cf03770977570987e81b26d8fe","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-5d3188cc3ebaa3d2976301605f921eb24ec9ca825b83351e4eeb8eb4b22dd9f3","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.16.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.16.1.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.16.1.0","bytestring-0.11.3.0","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.16.1.0","deepseq-1.4.6.1","ghc-prim-0.8.0"]},{"type":"configured","id":"primitive-0.7.4.0-c8db12c34a569595c45ad24c053299fa0b054d65e1f9ec7e59ae0483173c65a8","pkg-name":"primitive","pkg-version":"0.7.4.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","pkg-src-sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","depends":["base-4.16.1.0","deepseq-1.4.6.1","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.16.1.0","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1.1-1a74f78224fb4b9c0290854a02b095a76191148a477857d7f21dcd68e5c2b4cf","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.16.1.0","bytestring-0.11.3.0","deepseq-1.4.6.1","mtl-2.2.2","splitmix-0.1.0.4-201c59ac932f856499a47c73ffe84a6be5b6dfd5db9ec6182775fe6b945f369c"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-9337f5aa90e21ec8bd6f4ad8ace5f990c991c42d7dca3b5e2c3d5c5b71664205","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.1.0","binary-0.8.9.0","bytestring-0.11.3.0","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.12-2ebaa460133d1ef6e5e06bbfa066f8d302f505e4a67498115edf41ac0ce1b283","filepath-1.4.2.2","filepattern-0.1.3-d9631d8baf926960f6eb6991bc1e7c256a8c1757d9ec9e8cb827d563cf27e3a3","hashable-1.4.1.0-15f02bb67403f92ca641f31d8c1123d1753bbeb2d18b8dcb075e46594c3008c9","heaps-0.4-492ad633a7c1fd0990246fbd401f8438db0635c4fa550e36cb43b775527c157f","js-dgtable-0.5.2-bfe5ec294647feda55ba2f90bde0d374568a86efba113bfff8363c9e8f34af37","js-flot-0.8.3-6a01b63899fcd71d3e88646c1d9e81ca1d7937cf03770977570987e81b26d8fe","js-jquery-3.3.1-5d3188cc3ebaa3d2976301605f921eb24ec9ca825b83351e4eeb8eb4b22dd9f3","primitive-0.7.4.0-c8db12c34a569595c45ad24c053299fa0b054d65e1f9ec7e59ae0483173c65a8","process-1.6.13.2","random-1.2.1.1-1a74f78224fb4b9c0290854a02b095a76191148a477857d7f21dcd68e5c2b4cf","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-1dcee89885a46ee83cd9f43098fc510039bbbc393ba896d144bc832d0c32ae73","utf8-string-1.0.2-3b60297ab3bd0b49e24ff62a4d011e876a1464182bd13b03752e8393de14f237"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-8fe6ea0cb9195be8bc594d7c2ebed522bb7acb3ccf2d1ced536e0e10bf203c1e","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.1.0","binary-0.8.9.0","bytestring-0.11.3.0","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.12-2ebaa460133d1ef6e5e06bbfa066f8d302f505e4a67498115edf41ac0ce1b283","filepath-1.4.2.2","filepattern-0.1.3-d9631d8baf926960f6eb6991bc1e7c256a8c1757d9ec9e8cb827d563cf27e3a3","hashable-1.4.1.0-15f02bb67403f92ca641f31d8c1123d1753bbeb2d18b8dcb075e46594c3008c9","heaps-0.4-492ad633a7c1fd0990246fbd401f8438db0635c4fa550e36cb43b775527c157f","js-dgtable-0.5.2-bfe5ec294647feda55ba2f90bde0d374568a86efba113bfff8363c9e8f34af37","js-flot-0.8.3-6a01b63899fcd71d3e88646c1d9e81ca1d7937cf03770977570987e81b26d8fe","js-jquery-3.3.1-5d3188cc3ebaa3d2976301605f921eb24ec9ca825b83351e4eeb8eb4b22dd9f3","primitive-0.7.4.0-c8db12c34a569595c45ad24c053299fa0b054d65e1f9ec7e59ae0483173c65a8","process-1.6.13.2","random-1.2.1.1-1a74f78224fb4b9c0290854a02b095a76191148a477857d7f21dcd68e5c2b4cf","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-1dcee89885a46ee83cd9f43098fc510039bbbc393ba896d144bc832d0c32ae73","utf8-string-1.0.2-3b60297ab3bd0b49e24ff62a4d011e876a1464182bd13b03752e8393de14f237"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.2.2/shake-0.19.6-e-shake-8fe6ea0cb9195be8bc594d7c2ebed522bb7acb3ccf2d1ced536e0e10bf203c1e/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-201c59ac932f856499a47c73ffe84a6be5b6dfd5db9ec6182775fe6b945f369c","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.16.1.0","deepseq-1.4.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.18.0.0","pkg-name":"template-haskell","pkg-version":"2.18.0.0","depends":["base-4.16.1.0","ghc-boot-th-9.2.2","ghc-prim-0.8.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.16.1.0","binary-0.8.9.0","bytestring-0.11.3.0","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"pre-existing","id":"time-1.11.1.1","pkg-name":"time","pkg-version":"1.11.1.1","depends":["base-4.16.1.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.16.1.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.16.1.0","bytestring-0.11.3.0","time-1.11.1.1"]},{"type":"configured","id":"unordered-containers-0.2.19.1-1dcee89885a46ee83cd9f43098fc510039bbbc393ba896d144bc832d0c32ae73","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.16.1.0","deepseq-1.4.6.1","hashable-1.4.1.0-15f02bb67403f92ca641f31d8c1123d1753bbeb2d18b8dcb075e46594c3008c9","template-haskell-2.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-3b60297ab3bd0b49e24ff62a4d011e876a1464182bd13b03752e8393de14f237","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.16.1.0","bytestring-0.11.3.0"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_2_3.json b/hadrian/bootstrap/plan-9_2_3.json
index 9950fa292a..1cffd71f2b 100644
--- a/hadrian/bootstrap/plan-9_2_3.json
+++ b/hadrian/bootstrap/plan-9_2_3.json
@@ -1 +1 @@
-{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.2.0","compiler-id":"ghc-9.2.3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.6.3.0","pkg-name":"Cabal","pkg-version":"3.6.3.0","depends":["array-0.5.4.0","base-4.16.2.0","binary-0.8.9.0","bytestring-0.11.3.1","containers-0.6.5.1","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-ae5672306139a6edb2cb2282d39cc338387f3e293df7c0bc3ec7ae83f6e070ef","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.16.2.0","containers-0.6.5.1","deepseq-1.4.6.1","random-1.2.1-20b2809fd2d0689f70127ef7be9036ae57786f75e67fb5827e29be256dac6b8f","splitmix-0.1.0.4-f5816d86b79c25a60eb0e68dec4d61b22701a8b4fd7de88550a4b0606cf31730","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.16.2.0"]},{"type":"pre-existing","id":"base-4.16.2.0","pkg-name":"base","pkg-version":"4.16.2.0","depends":["ghc-bignum-1.2","ghc-prim-0.8.0","rts"]},{"type":"pre-existing","id":"binary-0.8.9.0","pkg-name":"binary","pkg-version":"0.8.9.0","depends":["array-0.5.4.0","base-4.16.2.0","bytestring-0.11.3.1","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.16.2.0","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"configured","id":"clock-0.8.3-137df44468d5edff5f854d1fdd7a1d931405a677f532203f6514e2afb4e770bc","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.16.2.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"deepseq-1.4.6.1","pkg-name":"deepseq","pkg-version":"1.4.6.1","depends":["array-0.5.4.0","base-4.16.2.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.16.2.0","filepath-1.4.2.2","time-1.11.1.1","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.10-bc2d754707fa9e706da285d417a3ae49a6d714dafac3fa8024927ca748cbca26","pkg-name":"extra","pkg-version":"1.7.10","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","pkg-src-sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","depends":["base-4.16.2.0","clock-0.8.3-137df44468d5edff5f854d1fdd7a1d931405a677f532203f6514e2afb4e770bc","directory-1.3.6.2","filepath-1.4.2.2","process-1.6.13.2","time-1.11.1.1","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.16.2.0"]},{"type":"configured","id":"filepattern-0.1.2-f49bce3cf024368059eb3946e8b9e530b89d64e9055dc8b2f3c4809051dc96f1","pkg-name":"filepattern","pkg-version":"0.1.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","pkg-src-sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","depends":["base-4.16.2.0","directory-1.3.6.2","extra-1.7.10-bc2d754707fa9e706da285d417a3ae49a6d714dafac3fa8024927ca748cbca26","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.2","pkg-name":"ghc-bignum","pkg-version":"1.2","depends":["ghc-prim-0.8.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.2.3","pkg-name":"ghc-boot-th","pkg-version":"9.2.3","depends":["base-4.16.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.8.0","pkg-name":"ghc-prim","pkg-version":"0.8.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/zubin/ghcs/exprType/hadrian/."},"dist-dir":"/home/zubin/ghcs/exprType/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.3/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.6.3.0","QuickCheck-2.14.2-ae5672306139a6edb2cb2282d39cc338387f3e293df7c0bc3ec7ae83f6e070ef","base-4.16.2.0","bytestring-0.11.3.1","containers-0.6.5.1","directory-1.3.6.2","extra-1.7.10-bc2d754707fa9e706da285d417a3ae49a6d714dafac3fa8024927ca748cbca26","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-03cbc642b2c62657e2cd0726b1a5728368f2dec9cc3d409a125f2eae955d301e","transformers-0.5.6.2","unordered-containers-0.2.17.0-1118395e7c79f47382c2b878dd641f967d16dc6f85af8859559997a380bfbda7"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/zubin/ghcs/exprType/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.0.2-47dbbc55ef4ab51156516ccd7ab54bfbbef63c9e75da84670a299d58d17258a6","pkg-name":"hashable","pkg-version":"1.4.0.2","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","pkg-src-sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","depends":["base-4.16.2.0","bytestring-0.11.3.1","containers-0.6.5.1","deepseq-1.4.6.1","ghc-bignum-1.2","ghc-prim-0.8.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-d8a49d6a489879d9c4153538b9dce8f05178088f9abe624f0b9b7f1bf9b767bd","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-4ccd577f77dcd9aad5f76085357cbca8fac52265b3de9bef5751e8c318bf1092","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-82abb5a93c9421fbaa227436e44b7f8b7ddc9b9978f04fce90b53c8e0012c6a0","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-3490eb5866089e8998fb0b2aa39a1322039178695f200e12962250c13149e26a","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.16.2.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.16.2.0","bytestring-0.11.3.1","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.16.2.0","deepseq-1.4.6.1","ghc-prim-0.8.0"]},{"type":"configured","id":"primitive-0.7.3.0-1e4f5d22c54af95a7ca137c5dc5e2bdcc35146ba036580c138878d1eae886c73","pkg-name":"primitive","pkg-version":"0.7.3.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","pkg-src-sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","depends":["base-4.16.2.0","deepseq-1.4.6.1","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.16.2.0","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1-20b2809fd2d0689f70127ef7be9036ae57786f75e67fb5827e29be256dac6b8f","pkg-name":"random","pkg-version":"1.2.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","pkg-src-sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","depends":["base-4.16.2.0","bytestring-0.11.3.1","deepseq-1.4.6.1","mtl-2.2.2","splitmix-0.1.0.4-f5816d86b79c25a60eb0e68dec4d61b22701a8b4fd7de88550a4b0606cf31730"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-03cbc642b2c62657e2cd0726b1a5728368f2dec9cc3d409a125f2eae955d301e","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.2.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.10-bc2d754707fa9e706da285d417a3ae49a6d714dafac3fa8024927ca748cbca26","filepath-1.4.2.2","filepattern-0.1.2-f49bce3cf024368059eb3946e8b9e530b89d64e9055dc8b2f3c4809051dc96f1","hashable-1.4.0.2-47dbbc55ef4ab51156516ccd7ab54bfbbef63c9e75da84670a299d58d17258a6","heaps-0.4-d8a49d6a489879d9c4153538b9dce8f05178088f9abe624f0b9b7f1bf9b767bd","js-dgtable-0.5.2-4ccd577f77dcd9aad5f76085357cbca8fac52265b3de9bef5751e8c318bf1092","js-flot-0.8.3-82abb5a93c9421fbaa227436e44b7f8b7ddc9b9978f04fce90b53c8e0012c6a0","js-jquery-3.3.1-3490eb5866089e8998fb0b2aa39a1322039178695f200e12962250c13149e26a","primitive-0.7.3.0-1e4f5d22c54af95a7ca137c5dc5e2bdcc35146ba036580c138878d1eae886c73","process-1.6.13.2","random-1.2.1-20b2809fd2d0689f70127ef7be9036ae57786f75e67fb5827e29be256dac6b8f","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.17.0-1118395e7c79f47382c2b878dd641f967d16dc6f85af8859559997a380bfbda7","utf8-string-1.0.2-118917811093d53a6e91865006ec9fa2038310da3ed3410e4fd66982940e44d0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-248f7b66b0e39546e944da1697ce610744d871d79e7a53ca629d7265497890b8","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.2.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.10-bc2d754707fa9e706da285d417a3ae49a6d714dafac3fa8024927ca748cbca26","filepath-1.4.2.2","filepattern-0.1.2-f49bce3cf024368059eb3946e8b9e530b89d64e9055dc8b2f3c4809051dc96f1","hashable-1.4.0.2-47dbbc55ef4ab51156516ccd7ab54bfbbef63c9e75da84670a299d58d17258a6","heaps-0.4-d8a49d6a489879d9c4153538b9dce8f05178088f9abe624f0b9b7f1bf9b767bd","js-dgtable-0.5.2-4ccd577f77dcd9aad5f76085357cbca8fac52265b3de9bef5751e8c318bf1092","js-flot-0.8.3-82abb5a93c9421fbaa227436e44b7f8b7ddc9b9978f04fce90b53c8e0012c6a0","js-jquery-3.3.1-3490eb5866089e8998fb0b2aa39a1322039178695f200e12962250c13149e26a","primitive-0.7.3.0-1e4f5d22c54af95a7ca137c5dc5e2bdcc35146ba036580c138878d1eae886c73","process-1.6.13.2","random-1.2.1-20b2809fd2d0689f70127ef7be9036ae57786f75e67fb5827e29be256dac6b8f","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.17.0-1118395e7c79f47382c2b878dd641f967d16dc6f85af8859559997a380bfbda7","utf8-string-1.0.2-118917811093d53a6e91865006ec9fa2038310da3ed3410e4fd66982940e44d0"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/zubin/.cabal/store/ghc-9.2.3/shake-0.19.6-e-shake-248f7b66b0e39546e944da1697ce610744d871d79e7a53ca629d7265497890b8/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-f5816d86b79c25a60eb0e68dec4d61b22701a8b4fd7de88550a4b0606cf31730","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.16.2.0","deepseq-1.4.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.18.0.0","pkg-name":"template-haskell","pkg-version":"2.18.0.0","depends":["base-4.16.2.0","ghc-boot-th-9.2.3","ghc-prim-0.8.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.16.2.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"pre-existing","id":"time-1.11.1.1","pkg-name":"time","pkg-version":"1.11.1.1","depends":["base-4.16.2.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.16.2.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.16.2.0","bytestring-0.11.3.1","time-1.11.1.1"]},{"type":"configured","id":"unordered-containers-0.2.17.0-1118395e7c79f47382c2b878dd641f967d16dc6f85af8859559997a380bfbda7","pkg-name":"unordered-containers","pkg-version":"0.2.17.0","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50d72c7945df6389d0bb683dea1c7529b28b26f8c632de186437d1e866af8cf8","pkg-src-sha256":"c49e3a6e0b6aae68c035b163e54f3521d1d65d0a3543fa46eaeddc97b4375a17","depends":["base-4.16.2.0","deepseq-1.4.6.1","hashable-1.4.0.2-47dbbc55ef4ab51156516ccd7ab54bfbbef63c9e75da84670a299d58d17258a6","template-haskell-2.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-118917811093d53a6e91865006ec9fa2038310da3ed3410e4fd66982940e44d0","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.16.2.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.3.0","compiler-id":"ghc-9.2.3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.6.3.0","pkg-name":"Cabal","pkg-version":"3.6.3.0","depends":["array-0.5.4.0","base-4.16.2.0","binary-0.8.9.0","bytestring-0.11.3.1","containers-0.6.5.1","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-28383ec8c634951270f884fff9301d3d43ed48bb03153402d1ed50f540469641","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.16.2.0","containers-0.6.5.1","deepseq-1.4.6.1","random-1.2.1.1-40759a416704d10d86283d548100f6265a34bcb854377f345fbde64bf698fad0","splitmix-0.1.0.4-f5816d86b79c25a60eb0e68dec4d61b22701a8b4fd7de88550a4b0606cf31730","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.16.2.0"]},{"type":"pre-existing","id":"base-4.16.2.0","pkg-name":"base","pkg-version":"4.16.2.0","depends":["ghc-bignum-1.2","ghc-prim-0.8.0","rts"]},{"type":"pre-existing","id":"binary-0.8.9.0","pkg-name":"binary","pkg-version":"0.8.9.0","depends":["array-0.5.4.0","base-4.16.2.0","bytestring-0.11.3.1","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.16.2.0","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"configured","id":"clock-0.8.3-137df44468d5edff5f854d1fdd7a1d931405a677f532203f6514e2afb4e770bc","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.16.2.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"deepseq-1.4.6.1","pkg-name":"deepseq","pkg-version":"1.4.6.1","depends":["array-0.5.4.0","base-4.16.2.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.16.2.0","filepath-1.4.2.2","time-1.11.1.1","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.12-03735b64c6d5b3b50ba8f2abe4c1af7c3d5cfe799b9d10ac62086256962a28fa","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.16.2.0","clock-0.8.3-137df44468d5edff5f854d1fdd7a1d931405a677f532203f6514e2afb4e770bc","directory-1.3.6.2","filepath-1.4.2.2","process-1.6.13.2","time-1.11.1.1","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.16.2.0"]},{"type":"configured","id":"filepattern-0.1.3-c39c77f00628ef3ce634a34cee62a898b5a2c01b16047d7bfab8cb6aa8c3ed4f","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.16.2.0","directory-1.3.6.2","extra-1.7.12-03735b64c6d5b3b50ba8f2abe4c1af7c3d5cfe799b9d10ac62086256962a28fa","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.2","pkg-name":"ghc-bignum","pkg-version":"1.2","depends":["ghc-prim-0.8.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.2.3","pkg-name":"ghc-boot-th","pkg-version":"9.2.3","depends":["base-4.16.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.8.0","pkg-name":"ghc-prim","pkg-version":"0.8.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-richard/hadrian/."},"dist-dir":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.3/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.6.3.0","QuickCheck-2.14.2-28383ec8c634951270f884fff9301d3d43ed48bb03153402d1ed50f540469641","base-4.16.2.0","bytestring-0.11.3.1","containers-0.6.5.1","directory-1.3.6.2","extra-1.7.12-03735b64c6d5b3b50ba8f2abe4c1af7c3d5cfe799b9d10ac62086256962a28fa","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-7187c9829fbd94cee70b2ea169e77d742f1a519ff8c281e0180ae6ffba67f524","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unordered-containers-0.2.19.1-10786ad3b1342b2616c12df6a1b9817a85e399a2050b5ebaefb9c978f4bff419"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.1.0-15601795475d0429e82d747a2a9548f1dfb266e83e44f10998e68748ab90ce06","pkg-name":"hashable","pkg-version":"1.4.1.0","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","pkg-src-sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","depends":["base-4.16.2.0","bytestring-0.11.3.1","containers-0.6.5.1","deepseq-1.4.6.1","ghc-bignum-1.2","ghc-prim-0.8.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-d8a49d6a489879d9c4153538b9dce8f05178088f9abe624f0b9b7f1bf9b767bd","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-4ccd577f77dcd9aad5f76085357cbca8fac52265b3de9bef5751e8c318bf1092","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-82abb5a93c9421fbaa227436e44b7f8b7ddc9b9978f04fce90b53c8e0012c6a0","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-3490eb5866089e8998fb0b2aa39a1322039178695f200e12962250c13149e26a","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.16.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.16.2.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.16.2.0","bytestring-0.11.3.1","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.16.2.0","deepseq-1.4.6.1","ghc-prim-0.8.0"]},{"type":"configured","id":"primitive-0.7.4.0-46a932b83c0627ab3fe1992dc60ed8235dfba69cb6b0d9925f2d5485e57f6fad","pkg-name":"primitive","pkg-version":"0.7.4.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","pkg-src-sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","depends":["base-4.16.2.0","deepseq-1.4.6.1","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.16.2.0","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1.1-40759a416704d10d86283d548100f6265a34bcb854377f345fbde64bf698fad0","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.16.2.0","bytestring-0.11.3.1","deepseq-1.4.6.1","mtl-2.2.2","splitmix-0.1.0.4-f5816d86b79c25a60eb0e68dec4d61b22701a8b4fd7de88550a4b0606cf31730"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-7187c9829fbd94cee70b2ea169e77d742f1a519ff8c281e0180ae6ffba67f524","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.2.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.12-03735b64c6d5b3b50ba8f2abe4c1af7c3d5cfe799b9d10ac62086256962a28fa","filepath-1.4.2.2","filepattern-0.1.3-c39c77f00628ef3ce634a34cee62a898b5a2c01b16047d7bfab8cb6aa8c3ed4f","hashable-1.4.1.0-15601795475d0429e82d747a2a9548f1dfb266e83e44f10998e68748ab90ce06","heaps-0.4-d8a49d6a489879d9c4153538b9dce8f05178088f9abe624f0b9b7f1bf9b767bd","js-dgtable-0.5.2-4ccd577f77dcd9aad5f76085357cbca8fac52265b3de9bef5751e8c318bf1092","js-flot-0.8.3-82abb5a93c9421fbaa227436e44b7f8b7ddc9b9978f04fce90b53c8e0012c6a0","js-jquery-3.3.1-3490eb5866089e8998fb0b2aa39a1322039178695f200e12962250c13149e26a","primitive-0.7.4.0-46a932b83c0627ab3fe1992dc60ed8235dfba69cb6b0d9925f2d5485e57f6fad","process-1.6.13.2","random-1.2.1.1-40759a416704d10d86283d548100f6265a34bcb854377f345fbde64bf698fad0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-10786ad3b1342b2616c12df6a1b9817a85e399a2050b5ebaefb9c978f4bff419","utf8-string-1.0.2-118917811093d53a6e91865006ec9fa2038310da3ed3410e4fd66982940e44d0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-e492976d45475c960a2875c9cd6ab7024185c7c80be6f4156dbe45855d3b0bdd","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.2.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.12-03735b64c6d5b3b50ba8f2abe4c1af7c3d5cfe799b9d10ac62086256962a28fa","filepath-1.4.2.2","filepattern-0.1.3-c39c77f00628ef3ce634a34cee62a898b5a2c01b16047d7bfab8cb6aa8c3ed4f","hashable-1.4.1.0-15601795475d0429e82d747a2a9548f1dfb266e83e44f10998e68748ab90ce06","heaps-0.4-d8a49d6a489879d9c4153538b9dce8f05178088f9abe624f0b9b7f1bf9b767bd","js-dgtable-0.5.2-4ccd577f77dcd9aad5f76085357cbca8fac52265b3de9bef5751e8c318bf1092","js-flot-0.8.3-82abb5a93c9421fbaa227436e44b7f8b7ddc9b9978f04fce90b53c8e0012c6a0","js-jquery-3.3.1-3490eb5866089e8998fb0b2aa39a1322039178695f200e12962250c13149e26a","primitive-0.7.4.0-46a932b83c0627ab3fe1992dc60ed8235dfba69cb6b0d9925f2d5485e57f6fad","process-1.6.13.2","random-1.2.1.1-40759a416704d10d86283d548100f6265a34bcb854377f345fbde64bf698fad0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-10786ad3b1342b2616c12df6a1b9817a85e399a2050b5ebaefb9c978f4bff419","utf8-string-1.0.2-118917811093d53a6e91865006ec9fa2038310da3ed3410e4fd66982940e44d0"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.2.3/shake-0.19.6-e-shake-e492976d45475c960a2875c9cd6ab7024185c7c80be6f4156dbe45855d3b0bdd/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-f5816d86b79c25a60eb0e68dec4d61b22701a8b4fd7de88550a4b0606cf31730","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.16.2.0","deepseq-1.4.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.18.0.0","pkg-name":"template-haskell","pkg-version":"2.18.0.0","depends":["base-4.16.2.0","ghc-boot-th-9.2.3","ghc-prim-0.8.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.16.2.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"pre-existing","id":"time-1.11.1.1","pkg-name":"time","pkg-version":"1.11.1.1","depends":["base-4.16.2.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.16.2.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.16.2.0","bytestring-0.11.3.1","time-1.11.1.1"]},{"type":"configured","id":"unordered-containers-0.2.19.1-10786ad3b1342b2616c12df6a1b9817a85e399a2050b5ebaefb9c978f4bff419","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.16.2.0","deepseq-1.4.6.1","hashable-1.4.1.0-15601795475d0429e82d747a2a9548f1dfb266e83e44f10998e68748ab90ce06","template-haskell-2.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-118917811093d53a6e91865006ec9fa2038310da3ed3410e4fd66982940e44d0","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.16.2.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_2_4.json b/hadrian/bootstrap/plan-9_2_4.json
new file mode 100644
index 0000000000..3df5e7a480
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_2_4.json
@@ -0,0 +1 @@
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.3.0","compiler-id":"ghc-9.2.4","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.6.3.0","pkg-name":"Cabal","pkg-version":"3.6.3.0","depends":["array-0.5.4.0","base-4.16.3.0","binary-0.8.9.0","bytestring-0.11.3.1","containers-0.6.5.1","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.13.2","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-6d836be05ad916880fe0949228d3c81e9b8f2ca795d2696c492a4c70b5508239","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.16.3.0","containers-0.6.5.1","deepseq-1.4.6.1","random-1.2.1.1-cacc1501582bd05c5eec5dea004194a2d9ff55cb8e30c141ffdbf5e9daaf76af","splitmix-0.1.0.4-c5a30dae3b6eb47ac8ba23a866a9ff6f96961c3b68fcb8f53614067e0454a0ed","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.16.3.0"]},{"type":"pre-existing","id":"base-4.16.3.0","pkg-name":"base","pkg-version":"4.16.3.0","depends":["ghc-bignum-1.2","ghc-prim-0.8.0","rts"]},{"type":"pre-existing","id":"binary-0.8.9.0","pkg-name":"binary","pkg-version":"0.8.9.0","depends":["array-0.5.4.0","base-4.16.3.0","bytestring-0.11.3.1","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.16.3.0","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"configured","id":"clock-0.8.3-e114f0d147804c0f73def6b7e3e0abc1123ce489f19fe058ee0a85d0c30d88b3","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.16.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.16.3.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"deepseq-1.4.6.1","pkg-name":"deepseq","pkg-version":"1.4.6.1","depends":["array-0.5.4.0","base-4.16.3.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.16.3.0","filepath-1.4.2.2","time-1.11.1.1","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.12-30b204f811b2d9236d3796a4afd55e03a0ebcc236d0936fb48954c001a668d85","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.16.3.0","clock-0.8.3-e114f0d147804c0f73def6b7e3e0abc1123ce489f19fe058ee0a85d0c30d88b3","directory-1.3.6.2","filepath-1.4.2.2","process-1.6.13.2","time-1.11.1.1","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.16.3.0"]},{"type":"configured","id":"filepattern-0.1.3-553b0fa2b393f41d7a33e70dc70a212a84b4741694eae595c027e2a0bc506bee","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.16.3.0","directory-1.3.6.2","extra-1.7.12-30b204f811b2d9236d3796a4afd55e03a0ebcc236d0936fb48954c001a668d85","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.2","pkg-name":"ghc-bignum","pkg-version":"1.2","depends":["ghc-prim-0.8.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.2.4","pkg-name":"ghc-boot-th","pkg-version":"9.2.4","depends":["base-4.16.3.0"]},{"type":"pre-existing","id":"ghc-prim-0.8.0","pkg-name":"ghc-prim","pkg-version":"0.8.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-richard/hadrian/."},"dist-dir":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.4/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.6.3.0","QuickCheck-2.14.2-6d836be05ad916880fe0949228d3c81e9b8f2ca795d2696c492a4c70b5508239","base-4.16.3.0","bytestring-0.11.3.1","containers-0.6.5.1","directory-1.3.6.2","extra-1.7.12-30b204f811b2d9236d3796a4afd55e03a0ebcc236d0936fb48954c001a668d85","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-0223bbb4785f87eb64a3fba31e96bb2e36e61f5deddb02658a7bacf03d8b87c3","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unordered-containers-0.2.19.1-87379d174d8fc86572ec20203e2fba016c8d8a067bb63a99d7624c9ee76d6530"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.4/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.1.0-b1539dcc64da029988c78603d234445b9b9e1230914d6f26b14d380fe59e0e8e","pkg-name":"hashable","pkg-version":"1.4.1.0","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","pkg-src-sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","depends":["base-4.16.3.0","bytestring-0.11.3.1","containers-0.6.5.1","deepseq-1.4.6.1","ghc-bignum-1.2","ghc-prim-0.8.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-9ef32198cdd1e78830c66145fd58d308d8307d7f9673cf1db51fe0663adea5aa","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.16.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-ea71215251f637eb99b420c532ed9d47fc287d0541c7aafb9f4e7e212e22ad28","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.16.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-7863d367d217e7fe0af1683d0b88b641c00cfce9045c088f91bd42dc630b880d","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.16.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-2a68aa0f8e1547440ea68362a9d21af8f4307038e7d45b7c167ab2cfc9fc74c5","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.16.3.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.16.3.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.16.3.0","bytestring-0.11.3.1","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.16.3.0","deepseq-1.4.6.1","ghc-prim-0.8.0"]},{"type":"configured","id":"primitive-0.7.4.0-0f1f742d00a689edbb81a766aa59acc03aa6a6b05f37ea7b943ad32694c124f6","pkg-name":"primitive","pkg-version":"0.7.4.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","pkg-src-sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","depends":["base-4.16.3.0","deepseq-1.4.6.1","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.13.2","pkg-name":"process","pkg-version":"1.6.13.2","depends":["base-4.16.3.0","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1.1-cacc1501582bd05c5eec5dea004194a2d9ff55cb8e30c141ffdbf5e9daaf76af","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.16.3.0","bytestring-0.11.3.1","deepseq-1.4.6.1","mtl-2.2.2","splitmix-0.1.0.4-c5a30dae3b6eb47ac8ba23a866a9ff6f96961c3b68fcb8f53614067e0454a0ed"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-0223bbb4785f87eb64a3fba31e96bb2e36e61f5deddb02658a7bacf03d8b87c3","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.3.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.12-30b204f811b2d9236d3796a4afd55e03a0ebcc236d0936fb48954c001a668d85","filepath-1.4.2.2","filepattern-0.1.3-553b0fa2b393f41d7a33e70dc70a212a84b4741694eae595c027e2a0bc506bee","hashable-1.4.1.0-b1539dcc64da029988c78603d234445b9b9e1230914d6f26b14d380fe59e0e8e","heaps-0.4-9ef32198cdd1e78830c66145fd58d308d8307d7f9673cf1db51fe0663adea5aa","js-dgtable-0.5.2-ea71215251f637eb99b420c532ed9d47fc287d0541c7aafb9f4e7e212e22ad28","js-flot-0.8.3-7863d367d217e7fe0af1683d0b88b641c00cfce9045c088f91bd42dc630b880d","js-jquery-3.3.1-2a68aa0f8e1547440ea68362a9d21af8f4307038e7d45b7c167ab2cfc9fc74c5","primitive-0.7.4.0-0f1f742d00a689edbb81a766aa59acc03aa6a6b05f37ea7b943ad32694c124f6","process-1.6.13.2","random-1.2.1.1-cacc1501582bd05c5eec5dea004194a2d9ff55cb8e30c141ffdbf5e9daaf76af","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-87379d174d8fc86572ec20203e2fba016c8d8a067bb63a99d7624c9ee76d6530","utf8-string-1.0.2-d22b18266988d52549714440c6819d7b11afafcefe4fbf4550bb19de6eaeb0e4"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-a5a9b2dc771fb24ad7865661d1b0326859596fc0613641d32ce9d96f59315bba","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.3.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.12-30b204f811b2d9236d3796a4afd55e03a0ebcc236d0936fb48954c001a668d85","filepath-1.4.2.2","filepattern-0.1.3-553b0fa2b393f41d7a33e70dc70a212a84b4741694eae595c027e2a0bc506bee","hashable-1.4.1.0-b1539dcc64da029988c78603d234445b9b9e1230914d6f26b14d380fe59e0e8e","heaps-0.4-9ef32198cdd1e78830c66145fd58d308d8307d7f9673cf1db51fe0663adea5aa","js-dgtable-0.5.2-ea71215251f637eb99b420c532ed9d47fc287d0541c7aafb9f4e7e212e22ad28","js-flot-0.8.3-7863d367d217e7fe0af1683d0b88b641c00cfce9045c088f91bd42dc630b880d","js-jquery-3.3.1-2a68aa0f8e1547440ea68362a9d21af8f4307038e7d45b7c167ab2cfc9fc74c5","primitive-0.7.4.0-0f1f742d00a689edbb81a766aa59acc03aa6a6b05f37ea7b943ad32694c124f6","process-1.6.13.2","random-1.2.1.1-cacc1501582bd05c5eec5dea004194a2d9ff55cb8e30c141ffdbf5e9daaf76af","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-87379d174d8fc86572ec20203e2fba016c8d8a067bb63a99d7624c9ee76d6530","utf8-string-1.0.2-d22b18266988d52549714440c6819d7b11afafcefe4fbf4550bb19de6eaeb0e4"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.2.4/shake-0.19.6-e-shake-a5a9b2dc771fb24ad7865661d1b0326859596fc0613641d32ce9d96f59315bba/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-c5a30dae3b6eb47ac8ba23a866a9ff6f96961c3b68fcb8f53614067e0454a0ed","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.16.3.0","deepseq-1.4.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.18.0.0","pkg-name":"template-haskell","pkg-version":"2.18.0.0","depends":["base-4.16.3.0","ghc-boot-th-9.2.4","ghc-prim-0.8.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.16.3.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"pre-existing","id":"time-1.11.1.1","pkg-name":"time","pkg-version":"1.11.1.1","depends":["base-4.16.3.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.16.3.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.16.3.0","bytestring-0.11.3.1","time-1.11.1.1"]},{"type":"configured","id":"unordered-containers-0.2.19.1-87379d174d8fc86572ec20203e2fba016c8d8a067bb63a99d7624c9ee76d6530","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.16.3.0","deepseq-1.4.6.1","hashable-1.4.1.0-b1539dcc64da029988c78603d234445b9b9e1230914d6f26b14d380fe59e0e8e","template-haskell-2.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-d22b18266988d52549714440c6819d7b11afafcefe4fbf4550bb19de6eaeb0e4","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.16.3.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_2_5.json b/hadrian/bootstrap/plan-9_2_5.json
new file mode 100644
index 0000000000..d8367bdb40
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_2_5.json
@@ -0,0 +1 @@
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.3.0","compiler-id":"ghc-9.2.5","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.6.3.0","pkg-name":"Cabal","pkg-version":"3.6.3.0","depends":["array-0.5.4.0","base-4.16.4.0","binary-0.8.9.0","bytestring-0.11.3.1","containers-0.6.5.1","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.16.0","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2"]},{"type":"configured","id":"QuickCheck-2.14.2-a60570c1dc670dd11ee37ddb50cca2b8e1507fbfd3533a81c0d15b3e979210d9","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.16.4.0","containers-0.6.5.1","deepseq-1.4.6.1","random-1.2.1.1-885807a6bd9d41e8fc2e75d8dd80c9e20b0ba1730d05301809f964023485f9cd","splitmix-0.1.0.4-05e94c68071a79f6544a1eb40799e77fc0303dc95f5ca42c8c0e018ecfa089b5","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.16.4.0"]},{"type":"pre-existing","id":"base-4.16.4.0","pkg-name":"base","pkg-version":"4.16.4.0","depends":["ghc-bignum-1.2","ghc-prim-0.8.0","rts"]},{"type":"pre-existing","id":"binary-0.8.9.0","pkg-name":"binary","pkg-version":"0.8.9.0","depends":["array-0.5.4.0","base-4.16.4.0","bytestring-0.11.3.1","containers-0.6.5.1"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.16.4.0","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"configured","id":"clock-0.8.3-215ec906b409ed911e369445f74ad918e85cd7b8092968f82c1604247e0b0fcd","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.16.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.5.1","pkg-name":"containers","pkg-version":"0.6.5.1","depends":["array-0.5.4.0","base-4.16.4.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"deepseq-1.4.6.1","pkg-name":"deepseq","pkg-version":"1.4.6.1","depends":["array-0.5.4.0","base-4.16.4.0"]},{"type":"pre-existing","id":"directory-1.3.6.2","pkg-name":"directory","pkg-version":"1.3.6.2","depends":["base-4.16.4.0","filepath-1.4.2.2","time-1.11.1.1","unix-2.7.2.2"]},{"type":"configured","id":"extra-1.7.12-0b85ca5767dc2461848ebe03542bc268b1ae5936dc02db50abd46225b9124742","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.16.4.0","clock-0.8.3-215ec906b409ed911e369445f74ad918e85cd7b8092968f82c1604247e0b0fcd","directory-1.3.6.2","filepath-1.4.2.2","process-1.6.16.0","time-1.11.1.1","unix-2.7.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.16.4.0"]},{"type":"configured","id":"filepattern-0.1.3-9fd7bc2eeb28ea202ee356e42d64124a8d75f39744aba252872ec5069448ff53","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.16.4.0","directory-1.3.6.2","extra-1.7.12-0b85ca5767dc2461848ebe03542bc268b1ae5936dc02db50abd46225b9124742","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.2","pkg-name":"ghc-bignum","pkg-version":"1.2","depends":["ghc-prim-0.8.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.2.5","pkg-name":"ghc-boot-th","pkg-version":"9.2.5","depends":["base-4.16.4.0"]},{"type":"pre-existing","id":"ghc-prim-0.8.0","pkg-name":"ghc-prim","pkg-version":"0.8.0","depends":["rts"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-richard/hadrian/."},"dist-dir":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.5/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.6.3.0","QuickCheck-2.14.2-a60570c1dc670dd11ee37ddb50cca2b8e1507fbfd3533a81c0d15b3e979210d9","base-4.16.4.0","bytestring-0.11.3.1","containers-0.6.5.1","directory-1.3.6.2","extra-1.7.12-0b85ca5767dc2461848ebe03542bc268b1ae5936dc02db50abd46225b9124742","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-a050c4470d4d1fbb4fb1dcc975d00de383051ec04b8146758af76ae809984e1d","text-1.2.5.0","time-1.11.1.1","transformers-0.5.6.2","unordered-containers-0.2.19.1-a8318393625e269df0fa76fa14fb579266f0a91e25f180ff01b41d8a8146ca26"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.2.5/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.1.0-2d0090bc4b852e64207acb00c5993d3c4969110d2c76de6c85d8d8397c883580","pkg-name":"hashable","pkg-version":"1.4.1.0","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","pkg-src-sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","depends":["base-4.16.4.0","bytestring-0.11.3.1","containers-0.6.5.1","deepseq-1.4.6.1","ghc-bignum-1.2","ghc-prim-0.8.0","text-1.2.5.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-c5219f46f5acc26739c28a1d2d3173defe4290dc709c72d7420452f4ca3cdb15","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.16.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-6717f236827988762b171655a351e0a3db4d4ff00cbba6c248ee24870e49a222","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.16.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-3f91fca8ca3efea1322bbf30309f3f31075f84e270d14a14699fdf5c8af727bc","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.16.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-b79aaacdca50f9d6c80a5a81cbf0facb6d3babc309abd7c4829e511c58413d5d","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.16.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.16.4.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.16.4.0","bytestring-0.11.3.1","mtl-2.2.2","text-1.2.5.0"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.16.4.0","deepseq-1.4.6.1","ghc-prim-0.8.0"]},{"type":"configured","id":"primitive-0.7.4.0-01ce428768d07d7152cdf677de5d411794e857e22eca61c54ac73bd462a6fb89","pkg-name":"primitive","pkg-version":"0.7.4.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","pkg-src-sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","depends":["base-4.16.4.0","deepseq-1.4.6.1","template-haskell-2.18.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.16.0","pkg-name":"process","pkg-version":"1.6.16.0","depends":["base-4.16.4.0","deepseq-1.4.6.1","directory-1.3.6.2","filepath-1.4.2.2","unix-2.7.2.2"]},{"type":"configured","id":"random-1.2.1.1-885807a6bd9d41e8fc2e75d8dd80c9e20b0ba1730d05301809f964023485f9cd","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.16.4.0","bytestring-0.11.3.1","deepseq-1.4.6.1","mtl-2.2.2","splitmix-0.1.0.4-05e94c68071a79f6544a1eb40799e77fc0303dc95f5ca42c8c0e018ecfa089b5"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-a050c4470d4d1fbb4fb1dcc975d00de383051ec04b8146758af76ae809984e1d","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.4.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.12-0b85ca5767dc2461848ebe03542bc268b1ae5936dc02db50abd46225b9124742","filepath-1.4.2.2","filepattern-0.1.3-9fd7bc2eeb28ea202ee356e42d64124a8d75f39744aba252872ec5069448ff53","hashable-1.4.1.0-2d0090bc4b852e64207acb00c5993d3c4969110d2c76de6c85d8d8397c883580","heaps-0.4-c5219f46f5acc26739c28a1d2d3173defe4290dc709c72d7420452f4ca3cdb15","js-dgtable-0.5.2-6717f236827988762b171655a351e0a3db4d4ff00cbba6c248ee24870e49a222","js-flot-0.8.3-3f91fca8ca3efea1322bbf30309f3f31075f84e270d14a14699fdf5c8af727bc","js-jquery-3.3.1-b79aaacdca50f9d6c80a5a81cbf0facb6d3babc309abd7c4829e511c58413d5d","primitive-0.7.4.0-01ce428768d07d7152cdf677de5d411794e857e22eca61c54ac73bd462a6fb89","process-1.6.16.0","random-1.2.1.1-885807a6bd9d41e8fc2e75d8dd80c9e20b0ba1730d05301809f964023485f9cd","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-a8318393625e269df0fa76fa14fb579266f0a91e25f180ff01b41d8a8146ca26","utf8-string-1.0.2-6da47bc6d69d238101f1e6a89229b2565caafca0fff03fece9abd3304b0d2641"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-08df93c651e4d860cc034ef2581cfb154e2f13cb4f44a591432b47e14ca50c3f","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.16.4.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","directory-1.3.6.2","extra-1.7.12-0b85ca5767dc2461848ebe03542bc268b1ae5936dc02db50abd46225b9124742","filepath-1.4.2.2","filepattern-0.1.3-9fd7bc2eeb28ea202ee356e42d64124a8d75f39744aba252872ec5069448ff53","hashable-1.4.1.0-2d0090bc4b852e64207acb00c5993d3c4969110d2c76de6c85d8d8397c883580","heaps-0.4-c5219f46f5acc26739c28a1d2d3173defe4290dc709c72d7420452f4ca3cdb15","js-dgtable-0.5.2-6717f236827988762b171655a351e0a3db4d4ff00cbba6c248ee24870e49a222","js-flot-0.8.3-3f91fca8ca3efea1322bbf30309f3f31075f84e270d14a14699fdf5c8af727bc","js-jquery-3.3.1-b79aaacdca50f9d6c80a5a81cbf0facb6d3babc309abd7c4829e511c58413d5d","primitive-0.7.4.0-01ce428768d07d7152cdf677de5d411794e857e22eca61c54ac73bd462a6fb89","process-1.6.16.0","random-1.2.1.1-885807a6bd9d41e8fc2e75d8dd80c9e20b0ba1730d05301809f964023485f9cd","time-1.11.1.1","transformers-0.5.6.2","unix-2.7.2.2","unordered-containers-0.2.19.1-a8318393625e269df0fa76fa14fb579266f0a91e25f180ff01b41d8a8146ca26","utf8-string-1.0.2-6da47bc6d69d238101f1e6a89229b2565caafca0fff03fece9abd3304b0d2641"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.2.5/shake-0.19.6-e-shake-08df93c651e4d860cc034ef2581cfb154e2f13cb4f44a591432b47e14ca50c3f/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-05e94c68071a79f6544a1eb40799e77fc0303dc95f5ca42c8c0e018ecfa089b5","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.16.4.0","deepseq-1.4.6.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.18.0.0","pkg-name":"template-haskell","pkg-version":"2.18.0.0","depends":["base-4.16.4.0","ghc-boot-th-9.2.5","ghc-prim-0.8.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-1.2.5.0","pkg-name":"text","pkg-version":"1.2.5.0","depends":["array-0.5.4.0","base-4.16.4.0","binary-0.8.9.0","bytestring-0.11.3.1","deepseq-1.4.6.1","ghc-prim-0.8.0","template-haskell-2.18.0.0"]},{"type":"pre-existing","id":"time-1.11.1.1","pkg-name":"time","pkg-version":"1.11.1.1","depends":["base-4.16.4.0","deepseq-1.4.6.1"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.16.4.0"]},{"type":"pre-existing","id":"unix-2.7.2.2","pkg-name":"unix","pkg-version":"2.7.2.2","depends":["base-4.16.4.0","bytestring-0.11.3.1","time-1.11.1.1"]},{"type":"configured","id":"unordered-containers-0.2.19.1-a8318393625e269df0fa76fa14fb579266f0a91e25f180ff01b41d8a8146ca26","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.16.4.0","deepseq-1.4.6.1","hashable-1.4.1.0-2d0090bc4b852e64207acb00c5993d3c4969110d2c76de6c85d8d8397c883580","template-haskell-2.18.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-6da47bc6d69d238101f1e6a89229b2565caafca0fff03fece9abd3304b0d2641","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.16.4.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_4_1.json b/hadrian/bootstrap/plan-9_4_1.json
new file mode 100644
index 0000000000..6810873b19
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_4_1.json
@@ -0,0 +1 @@
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.3.0","compiler-id":"ghc-9.4.1","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.15.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.2-44aec2227e27eddf9f77d5018302a530349bc6f239b48a12da6950ed5bbf27c6","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.1-106248b11573776ddf460b1b18f07785d6ec796405301f531b1205ec94df3e12","splitmix-0.1.0.4-db906bed6d86598d897c981156f45a8b2165bae1ccdb86e3aa835176a54e17bd","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.3-e675cadb63ad5e90c1cabbe27850d99000d5db86a5062c884ce4164f4a7378d1","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"configured","id":"extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.17.0.0","clock-0.8.3-e675cadb63ad5e90c1cabbe27850d99000d5db86a5062c884ce4164f4a7378d1","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.15.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-002c7183c9aab179816c0672de9fddf0aee1ca80b60510ac8dbe97b45f3925c2","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.1","pkg-name":"ghc-boot-th","pkg-version":"9.4.1","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-richard/hadrian/."},"dist-dir":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.8.1.0","QuickCheck-2.14.2-44aec2227e27eddf9f77d5018302a530349bc6f239b48a12da6950ed5bbf27c6","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","directory-1.3.7.1","extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-7fcc31089e93033024332162691ea2ab0c4586b29998547d42ec2b41a2adf798","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.19.1-2dfebf37e13feb10818516575725f2e28fb372cc5f508d69d310641771b7bdc1"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.1/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.1.0-a4b5ec38982dc9e423bd96c3f9c684589209ab541b195a7deb1864e09d3b4a30","pkg-name":"hashable","pkg-version":"1.4.1.0","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","pkg-src-sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","ghc-bignum-1.3","ghc-prim-0.9.0","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-d1d68f7c84e754e5527bfaaf57fe936b7f3b2b13e01ac163bc9a145b2c17fb89","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-7f3616a8d595fe6976ea0cb3b170d51977ab2192394f2cced30c728a1d74f43f","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-de26baf8fa0904dfce2de4ccf078d2c29c945ae9f648843adff7b2ba89aaf21e","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-8a9c7917a9dfc2db75c2a6e4ccbf90329439c9eafb99fef5ab5eaf3d84b7367a","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.7.4.0-b6bc710a6ba5bb21f43b8e6bf53b2208b4b72a6eccf0832b5db9a2a550b7c6d0","pkg-name":"primitive","pkg-version":"0.7.4.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","pkg-src-sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.15.0","pkg-name":"process","pkg-version":"1.6.15.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.1-106248b11573776ddf460b1b18f07785d6ec796405301f531b1205ec94df3e12","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.4-db906bed6d86598d897c981156f45a8b2165bae1ccdb86e3aa835176a54e17bd"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-7fcc31089e93033024332162691ea2ab0c4586b29998547d42ec2b41a2adf798","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","filepath-1.4.2.2","filepattern-0.1.3-002c7183c9aab179816c0672de9fddf0aee1ca80b60510ac8dbe97b45f3925c2","hashable-1.4.1.0-a4b5ec38982dc9e423bd96c3f9c684589209ab541b195a7deb1864e09d3b4a30","heaps-0.4-d1d68f7c84e754e5527bfaaf57fe936b7f3b2b13e01ac163bc9a145b2c17fb89","js-dgtable-0.5.2-7f3616a8d595fe6976ea0cb3b170d51977ab2192394f2cced30c728a1d74f43f","js-flot-0.8.3-de26baf8fa0904dfce2de4ccf078d2c29c945ae9f648843adff7b2ba89aaf21e","js-jquery-3.3.1-8a9c7917a9dfc2db75c2a6e4ccbf90329439c9eafb99fef5ab5eaf3d84b7367a","primitive-0.7.4.0-b6bc710a6ba5bb21f43b8e6bf53b2208b4b72a6eccf0832b5db9a2a550b7c6d0","process-1.6.15.0","random-1.2.1.1-106248b11573776ddf460b1b18f07785d6ec796405301f531b1205ec94df3e12","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-2dfebf37e13feb10818516575725f2e28fb372cc5f508d69d310641771b7bdc1","utf8-string-1.0.2-8b361b9c94c1703201cb4bc630efe378dcce466e835f8da6034b19636a724526"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-13fa0b4fa4b17cc046bd3072ce4c13f44cbd7065154b176f9805f69b0c50544a","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-ba1ae6da8d332db535ac32bf5d1361840bf9c054813d92fba0233f72ee4ed8dd","filepath-1.4.2.2","filepattern-0.1.3-002c7183c9aab179816c0672de9fddf0aee1ca80b60510ac8dbe97b45f3925c2","hashable-1.4.1.0-a4b5ec38982dc9e423bd96c3f9c684589209ab541b195a7deb1864e09d3b4a30","heaps-0.4-d1d68f7c84e754e5527bfaaf57fe936b7f3b2b13e01ac163bc9a145b2c17fb89","js-dgtable-0.5.2-7f3616a8d595fe6976ea0cb3b170d51977ab2192394f2cced30c728a1d74f43f","js-flot-0.8.3-de26baf8fa0904dfce2de4ccf078d2c29c945ae9f648843adff7b2ba89aaf21e","js-jquery-3.3.1-8a9c7917a9dfc2db75c2a6e4ccbf90329439c9eafb99fef5ab5eaf3d84b7367a","primitive-0.7.4.0-b6bc710a6ba5bb21f43b8e6bf53b2208b4b72a6eccf0832b5db9a2a550b7c6d0","process-1.6.15.0","random-1.2.1.1-106248b11573776ddf460b1b18f07785d6ec796405301f531b1205ec94df3e12","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-2dfebf37e13feb10818516575725f2e28fb372cc5f508d69d310641771b7bdc1","utf8-string-1.0.2-8b361b9c94c1703201cb4bc630efe378dcce466e835f8da6034b19636a724526"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.4.1/shake-0.19.6-e-shake-13fa0b4fa4b17cc046bd3072ce4c13f44cbd7065154b176f9805f69b0c50544a/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-db906bed6d86598d897c981156f45a8b2165bae1ccdb86e3aa835176a54e17bd","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.1","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-2dfebf37e13feb10818516575725f2e28fb372cc5f508d69d310641771b7bdc1","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.1.0-a4b5ec38982dc9e423bd96c3f9c684589209ab541b195a7deb1864e09d3b4a30","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-8b361b9c94c1703201cb4bc630efe378dcce466e835f8da6034b19636a724526","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_4_2.json b/hadrian/bootstrap/plan-9_4_2.json
new file mode 100644
index 0000000000..b73722b077
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_4_2.json
@@ -0,0 +1 @@
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.3.0","compiler-id":"ghc-9.4.2","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.15.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.2-3dda78ffb9c0183413979d4bca4a88aa2dfb8fb922ef115a947bd1bf3458add0","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.1-9993604da3abd0daa207bd669568b3090a5800f579313cdde4e4f2dd1205a948","splitmix-0.1.0.4-038952c2592bf9a18f363fc90951b486b79df30ad213b8f2b39e885e464e4944","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.3-0129568eebbfa961d0c38a3dcb8b8cd195f8a921fe59eb9ceddfc368d87f7b74","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"configured","id":"extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.17.0.0","clock-0.8.3-0129568eebbfa961d0c38a3dcb8b8cd195f8a921fe59eb9ceddfc368d87f7b74","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.15.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-08a9ec632f1ac6000bb77c2013c1110b63c20c3139ed08f95a22f36da4f3ae2d","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.2","pkg-name":"ghc-boot-th","pkg-version":"9.4.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-richard/hadrian/."},"dist-dir":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.8.1.0","QuickCheck-2.14.2-3dda78ffb9c0183413979d4bca4a88aa2dfb8fb922ef115a947bd1bf3458add0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","directory-1.3.7.1","extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-257eb31273ae669c4e62f6322d81878592c5b1f8a9d10debf31224e5d96cf58d","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.19.1-4cc4f89259793c0d747d868c1cc9d9a553be0aa612fff0e1a7e9aae72c44377a"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.2/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.1.0-4bb7cd9878cf6859435f66ab839e1bcdfc9a8c7302d108f18983548f19d54bc8","pkg-name":"hashable","pkg-version":"1.4.1.0","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","pkg-src-sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","ghc-bignum-1.3","ghc-prim-0.9.0","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-3f9ca831e2a710f80e5a253748a1aa605a7219f998fa88ce43b69c22d0075c73","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-f7a634b948774c98a2be281a9a2244964a18c3b15b559a34248b4d851e8efb1b","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-b34534f666396e8ad058c9e0cb79b8d2cfe4294fc870aa2daf758c66a4533545","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-4a51d1b0e66cd03e445290dde0449cd0ba22dd046bccc10876992c1527bc8a6f","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.7.4.0-1eab7cba9a57fd06f2d2d14c2f6275e9f1c3d9ead8c707838dd9cba886e7d2a9","pkg-name":"primitive","pkg-version":"0.7.4.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","pkg-src-sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.15.0","pkg-name":"process","pkg-version":"1.6.15.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.1-9993604da3abd0daa207bd669568b3090a5800f579313cdde4e4f2dd1205a948","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.4-038952c2592bf9a18f363fc90951b486b79df30ad213b8f2b39e885e464e4944"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-257eb31273ae669c4e62f6322d81878592c5b1f8a9d10debf31224e5d96cf58d","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","filepath-1.4.2.2","filepattern-0.1.3-08a9ec632f1ac6000bb77c2013c1110b63c20c3139ed08f95a22f36da4f3ae2d","hashable-1.4.1.0-4bb7cd9878cf6859435f66ab839e1bcdfc9a8c7302d108f18983548f19d54bc8","heaps-0.4-3f9ca831e2a710f80e5a253748a1aa605a7219f998fa88ce43b69c22d0075c73","js-dgtable-0.5.2-f7a634b948774c98a2be281a9a2244964a18c3b15b559a34248b4d851e8efb1b","js-flot-0.8.3-b34534f666396e8ad058c9e0cb79b8d2cfe4294fc870aa2daf758c66a4533545","js-jquery-3.3.1-4a51d1b0e66cd03e445290dde0449cd0ba22dd046bccc10876992c1527bc8a6f","primitive-0.7.4.0-1eab7cba9a57fd06f2d2d14c2f6275e9f1c3d9ead8c707838dd9cba886e7d2a9","process-1.6.15.0","random-1.2.1.1-9993604da3abd0daa207bd669568b3090a5800f579313cdde4e4f2dd1205a948","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-4cc4f89259793c0d747d868c1cc9d9a553be0aa612fff0e1a7e9aae72c44377a","utf8-string-1.0.2-74175dc1969f6d60b6b78e0f9ae512859446f68011f9742d4519de87229b0554"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-f617076000cfd056d387d5c4be82c3c0160fc21faa947842b00eed70d815a06c","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-f9efaf6c8d3c0aff6a2d5790a849d70549163752fac9725bf7139c733763d52d","filepath-1.4.2.2","filepattern-0.1.3-08a9ec632f1ac6000bb77c2013c1110b63c20c3139ed08f95a22f36da4f3ae2d","hashable-1.4.1.0-4bb7cd9878cf6859435f66ab839e1bcdfc9a8c7302d108f18983548f19d54bc8","heaps-0.4-3f9ca831e2a710f80e5a253748a1aa605a7219f998fa88ce43b69c22d0075c73","js-dgtable-0.5.2-f7a634b948774c98a2be281a9a2244964a18c3b15b559a34248b4d851e8efb1b","js-flot-0.8.3-b34534f666396e8ad058c9e0cb79b8d2cfe4294fc870aa2daf758c66a4533545","js-jquery-3.3.1-4a51d1b0e66cd03e445290dde0449cd0ba22dd046bccc10876992c1527bc8a6f","primitive-0.7.4.0-1eab7cba9a57fd06f2d2d14c2f6275e9f1c3d9ead8c707838dd9cba886e7d2a9","process-1.6.15.0","random-1.2.1.1-9993604da3abd0daa207bd669568b3090a5800f579313cdde4e4f2dd1205a948","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-4cc4f89259793c0d747d868c1cc9d9a553be0aa612fff0e1a7e9aae72c44377a","utf8-string-1.0.2-74175dc1969f6d60b6b78e0f9ae512859446f68011f9742d4519de87229b0554"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.4.2/shake-0.19.6-e-shake-f617076000cfd056d387d5c4be82c3c0160fc21faa947842b00eed70d815a06c/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-038952c2592bf9a18f363fc90951b486b79df30ad213b8f2b39e885e464e4944","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.2","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-4cc4f89259793c0d747d868c1cc9d9a553be0aa612fff0e1a7e9aae72c44377a","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.1.0-4bb7cd9878cf6859435f66ab839e1bcdfc9a8c7302d108f18983548f19d54bc8","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-74175dc1969f6d60b6b78e0f9ae512859446f68011f9742d4519de87229b0554","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-9_4_3.json b/hadrian/bootstrap/plan-9_4_3.json
new file mode 100644
index 0000000000..0be147f54b
--- /dev/null
+++ b/hadrian/bootstrap/plan-9_4_3.json
@@ -0,0 +1 @@
+{"cabal-version":"3.6.2.0","cabal-lib-version":"3.6.3.0","compiler-id":"ghc-9.4.3","os":"linux","arch":"x86_64","install-plan":[{"type":"pre-existing","id":"Cabal-3.8.1.0","pkg-name":"Cabal","pkg-version":"3.8.1.0","depends":["Cabal-syntax-3.8.1.0","array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","process-1.6.16.0","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"pre-existing","id":"Cabal-syntax-3.8.1.0","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","pretty-1.1.3.6","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unix-2.7.3"]},{"type":"configured","id":"QuickCheck-2.14.2-bd36ed45f2f36a278bda4324fa38bb3bd6d2e4bde8819b78a239a5417138b368","pkg-name":"QuickCheck","pkg-version":"2.14.2","flags":{"old-random":false,"templatehaskell":true},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","pkg-src-sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","depends":["base-4.17.0.0","containers-0.6.6","deepseq-1.4.8.0","random-1.2.1.1-d9d024ad839cf59e080833d3160f414c51e3c921a07e4605644d3a24096423af","splitmix-0.1.0.4-710f6aef842a6d0debca56a044407f2910ce264a4b0602d9d4de9ddecf46e668","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.4.0","pkg-name":"array","pkg-version":"0.5.4.0","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"base-4.17.0.0","pkg-name":"base","pkg-version":"4.17.0.0","depends":["ghc-bignum-1.3","ghc-prim-0.9.0","rts-1.0.2"]},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.4.0","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6"]},{"type":"pre-existing","id":"bytestring-0.11.3.1","pkg-name":"bytestring","pkg-version":"0.11.3.1","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"configured","id":"clock-0.8.3-27cb5e33ec1e869f298606d596f82ca84fe82486f8033c732d01ac07350ac528","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.6","pkg-name":"containers","pkg-version":"0.6.6","depends":["array-0.5.4.0","base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.0","pkg-name":"deepseq","pkg-version":"1.4.8.0","depends":["array-0.5.4.0","base-4.17.0.0","ghc-prim-0.9.0"]},{"type":"pre-existing","id":"directory-1.3.7.1","pkg-name":"directory","pkg-version":"1.3.7.1","depends":["base-4.17.0.0","filepath-1.4.2.2","time-1.12.2","unix-2.7.3"]},{"type":"configured","id":"extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","pkg-name":"extra","pkg-version":"1.7.12","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","pkg-src-sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","depends":["base-4.17.0.0","clock-0.8.3-27cb5e33ec1e869f298606d596f82ca84fe82486f8033c732d01ac07350ac528","directory-1.3.7.1","filepath-1.4.2.2","process-1.6.16.0","time-1.12.2","unix-2.7.3"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.2.2","pkg-name":"filepath","pkg-version":"1.4.2.2","depends":["base-4.17.0.0"]},{"type":"configured","id":"filepattern-0.1.3-23d7f8ede2c552ae35fa6871e68c09d5495fe0ac277049b6b325cc6f11259b80","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.17.0.0","directory-1.3.7.1","extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","filepath-1.4.2.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.9.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.4.3","pkg-name":"ghc-boot-th","pkg-version":"9.4.3","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"ghc-prim-0.9.0","pkg-name":"ghc-prim","pkg-version":"0.9.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":true,"threaded":true},"style":"local","pkg-src":{"type":"local","path":"/home/matt/ghc-richard/hadrian/."},"dist-dir":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian","depends":["Cabal-3.8.1.0","QuickCheck-2.14.2-bd36ed45f2f36a278bda4324fa38bb3bd6d2e4bde8819b78a239a5417138b368","base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","directory-1.3.7.1","extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","filepath-1.4.2.2","mtl-2.2.2","parsec-3.1.15.0","shake-0.19.6-24d45983edd642a59db2c0f82a5a3283045f4deca59d0f24df48f572e32fbe2f","text-2.0.1","time-1.12.2","transformers-0.5.6.2","unordered-containers-0.2.19.1-c32bfc04e9633fd1d796cc0bdbb86a63a898447fbe99e93fb9daab6ea1882ce0"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/home/matt/ghc-richard/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.4.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.1.0-26698915dce8a7ccfec9b40e311f75d805c8e3bdf3cee6fb658a9e24af3f3a40","pkg-name":"hashable","pkg-version":"1.4.1.0","flags":{"containers":true,"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","pkg-src-sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","depends":["base-4.17.0.0","bytestring-0.11.3.1","containers-0.6.6","deepseq-1.4.8.0","ghc-bignum-1.3","ghc-prim-0.9.0","text-2.0.1"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-144db1859f80e348dd364b0344727f2186256658a0f2bd2a1aad9c4c1db630a6","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-ce51504654bf180c4ea9d29cda6d8256812da1ea6d2e631267db1cb30cae915d","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-006c070aea66f942992ff19703d82059efcfd6ae82854bcfeb4083431bc579aa","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-257058014593a08cf3c7160e6a2fbf8b955f738e214c1dbc3ce0042b6a57ae6f","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.17.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.2.2","pkg-name":"mtl","pkg-version":"2.2.2","depends":["base-4.17.0.0","transformers-0.5.6.2"]},{"type":"pre-existing","id":"parsec-3.1.15.0","pkg-name":"parsec","pkg-version":"3.1.15.0","depends":["base-4.17.0.0","bytestring-0.11.3.1","mtl-2.2.2","text-2.0.1"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.17.0.0","deepseq-1.4.8.0","ghc-prim-0.9.0"]},{"type":"configured","id":"primitive-0.7.4.0-d996e3b44f40eedb09f1aca0a3f64a54e88713420f159784dfe9f09499f6f32b","pkg-name":"primitive","pkg-version":"0.7.4.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","pkg-src-sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","depends":["base-4.17.0.0","deepseq-1.4.8.0","template-haskell-2.19.0.0","transformers-0.5.6.2"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.16.0","pkg-name":"process","pkg-version":"1.6.16.0","depends":["base-4.17.0.0","deepseq-1.4.8.0","directory-1.3.7.1","filepath-1.4.2.2","unix-2.7.3"]},{"type":"configured","id":"random-1.2.1.1-d9d024ad839cf59e080833d3160f414c51e3c921a07e4605644d3a24096423af","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.17.0.0","bytestring-0.11.3.1","deepseq-1.4.8.0","mtl-2.2.2","splitmix-0.1.0.4-710f6aef842a6d0debca56a044407f2910ce264a4b0602d9d4de9ddecf46e668"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.6-24d45983edd642a59db2c0f82a5a3283045f4deca59d0f24df48f572e32fbe2f","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","filepath-1.4.2.2","filepattern-0.1.3-23d7f8ede2c552ae35fa6871e68c09d5495fe0ac277049b6b325cc6f11259b80","hashable-1.4.1.0-26698915dce8a7ccfec9b40e311f75d805c8e3bdf3cee6fb658a9e24af3f3a40","heaps-0.4-144db1859f80e348dd364b0344727f2186256658a0f2bd2a1aad9c4c1db630a6","js-dgtable-0.5.2-ce51504654bf180c4ea9d29cda6d8256812da1ea6d2e631267db1cb30cae915d","js-flot-0.8.3-006c070aea66f942992ff19703d82059efcfd6ae82854bcfeb4083431bc579aa","js-jquery-3.3.1-257058014593a08cf3c7160e6a2fbf8b955f738e214c1dbc3ce0042b6a57ae6f","primitive-0.7.4.0-d996e3b44f40eedb09f1aca0a3f64a54e88713420f159784dfe9f09499f6f32b","process-1.6.16.0","random-1.2.1.1-d9d024ad839cf59e080833d3160f414c51e3c921a07e4605644d3a24096423af","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-c32bfc04e9633fd1d796cc0bdbb86a63a898447fbe99e93fb9daab6ea1882ce0","utf8-string-1.0.2-b80856b75fa2fd6a3479749a275df202f796046854b0d6f9da80ab1b4390f939"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.6-e-shake-83121b0b052601a3faa415561e9baba786494f0200a168a3a0832f23e65e7a7f","pkg-name":"shake","pkg-version":"0.19.6","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","pkg-src-sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","depends":["base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","directory-1.3.7.1","extra-1.7.12-2f461c53f9b08e5408efea172f9149bfec383edafad68aa7599176c16a13dede","filepath-1.4.2.2","filepattern-0.1.3-23d7f8ede2c552ae35fa6871e68c09d5495fe0ac277049b6b325cc6f11259b80","hashable-1.4.1.0-26698915dce8a7ccfec9b40e311f75d805c8e3bdf3cee6fb658a9e24af3f3a40","heaps-0.4-144db1859f80e348dd364b0344727f2186256658a0f2bd2a1aad9c4c1db630a6","js-dgtable-0.5.2-ce51504654bf180c4ea9d29cda6d8256812da1ea6d2e631267db1cb30cae915d","js-flot-0.8.3-006c070aea66f942992ff19703d82059efcfd6ae82854bcfeb4083431bc579aa","js-jquery-3.3.1-257058014593a08cf3c7160e6a2fbf8b955f738e214c1dbc3ce0042b6a57ae6f","primitive-0.7.4.0-d996e3b44f40eedb09f1aca0a3f64a54e88713420f159784dfe9f09499f6f32b","process-1.6.16.0","random-1.2.1.1-d9d024ad839cf59e080833d3160f414c51e3c921a07e4605644d3a24096423af","time-1.12.2","transformers-0.5.6.2","unix-2.7.3","unordered-containers-0.2.19.1-c32bfc04e9633fd1d796cc0bdbb86a63a898447fbe99e93fb9daab6ea1882ce0","utf8-string-1.0.2-b80856b75fa2fd6a3479749a275df202f796046854b0d6f9da80ab1b4390f939"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/matt/.cabal/store/ghc-9.4.3/shake-0.19.6-e-shake-83121b0b052601a3faa415561e9baba786494f0200a168a3a0832f23e65e7a7f/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-710f6aef842a6d0debca56a044407f2910ce264a4b0602d9d4de9ddecf46e668","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.17.0.0","deepseq-1.4.8.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"template-haskell-2.19.0.0","pkg-name":"template-haskell","pkg-version":"2.19.0.0","depends":["base-4.17.0.0","ghc-boot-th-9.4.3","ghc-prim-0.9.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.1","pkg-name":"text","pkg-version":"2.0.1","depends":["array-0.5.4.0","base-4.17.0.0","binary-0.8.9.1","bytestring-0.11.3.1","deepseq-1.4.8.0","ghc-prim-0.9.0","template-haskell-2.19.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.17.0.0","deepseq-1.4.8.0"]},{"type":"pre-existing","id":"transformers-0.5.6.2","pkg-name":"transformers","pkg-version":"0.5.6.2","depends":["base-4.17.0.0"]},{"type":"pre-existing","id":"unix-2.7.3","pkg-name":"unix","pkg-version":"2.7.3","depends":["base-4.17.0.0","bytestring-0.11.3.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-c32bfc04e9633fd1d796cc0bdbb86a63a898447fbe99e93fb9daab6ea1882ce0","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.17.0.0","deepseq-1.4.8.0","hashable-1.4.1.0-26698915dce8a7ccfec9b40e311f75d805c8e3bdf3cee6fb658a9e24af3f3a40","template-haskell-2.19.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-b80856b75fa2fd6a3479749a275df202f796046854b0d6f9da80ab1b4390f939","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.17.0.0","bytestring-0.11.3.1"],"exe-depends":[],"component-name":"lib"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_1.json b/hadrian/bootstrap/plan-bootstrap-8_10_1.json
deleted file mode 100644
index bcc9add71a..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.10.0"},{"package":"containers","version":"0.6.2.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.3.2"},{"package":"parsec","version":"3.1.14.0"},{"package":"pretty","version":"1.1.3.6"},{"package":"process","version":"1.6.8.2"},{"package":"Cabal","version":"3.2.0.0"},{"package":"ghc-boot-th","version":"8.10.1"},{"package":"template-haskell","version":"2.16.0.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_2.json b/hadrian/bootstrap/plan-bootstrap-8_10_2.json
deleted file mode 100644
index 4fcbffd9c5..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.10.0"},{"package":"containers","version":"0.6.2.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.3.2"},{"package":"parsec","version":"3.1.14.0"},{"package":"pretty","version":"1.1.3.6"},{"package":"process","version":"1.6.9.0"},{"package":"Cabal","version":"3.2.0.0"},{"package":"ghc-boot-th","version":"8.10.2"},{"package":"template-haskell","version":"2.16.0.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_3.json b/hadrian/bootstrap/plan-bootstrap-8_10_3.json
deleted file mode 100644
index 0b76a18a2b..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_3.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.2.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.3"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.9.0"},{"package":"Cabal","version":"3.2.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_4.json b/hadrian/bootstrap/plan-bootstrap-8_10_4.json
deleted file mode 100644
index 12977226c6..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.2.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.4"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.9.0"},{"package":"Cabal","version":"3.2.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_5.json b/hadrian/bootstrap/plan-bootstrap-8_10_5.json
deleted file mode 100644
index b978a67f84..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_5.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0.1"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.2.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.4.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.5"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.9.0"},{"package":"Cabal","version":"3.2.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-8_10_7.json b/hadrian/bootstrap/plan-bootstrap-8_10_7.json
deleted file mode 100644
index 6715c4dcfd..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-8_10_7.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","revision":0,"src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","flags":["-optimised-mixer"],"package":"splitmix","version":"0.1.0.3"},{"source":"hackage","cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","revision":6,"src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","flags":[],"package":"random","version":"1.2.0"},{"source":"hackage","cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","version":"2.14.2"},{"source":"hackage","cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","revision":0,"src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","flags":["-llvm"],"package":"clock","version":"0.8.2"},{"source":"hackage","cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","revision":0,"src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","flags":[],"package":"extra","version":"1.7.9"},{"source":"hackage","cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","revision":0,"src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","flags":[],"package":"filepattern","version":"0.1.2"},{"source":"hackage","cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","revision":0,"src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","flags":["+integer-gmp"],"package":"hashable","version":"1.3.1.0"},{"source":"hackage","cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","version":"0.4"},{"source":"hackage","cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","version":"0.5.2"},{"source":"hackage","cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","version":"0.8.3"},{"source":"hackage","cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","version":"3.3.1"},{"source":"hackage","cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","revision":3,"src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","flags":[],"package":"primitive","version":"0.7.1.0"},{"source":"hackage","cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","revision":0,"src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","flags":["-debug"],"package":"unordered-containers","version":"0.2.13.0"},{"source":"hackage","cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","version":"1.0.2"},{"source":"hackage","cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","revision":0,"src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","flags":["-cloud","-embed-files","-portable"],"package":"shake","version":"0.19.4"},{"source":"local","cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+threaded"],"package":"hadrian","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.1"},{"package":"ghc-prim","version":"0.6.1"},{"package":"integer-gmp","version":"1.0.3.0"},{"package":"base","version":"4.14.3.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.4.0"},{"package":"bytestring","version":"0.10.12.0"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.0"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"8.10.7"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.16.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.2.1.0"}]}
diff --git a/hadrian/bootstrap/plan-bootstrap-9_0_1.json b/hadrian/bootstrap/plan-bootstrap-9_0_1.json
deleted file mode 100644
index f166623da5..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-9_0_1.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"source":"hackage","package":"splitmix","version":"0.1.0.3","flags":["-optimised-mixer"],"cabal_sha256":"fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c","src_sha256":"46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35","revision":0},{"source":"hackage","package":"random","version":"1.2.0","flags":[],"cabal_sha256":"195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3","src_sha256":"e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de","revision":6},{"source":"hackage","package":"QuickCheck","version":"2.14.2","flags":["-old-random","+templatehaskell"],"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","revision":0},{"source":"hackage","package":"clock","version":"0.8.2","flags":["-llvm"],"cabal_sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a","src_sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","revision":0},{"source":"hackage","package":"extra","version":"1.7.9","flags":[],"cabal_sha256":"f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0","src_sha256":"f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d","revision":0},{"source":"hackage","package":"filepattern","version":"0.1.2","flags":[],"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","revision":0},{"source":"hackage","package":"hashable","version":"1.3.1.0","flags":["+integer-gmp"],"cabal_sha256":"d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076","src_sha256":"8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4","revision":0},{"source":"hackage","package":"heaps","version":"0.4","flags":[],"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","revision":0},{"source":"hackage","package":"js-dgtable","version":"0.5.2","flags":[],"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","revision":0},{"source":"hackage","package":"js-flot","version":"0.8.3","flags":[],"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","revision":0},{"source":"hackage","package":"js-jquery","version":"3.3.1","flags":[],"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","revision":0},{"source":"hackage","package":"primitive","version":"0.7.1.0","flags":[],"cabal_sha256":"29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f","src_sha256":"6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0","revision":3},{"source":"hackage","package":"unordered-containers","version":"0.2.13.0","flags":["-debug"],"cabal_sha256":"6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078","src_sha256":"86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55","revision":0},{"source":"hackage","package":"utf8-string","version":"1.0.2","flags":[],"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","revision":0},{"source":"hackage","package":"shake","version":"0.19.4","flags":["-cloud","-embed-files","-portable"],"cabal_sha256":"be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9","src_sha256":"5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee","revision":0},{"source":"local","package":"hadrian","version":"0.1.0.0","flags":["+threaded"],"cabal_sha256":null,"src_sha256":null,"revision":null}],"builtin":[{"package":"rts","version":"1.0"},{"package":"ghc-prim","version":"0.7.0"},{"package":"ghc-bignum","version":"1.0"},{"package":"base","version":"4.15.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.5.0"},{"package":"bytestring","version":"0.10.12.1"},{"package":"containers","version":"0.6.4.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.1"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"9.0.1"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.17.0.0"},{"package":"text","version":"1.2.4.1"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.11.0"},{"package":"Cabal","version":"3.4.0.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_0_2.json b/hadrian/bootstrap/plan-bootstrap-9_0_2.json
deleted file mode 100644
index 1d5aa6af3f..0000000000
--- a/hadrian/bootstrap/plan-bootstrap-9_0_2.json
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":[{"cabal_sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","revision":0,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","revision":0,"src_sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","flags":[],"package":"random","source":"hackage","version":"1.2.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"eb6758d0160d607e0c45dbd6b196f515b9a589fd4f6d2f926929dd5d56282d37","revision":0,"src_sha256":"20a21c4b7adb0fd844b25e196241467406a28286b021f9b7a082ab03fa8015eb","flags":[],"package":"base-orphans","source":"hackage","version":"0.8.6"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","revision":0,"src_sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","flags":[],"package":"extra","source":"hackage","version":"1.7.10"},{"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","revision":0,"src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","flags":[],"package":"filepattern","source":"hackage","version":"0.1.2"},{"cabal_sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","revision":0,"src_sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.0.2"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","revision":0,"src_sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","flags":[],"package":"primitive","source":"hackage","version":"0.7.3.0"},{"cabal_sha256":"50d72c7945df6389d0bb683dea1c7529b28b26f8c632de186437d1e866af8cf8","revision":0,"src_sha256":"c49e3a6e0b6aae68c035b163e54f3521d1d65d0a3543fa46eaeddc97b4375a17","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.17.0"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.7.0"},{"package":"ghc-bignum","version":"1.1"},{"package":"base","version":"4.15.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.5.0"},{"package":"bytestring","version":"0.10.12.1"},{"package":"containers","version":"0.6.4.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"9.0.2"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.17.0.0"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.4.1.0"}]}
diff --git a/hadrian/bootstrap/plan-bootstrap-9_2_1.json b/hadrian/bootstrap/plan-bootstrap-9_2_1.json
new file mode 100644
index 0000000000..5e772c891d
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_2_1.json
@@ -0,0 +1 @@
+{"dependencies":[{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","revision":1,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","revision":0,"src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","flags":[],"package":"random","source":"hackage","version":"1.2.1.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","revision":0,"src_sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","flags":[],"package":"extra","source":"hackage","version":"1.7.12"},{"cabal_sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","revision":0,"src_sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","flags":[],"package":"filepattern","source":"hackage","version":"0.1.3"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","revision":0,"src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.1.0"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","revision":0,"src_sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","flags":[],"package":"primitive","source":"hackage","version":"0.7.4.0"},{"cabal_sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","revision":1,"src_sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.19.1"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+selftest","+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.0"},{"package":"bytestring","version":"0.11.1.0"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.11.1.1"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"9.2.1"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.6.0.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_2_2.json b/hadrian/bootstrap/plan-bootstrap-9_2_2.json
index 68b7355dc9..97a8a22504 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_2_2.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_2_2.json
@@ -1 +1 @@
-{"dependencies":[{"cabal_sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","revision":0,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","revision":0,"src_sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","flags":[],"package":"random","source":"hackage","version":"1.2.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","revision":0,"src_sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","flags":[],"package":"extra","source":"hackage","version":"1.7.10"},{"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","revision":0,"src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","flags":[],"package":"filepattern","source":"hackage","version":"0.1.2"},{"cabal_sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","revision":0,"src_sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.0.2"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","revision":0,"src_sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","flags":[],"package":"primitive","source":"hackage","version":"0.7.3.0"},{"cabal_sha256":"50d72c7945df6389d0bb683dea1c7529b28b26f8c632de186437d1e866af8cf8","revision":0,"src_sha256":"c49e3a6e0b6aae68c035b163e54f3521d1d65d0a3543fa46eaeddc97b4375a17","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.17.0"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.1"},{"package":"ghc-boot-th","version":"9.2.2"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"bytestring","version":"0.11.3.0"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.11.1.1"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.15.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.6.3.0"}]} \ No newline at end of file
+{"dependencies":[{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","revision":1,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","revision":0,"src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","flags":[],"package":"random","source":"hackage","version":"1.2.1.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","revision":0,"src_sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","flags":[],"package":"extra","source":"hackage","version":"1.7.12"},{"cabal_sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","revision":0,"src_sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","flags":[],"package":"filepattern","source":"hackage","version":"0.1.3"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","revision":0,"src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.1.0"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","revision":0,"src_sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","flags":[],"package":"primitive","source":"hackage","version":"0.7.4.0"},{"cabal_sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","revision":1,"src_sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.19.1"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+selftest","+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.1"},{"package":"ghc-boot-th","version":"9.2.2"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"bytestring","version":"0.11.3.0"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.11.1.1"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.15.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.6.3.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_2_3.json b/hadrian/bootstrap/plan-bootstrap-9_2_3.json
index 43c18e9cff..1527071461 100644
--- a/hadrian/bootstrap/plan-bootstrap-9_2_3.json
+++ b/hadrian/bootstrap/plan-bootstrap-9_2_3.json
@@ -1 +1 @@
-{"dependencies":[{"cabal_sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","revision":0,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","revision":0,"src_sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","flags":[],"package":"random","source":"hackage","version":"1.2.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"e384751317577554f873812358fab022da02aa9a286c9341308fac83f4d766c5","revision":0,"src_sha256":"9fdfe67986c89b6cc7a648904a997f4b774f8173cec3de64289d9c45224c4140","flags":[],"package":"extra","source":"hackage","version":"1.7.10"},{"cabal_sha256":"aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81","revision":0,"src_sha256":"d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b","flags":[],"package":"filepattern","source":"hackage","version":"0.1.2"},{"cabal_sha256":"0cddd0229d1aac305ea0404409c0bbfab81f075817bd74b8b2929eff58333e55","revision":0,"src_sha256":"83606edd356d914c075ecd44f6d5fe91a3b186aa0683c8dd8c9a7e8e22a47600","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.0.2"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"6b28a1c0572f5ca50597ba8388aeade21515842969ae192cdc6bfca81367bf56","revision":0,"src_sha256":"3c0cfda67f1ee6f7f65108ad6f973b5bbb35ddba34b3c87746a7448f787501dc","flags":[],"package":"primitive","source":"hackage","version":"0.7.3.0"},{"cabal_sha256":"50d72c7945df6389d0bb683dea1c7529b28b26f8c632de186437d1e866af8cf8","revision":0,"src_sha256":"c49e3a6e0b6aae68c035b163e54f3521d1d65d0a3543fa46eaeddc97b4375a17","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.17.0"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.2.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.1"},{"package":"ghc-boot-th","version":"9.2.3"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"bytestring","version":"0.11.3.1"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.11.1.1"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.15.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.6.3.0"}]}
+{"dependencies":[{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","revision":1,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","revision":0,"src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","flags":[],"package":"random","source":"hackage","version":"1.2.1.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","revision":0,"src_sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","flags":[],"package":"extra","source":"hackage","version":"1.7.12"},{"cabal_sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","revision":0,"src_sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","flags":[],"package":"filepattern","source":"hackage","version":"0.1.3"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","revision":0,"src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.1.0"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","revision":0,"src_sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","flags":[],"package":"primitive","source":"hackage","version":"0.7.4.0"},{"cabal_sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","revision":1,"src_sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.19.1"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+selftest","+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.2.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.1"},{"package":"ghc-boot-th","version":"9.2.3"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"bytestring","version":"0.11.3.1"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.11.1.1"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.15.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.6.3.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_2_4.json b/hadrian/bootstrap/plan-bootstrap-9_2_4.json
new file mode 100644
index 0000000000..024b3c285a
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_2_4.json
@@ -0,0 +1 @@
+{"dependencies":[{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","revision":1,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","revision":0,"src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","flags":[],"package":"random","source":"hackage","version":"1.2.1.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","revision":0,"src_sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","flags":[],"package":"extra","source":"hackage","version":"1.7.12"},{"cabal_sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","revision":0,"src_sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","flags":[],"package":"filepattern","source":"hackage","version":"0.1.3"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","revision":0,"src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.1.0"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","revision":0,"src_sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","flags":[],"package":"primitive","source":"hackage","version":"0.7.4.0"},{"cabal_sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","revision":1,"src_sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.19.1"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+selftest","+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.3.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.1"},{"package":"ghc-boot-th","version":"9.2.4"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"bytestring","version":"0.11.3.1"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.11.1.1"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.15.0"},{"package":"process","version":"1.6.13.2"},{"package":"Cabal","version":"3.6.3.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_2_5.json b/hadrian/bootstrap/plan-bootstrap-9_2_5.json
new file mode 100644
index 0000000000..1056fff48b
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_2_5.json
@@ -0,0 +1 @@
+{"dependencies":[{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","revision":1,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","revision":0,"src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","flags":[],"package":"random","source":"hackage","version":"1.2.1.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","revision":0,"src_sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","flags":[],"package":"extra","source":"hackage","version":"1.7.12"},{"cabal_sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","revision":0,"src_sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","flags":[],"package":"filepattern","source":"hackage","version":"0.1.3"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","revision":0,"src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.1.0"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","revision":0,"src_sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","flags":[],"package":"primitive","source":"hackage","version":"0.7.4.0"},{"cabal_sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","revision":1,"src_sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.19.1"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+selftest","+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.4.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.1"},{"package":"ghc-boot-th","version":"9.2.5"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"bytestring","version":"0.11.3.1"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.11.1.1"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.15.0"},{"package":"process","version":"1.6.16.0"},{"package":"Cabal","version":"3.6.3.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_4_1.json b/hadrian/bootstrap/plan-bootstrap-9_4_1.json
new file mode 100644
index 0000000000..60d1a157de
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_4_1.json
@@ -0,0 +1 @@
+{"dependencies":[{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","revision":1,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","revision":0,"src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","flags":[],"package":"random","source":"hackage","version":"1.2.1.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","revision":0,"src_sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","flags":[],"package":"extra","source":"hackage","version":"1.7.12"},{"cabal_sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","revision":0,"src_sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","flags":[],"package":"filepattern","source":"hackage","version":"0.1.3"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","revision":0,"src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.1.0"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","revision":0,"src_sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","flags":[],"package":"primitive","source":"hackage","version":"0.7.4.0"},{"cabal_sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","revision":1,"src_sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.19.1"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+selftest","+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.9.0"},{"package":"ghc-bignum","version":"1.3"},{"package":"base","version":"4.17.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.8.0"},{"package":"ghc-boot-th","version":"9.4.1"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.19.0.0"},{"package":"bytestring","version":"0.11.3.1"},{"package":"containers","version":"0.6.6"},{"package":"binary","version":"0.8.9.1"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.12.2"},{"package":"unix","version":"2.7.3"},{"package":"directory","version":"1.3.7.1"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"2.0.1"},{"package":"parsec","version":"3.1.15.0"},{"package":"Cabal-syntax","version":"3.8.1.0"},{"package":"process","version":"1.6.15.0"},{"package":"Cabal","version":"3.8.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_4_2.json b/hadrian/bootstrap/plan-bootstrap-9_4_2.json
new file mode 100644
index 0000000000..d17ec6d1f4
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_4_2.json
@@ -0,0 +1 @@
+{"dependencies":[{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","revision":1,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","revision":0,"src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","flags":[],"package":"random","source":"hackage","version":"1.2.1.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","revision":0,"src_sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","flags":[],"package":"extra","source":"hackage","version":"1.7.12"},{"cabal_sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","revision":0,"src_sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","flags":[],"package":"filepattern","source":"hackage","version":"0.1.3"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","revision":0,"src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.1.0"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","revision":0,"src_sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","flags":[],"package":"primitive","source":"hackage","version":"0.7.4.0"},{"cabal_sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","revision":1,"src_sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.19.1"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+selftest","+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.9.0"},{"package":"ghc-bignum","version":"1.3"},{"package":"base","version":"4.17.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.8.0"},{"package":"ghc-boot-th","version":"9.4.2"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.19.0.0"},{"package":"bytestring","version":"0.11.3.1"},{"package":"containers","version":"0.6.6"},{"package":"binary","version":"0.8.9.1"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.12.2"},{"package":"unix","version":"2.7.3"},{"package":"directory","version":"1.3.7.1"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"2.0.1"},{"package":"parsec","version":"3.1.15.0"},{"package":"Cabal-syntax","version":"3.8.1.0"},{"package":"process","version":"1.6.15.0"},{"package":"Cabal","version":"3.8.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/plan-bootstrap-9_4_3.json b/hadrian/bootstrap/plan-bootstrap-9_4_3.json
new file mode 100644
index 0000000000..c1eb9e8789
--- /dev/null
+++ b/hadrian/bootstrap/plan-bootstrap-9_4_3.json
@@ -0,0 +1 @@
+{"dependencies":[{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","revision":1,"src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","flags":["-optimised-mixer"],"package":"splitmix","source":"hackage","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","revision":0,"src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","flags":[],"package":"random","source":"hackage","version":"1.2.1.1"},{"cabal_sha256":"4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa","revision":0,"src_sha256":"d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3","flags":["-old-random","+templatehaskell"],"package":"QuickCheck","source":"hackage","version":"2.14.2"},{"cabal_sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","revision":0,"src_sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","flags":["-llvm"],"package":"clock","source":"hackage","version":"0.8.3"},{"cabal_sha256":"3ac58d7341976173d1052e7b2837d119212d9afcf911735667c7f1ab67aec25f","revision":0,"src_sha256":"e571a9ec1d8865f0fbb0e0ba1eb575f783b0365c80db19b54a93600bae43b03c","flags":[],"package":"extra","source":"hackage","version":"1.7.12"},{"cabal_sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","revision":0,"src_sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","flags":[],"package":"filepattern","source":"hackage","version":"0.1.3"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","revision":0,"src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","source":"hackage","version":"1.4.1.0"},{"cabal_sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","revision":0,"src_sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","flags":[],"package":"heaps","source":"hackage","version":"0.4"},{"cabal_sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","revision":0,"src_sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","flags":[],"package":"js-dgtable","source":"hackage","version":"0.5.2"},{"cabal_sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","revision":0,"src_sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","flags":[],"package":"js-flot","source":"hackage","version":"0.8.3"},{"cabal_sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","revision":0,"src_sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","flags":[],"package":"js-jquery","source":"hackage","version":"3.3.1"},{"cabal_sha256":"89b88a3e08493b7727fa4089b0692bfbdf7e1e666ef54635f458644eb8358764","revision":0,"src_sha256":"5b2d6dc2812eb2f6a115f05fcbe3e723d3aeff7894b012c617e075130581add5","flags":[],"package":"primitive","source":"hackage","version":"0.7.4.0"},{"cabal_sha256":"db11042bb0356c0adea277d0794743829125b4c99455af6af2bd5f7bd5e88a39","revision":1,"src_sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","flags":["-debug"],"package":"unordered-containers","source":"hackage","version":"0.2.19.1"},{"cabal_sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","revision":0,"src_sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","flags":[],"package":"utf8-string","source":"hackage","version":"1.0.2"},{"cabal_sha256":"ca49ff48ad82cdea18824a6fa7bd15f62ded882988316bd724fcc97fa5031b6a","revision":0,"src_sha256":"7d9db837bfd67acaaabdb3cea29acc15559ede82dd9f75d438589268031cd542","flags":["-cloud","-embed-files","-portable"],"package":"shake","source":"hackage","version":"0.19.6"},{"cabal_sha256":null,"revision":null,"src_sha256":null,"flags":["+selftest","+threaded"],"package":"hadrian","source":"local","version":"0.1.0.0"}],"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.9.0"},{"package":"ghc-bignum","version":"1.3"},{"package":"base","version":"4.17.0.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.8.0"},{"package":"ghc-boot-th","version":"9.4.3"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.19.0.0"},{"package":"bytestring","version":"0.11.3.1"},{"package":"containers","version":"0.6.6"},{"package":"binary","version":"0.8.9.1"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.12.2"},{"package":"unix","version":"2.7.3"},{"package":"directory","version":"1.3.7.1"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"text","version":"2.0.1"},{"package":"parsec","version":"3.1.15.0"},{"package":"Cabal-syntax","version":"3.8.1.0"},{"package":"process","version":"1.6.16.0"},{"package":"Cabal","version":"3.8.1.0"}]} \ No newline at end of file
diff --git a/hadrian/bootstrap/src/Main.hs b/hadrian/bootstrap/src/Main.hs
index c87383d7de..276e4b2645 100644
--- a/hadrian/bootstrap/src/Main.hs
+++ b/hadrian/bootstrap/src/Main.hs
@@ -36,7 +36,7 @@ main1 :: FilePath -> IO ()
main1 planPath = do
meta <- I.cachedHackageMetadata
plan <- P.decodePlanJson planPath
- main2 meta plan
+ main2 (snd meta) plan
main2 :: Map.Map C.PackageName I.PackageInfo -> P.PlanJson -> IO ()
main2 meta plan = do