Interface fixed choices: ghc parser (#11275)

* Interface fixed choices: ghc parser

(WIP)

changelog_begin
changelog_end

* .

* ..

* ...

* stackage unpin unix

* ...

* fold create/observer/signatory into fake lfconversion primitives

* stackage unpin

* .....

* ......

* ........

* .........

* . . . . .

* unpin stackage on unix

* ...... ......

* ...

* . . . . .

* unpin stackage on unix

* . . . . . . . . .

* unpin stackage on unix

* Loosen restriction on ETo/FromAnyChoice fake primitives

* uncomment exercise in Interface.daml

* remove comments

* !!!

* the final re-pinning, part 1

* the final re-pinning: part 2
This commit is contained in:
Sofia Faro 2021-10-20 18:45:13 +01:00 committed by GitHub
parent da27a1e812
commit 76eb1657d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 83 additions and 69 deletions

View File

@ -12,7 +12,7 @@ jobs:
variables: variables:
ghc-lib-sha: '42e5c306dcfbc84b83336fdd531023e93bfcc5b2' ghc-lib-sha: '42e5c306dcfbc84b83336fdd531023e93bfcc5b2'
base-sha: '9c787d4d24f2b515934c8503ee2bbd7cfac4da20' base-sha: '9c787d4d24f2b515934c8503ee2bbd7cfac4da20'
patches: '14038856dada496345a02619b7e34200ef6523ef 833ca63be2ab14871874ccb6974921e8952802e9' patches: '9fcd347e46790d0d054c347de7d36303426ee173 833ca63be2ab14871874ccb6974921e8952802e9'
flavor: 'ghc-8.8.1' flavor: 'ghc-8.8.1'
steps: steps:
- checkout: self - checkout: self

View File

@ -272,6 +272,15 @@ hasDamlInterfaceCtx t
= True = True
hasDamlInterfaceCtx _ = False hasDamlInterfaceCtx _ = False
hasDamlTemplateCtx :: TyCon -> Bool
hasDamlTemplateCtx t
| isAlgTyCon t
, [theta] <- tyConStupidTheta t
, TypeCon tycon [] <- theta
, NameIn GHC_Types "DamlTemplate" <- tycon
= True
hasDamlTemplateCtx _ = False
-- Pretty printing is very expensive, so clone the logic for when to add unique suffix -- Pretty printing is very expensive, so clone the logic for when to add unique suffix
varPrettyPrint :: Var -> T.Text varPrettyPrint :: Var -> T.Text
varPrettyPrint (varName -> x) = getOccText x <> (if isSystemName x then "_" <> T.pack (show $ nameUnique x) else "") varPrettyPrint (varName -> x) = getOccText x <> (if isSystemName x then "_" <> T.pack (show $ nameUnique x) else "")

View File

@ -391,6 +391,7 @@ scrapeTemplateBinds binds = MS.filter (isJust . tbTyCon) $ MS.map ($ emptyTempla
ShowDFunId tpl -> ShowDFunId tpl ->
Just (tpl, \tb -> tb { tbShow = Just name }) Just (tpl, \tb -> tb { tbShow = Just name })
_ -> Nothing _ -> Nothing
, hasDamlTemplateCtx tpl
] ]
data ExceptionBinds = ExceptionBinds data ExceptionBinds = ExceptionBinds

View File

@ -372,11 +372,11 @@ convertPrim version "EFromAnyTemplate"
EFromAny (TCon template) (EVar $ mkVar "any") EFromAny (TCon template) (EVar $ mkVar "any")
convertPrim version "EFromAnyChoice" convertPrim version "EFromAnyChoice"
ty@(TApp proxy (TCon template) :-> tAny :-> TOptional choice) ty@(tProxy :-> tAny :-> TOptional choice)
| tAny `elem` [TAny, TUnit] = | tAny `elem` [TAny, TUnit] =
-- TODO: restrict to known template/choice pairs -- TODO: restrict to known template/choice pairs
whenRuntimeSupports version featureAnyType ty $ whenRuntimeSupports version featureAnyType ty $
ETmLam (mkVar "_", TApp proxy (TCon template)) $ ETmLam (mkVar "_", tProxy) $
ETmLam (mkVar "any", TAny) $ ETmLam (mkVar "any", TAny) $
EFromAny choice (EVar $ mkVar "any") EFromAny choice (EVar $ mkVar "any")
@ -398,11 +398,11 @@ convertPrim version "EToAnyTemplate"
EToAny (TCon template) (EVar $ mkVar "template") EToAny (TCon template) (EVar $ mkVar "template")
convertPrim version "EToAnyChoice" convertPrim version "EToAnyChoice"
ty@(TApp proxy (TCon template) :-> choice :-> tAny) ty@(tProxy :-> choice :-> tAny)
| tAny `elem` [TAny, TUnit] = | tAny `elem` [TAny, TUnit] =
-- TODO: restrict to known template/choice pairs -- TODO: restrict to known template/choice pairs
whenRuntimeSupports version featureAnyType ty $ whenRuntimeSupports version featureAnyType ty $
ETmLam (mkVar "_", TApp proxy (TCon template)) $ ETmLam (mkVar "_", tProxy) $
ETmLam (mkVar "choice", choice) $ ETmLam (mkVar "choice", choice) $
EToAny choice (EVar $ mkVar "choice") EToAny choice (EVar $ mkVar "choice")
@ -415,6 +415,25 @@ convertPrim version "EToAnyContractKey"
ETmLam (mkVar "key", key) $ ETmLam (mkVar "key", key) $
EToAny key (EVar $ mkVar "key") EToAny key (EVar $ mkVar "key")
convertPrim _ "UCreateInterface" (TCon interface :-> TUpdate (TContractId (TCon interface')))
| interface == interface' =
ETmLam (mkVar "this", TCon interface) $
EExperimental "RESOLVE_VIRTUAL_CREATE"
(TCon interface :-> TCon interface :-> TUpdate (TContractId (TCon interface)))
`ETmApp` EVar (mkVar "this") `ETmApp` EVar (mkVar "this")
convertPrim _ "ESignatoryInterface" (TCon interface :-> TList TParty) =
ETmLam (mkVar "this", TCon interface) $
EExperimental "RESOLVE_VIRTUAL_SIGNATORIES"
(TCon interface :-> TCon interface :-> TList TParty)
`ETmApp` EVar (mkVar "this") `ETmApp` EVar (mkVar "this")
convertPrim _ "EObserverInterface" (TCon interface :-> TList TParty) =
ETmLam (mkVar "this", TCon interface) $
EExperimental "RESOLVE_VIRTUAL_OBSERVERS"
(TCon interface :-> TCon interface :-> TList TParty)
`ETmApp` EVar (mkVar "this") `ETmApp` EVar (mkVar "this")
-- Exceptions -- Exceptions
convertPrim _ "BEAnyExceptionMessage" (TBuiltin BTAnyException :-> TText) = convertPrim _ "BEAnyExceptionMessage" (TBuiltin BTAnyException :-> TText) =
EBuiltin BEAnyExceptionMessage EBuiltin BEAnyExceptionMessage

View File

@ -24,6 +24,7 @@ module GHC.Types (
primitive, primitiveInterface, magic, external, primitive, primitiveInterface, magic, external,
DamlEnum, DamlEnum,
DamlInterface, DamlInterface,
DamlTemplate,
#ifdef DAML_NUMERIC #ifdef DAML_NUMERIC
Nat, Numeric, Nat, Numeric,
@ -169,6 +170,11 @@ data Text =
class DamlEnum class DamlEnum
instance DamlEnum instance DamlEnum
-- | HIDE Used to tag daml template types in the desugarer.
class DamlTemplate
instance DamlTemplate
-- | HIDE Used to tag daml interface types in the desugarer.
class DamlInterface class DamlInterface
instance DamlInterface instance DamlInterface

View File

@ -24,36 +24,13 @@ interface Token where
with with
nothing : () nothing : ()
-- TODO https://github.com/digital-asset/daml/issues/10810 choice GetRich : ContractId Token
-- Add HasCreate, HasSignatory, HasObserver instances in GHC parser with
instance HasCreate Token where byHowMuch : Int
create x = GHC.Types.primitive @"$RESOLVE_VIRTUAL_CREATE" x x controller getOwner this
instance HasObserver Token where do
observer x = GHC.Types.primitive @"$RESOLVE_VIRTUAL_OBSERVERS" x x
-- TODO https://github.com/digital-asset/daml/issues/11198
-- Instance disabled until issue is resolved.
-- instance HasSignatory Token where
-- signatory x = GHC.Types.primitive @"$RESOLVE_VIRTUAL_SIGNATORIES" x x
-- TODO https://github.com/digital-asset/daml/issues/11137
-- Implement fixed choices in GHC parser.
data GetRich = GetRich { byHowMuch : Int }
_choice_TokenGetRich :
( Token -> GetRich -> [DA.Internal.Desugar.Party]
, DA.Internal.Desugar.ContractId Token -> Token -> GetRich -> DA.Internal.Desugar.Update (ContractId Token)
, DA.Internal.Desugar.Consuming Token
, DA.Internal.Desugar.Optional (Token -> GetRich -> [DA.Internal.Desugar.Party])
)
_choice_TokenGetRich =
( \this _ -> [getOwner this]
, \self this GetRich{byHowMuch} -> do
assert (byHowMuch > 0) assert (byHowMuch > 0)
create $ setAmount this (getAmount this + byHowMuch) create $ setAmount this (getAmount this + byHowMuch)
, DA.Internal.Desugar.Consuming
, DA.Internal.Desugar.None
)
instance IsToken t => HasExercise t GetRich (ContractId Token) where
exercise cid = GHC.Types.primitive @"UExerciseInterface" (toTokenContractId cid)
template Asset template Asset
with with

View File

@ -33,13 +33,11 @@ class
setAmount : t -> Int -> Token setAmount : t -> Int -> Token
instance HasCreate Token where instance HasCreate Token where
create x = GHC.Types.primitive @"$RESOLVE_VIRTUAL_CREATE" x x create = GHC.Types.primitive @"UCreateInterface"
instance HasObserver Token where instance HasObserver Token where
observer x = GHC.Types.primitive @"$RESOLVE_VIRTUAL_OBSERVERS" x x observer = GHC.Types.primitive @"EObserverInterface"
-- TODO https://github.com/digital-asset/daml/issues/11198 instance HasSignatory Token where
-- Instance disabled until issue is resolved. signatory = GHC.Types.primitive @"ESignatoryInterface"
-- instance HasSignatory Token where
-- signatory x = GHC.Types.primitive @"$RESOLVE_VIRTUAL_SIGNATORIES" x x
instance HasFetch Token where instance HasFetch Token where
fetch = GHC.Types.primitive @"UFetchInterface" fetch = GHC.Types.primitive @"UFetchInterface"
@ -103,8 +101,12 @@ _choice_TokenGetRich =
) )
instance IsToken t => HasExercise t GetRich (ContractId Token) where instance IsToken t => HasExercise t GetRich (ContractId Token) where
exercise cid = GHC.Types.primitive @"UExerciseInterface" (toTokenContractId cid) exercise cid = GHC.Types.primitive @"UExerciseInterface" (toTokenContractId cid)
instance IsToken t => HasToAnyChoice t GetRich (ContractId Token) where
_toAnyChoice = GHC.Types.primitive @"EToAnyChoice"
instance IsToken t => HasFromAnyChoice t GetRich (ContractId Token) where
_fromAnyChoice = GHC.Types.primitive @"EFromAnyChoice"
data Asset = Asset { amount : Int, issuer : Party, owner : Party } data GHC.Types.DamlTemplate => Asset = Asset { amount : Int, issuer : Party, owner : Party }
deriving (Eq, Show) deriving (Eq, Show)
instance IsToken Asset where instance IsToken Asset where

View File

@ -67,7 +67,7 @@ Once you have the GHC patch you want to incorporate into the Daml repo, here's t
4. Before merging the PR, the pin command will also have to be run on windows, and those changes committed as well. You will need access to a windows machine for that: `ad-hoc.sh windows create` 4. Before merging the PR, the pin command will also have to be run on windows, and those changes committed as well. You will need access to a windows machine for that: `ad-hoc.sh windows create`
### Working on an `add-hoc` windows machine ### Working on an `ad-hoc` windows machine
1. First time, clone the `daml-language-ad-hoc` repo: (On following times, just pull for any updates to the scripts) 1. First time, clone the `daml-language-ad-hoc` repo: (On following times, just pull for any updates to the scripts)
``` ```

View File

@ -3,10 +3,10 @@
resolver: lts-18.0 resolver: lts-18.0
packages: packages:
- archive: https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-289a88911c02efcaeaf440c289a1bc60.tar.gz - archive: https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-f5ac369874d523562066264f7facc06b.tar.gz
sha256: "867c7fcf52ea3245cdd98f1044db29d19a2ac19db2b3114fcb78dc045d9eb69c" sha256: "ac7f2f212f1b1d69f107664059292133a08eabf6550b05371432216718460647"
- archive: https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-parser-289a88911c02efcaeaf440c289a1bc60.tar.gz - archive: https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-parser-f5ac369874d523562066264f7facc06b.tar.gz
sha256: "fe0082d84a095213a89b2ba23fa6cb85831604e0c69bad06c16f1be40444aa0c" sha256: "99b90740b5c17574ed5fc7df8d3449e35bf614bd9d3fda2515ac90c2f389cbdb"
- github: digital-asset/hlint - github: digital-asset/hlint
commit: "c8246c1feb932858ff2b5d7e9e900068a974bf57" commit: "c8246c1feb932858ff2b5d7e9e900068a974bf57"
sha256: "3da24baf789c5f00211a92e24153e6b88102befaa946ada1f707935554500fe2" sha256: "3da24baf789c5f00211a92e24153e6b88102befaa946ada1f707935554500fe2"

View File

@ -1,6 +1,6 @@
{ {
"__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 1587425969, "__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 1812030934,
"all-cabal-hashes": "https://raw.githubusercontent.com/commercialhaskell/all-cabal-hashes/c3251a7b66241fd25a603ea957ec88b9fa6fffa9", "all-cabal-hashes": "https://raw.githubusercontent.com/commercialhaskell/all-cabal-hashes/0f926aa83a735a25f4396220d752211f65aa6764",
"resolved": { "resolved": {
"Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.2.1.0"}, "Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.2.1.0"},
"Decimal": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/Decimal-0.5.2/Decimal-0.5.2.tar.gz"},"name":"Decimal","pinned":{"url":["https://hackage.haskell.org/package/Decimal-0.5.2/Decimal-0.5.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/Decimal-0.5.2.tar.gz"],"sha256":"a37a0220424e4bcb8cae1d38844c7027ee314449758d0d14ff3e2e0a5c8a87a7","cabal-sha256":"83dd16a1c0737fd35fdb1088af36e1a53034e75090e3f0d4ad32296f1a35a13b"},"version":"0.5.2"}, "Decimal": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/Decimal-0.5.2/Decimal-0.5.2.tar.gz"},"name":"Decimal","pinned":{"url":["https://hackage.haskell.org/package/Decimal-0.5.2/Decimal-0.5.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/Decimal-0.5.2.tar.gz"],"sha256":"a37a0220424e4bcb8cae1d38844c7027ee314449758d0d14ff3e2e0a5c8a87a7","cabal-sha256":"83dd16a1c0737fd35fdb1088af36e1a53034e75090e3f0d4ad32296f1a35a13b"},"version":"0.5.2"},
@ -14,7 +14,7 @@
"aeson": {"dependencies":["attoparsec","base","base-compat-batteries","bytestring","containers","data-fix","deepseq","dlist","ghc-prim","hashable","primitive","scientific","strict","tagged","template-haskell","text","th-abstraction","these","time","time-compat","unordered-containers","uuid-types","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-1.5.6.0/aeson-1.5.6.0.tar.gz"},"name":"aeson","pinned":{"url":["https://hackage.haskell.org/package/aeson-1.5.6.0/aeson-1.5.6.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-1.5.6.0.tar.gz"],"sha256":"0361c34be3d2ec945201f02501693436fbda10dcc549469481a084b2de22bfe8","cabal-sha256":"72c170b9fa0a4d1eaf47098902c621d0d95331cda1ebc4d86582bd557756b3ff"},"version":"1.5.6.0"}, "aeson": {"dependencies":["attoparsec","base","base-compat-batteries","bytestring","containers","data-fix","deepseq","dlist","ghc-prim","hashable","primitive","scientific","strict","tagged","template-haskell","text","th-abstraction","these","time","time-compat","unordered-containers","uuid-types","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-1.5.6.0/aeson-1.5.6.0.tar.gz"},"name":"aeson","pinned":{"url":["https://hackage.haskell.org/package/aeson-1.5.6.0/aeson-1.5.6.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-1.5.6.0.tar.gz"],"sha256":"0361c34be3d2ec945201f02501693436fbda10dcc549469481a084b2de22bfe8","cabal-sha256":"72c170b9fa0a4d1eaf47098902c621d0d95331cda1ebc4d86582bd557756b3ff"},"version":"1.5.6.0"},
"aeson-compat": {"dependencies":["aeson","attoparsec","attoparsec-iso8601","base","base-compat","bytestring","containers","exceptions","hashable","scientific","tagged","text","time","time-locale-compat","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-compat-0.3.9/aeson-compat-0.3.9.tar.gz"},"name":"aeson-compat","pinned":{"url":["https://hackage.haskell.org/package/aeson-compat-0.3.9/aeson-compat-0.3.9.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-compat-0.3.9.tar.gz"],"sha256":"e043941ba761c13a3854fc087521b864b56b2df874154e42aedb67b2a77f23c8","cabal-sha256":"36cfb542fbcdf51584ec2d681869b3215cdfa1dd5e1040ae781ef8a271a54e95"},"version":"0.3.9"}, "aeson-compat": {"dependencies":["aeson","attoparsec","attoparsec-iso8601","base","base-compat","bytestring","containers","exceptions","hashable","scientific","tagged","text","time","time-locale-compat","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-compat-0.3.9/aeson-compat-0.3.9.tar.gz"},"name":"aeson-compat","pinned":{"url":["https://hackage.haskell.org/package/aeson-compat-0.3.9/aeson-compat-0.3.9.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-compat-0.3.9.tar.gz"],"sha256":"e043941ba761c13a3854fc087521b864b56b2df874154e42aedb67b2a77f23c8","cabal-sha256":"36cfb542fbcdf51584ec2d681869b3215cdfa1dd5e1040ae781ef8a271a54e95"},"version":"0.3.9"},
"aeson-extra": {"dependencies":["aeson","aeson-compat","attoparsec","attoparsec-iso8601","base","base-compat-batteries","bytestring","containers","deepseq","exceptions","hashable","parsec","recursion-schemes","scientific","semialign","template-haskell","text","these","time","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-extra-0.4.1.3/aeson-extra-0.4.1.3.tar.gz"},"name":"aeson-extra","pinned":{"url":["https://hackage.haskell.org/package/aeson-extra-0.4.1.3/aeson-extra-0.4.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-extra-0.4.1.3.tar.gz"],"sha256":"22e3e2b6d243fb9bc660899dbb677cb6f1f8c348cfc7464082b60ce3fcdc25cc","cabal-sha256":"8ad8e4d28e46280ea98af2e94dcaaf524c396c9d91b1eba867961efc6e7f923f"},"version":"0.4.1.3"}, "aeson-extra": {"dependencies":["aeson","aeson-compat","attoparsec","attoparsec-iso8601","base","base-compat-batteries","bytestring","containers","deepseq","exceptions","hashable","parsec","recursion-schemes","scientific","semialign","template-haskell","text","these","time","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-extra-0.4.1.3/aeson-extra-0.4.1.3.tar.gz"},"name":"aeson-extra","pinned":{"url":["https://hackage.haskell.org/package/aeson-extra-0.4.1.3/aeson-extra-0.4.1.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-extra-0.4.1.3.tar.gz"],"sha256":"22e3e2b6d243fb9bc660899dbb677cb6f1f8c348cfc7464082b60ce3fcdc25cc","cabal-sha256":"8ad8e4d28e46280ea98af2e94dcaaf524c396c9d91b1eba867961efc6e7f923f"},"version":"0.4.1.3"},
"aeson-pretty": {"dependencies":["aeson","attoparsec","base","base-compat","bytestring","cmdargs","scientific","text","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-pretty-0.8.8/aeson-pretty-0.8.8.tar.gz"},"name":"aeson-pretty","pinned":{"url":["https://hackage.haskell.org/package/aeson-pretty-0.8.8/aeson-pretty-0.8.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-pretty-0.8.8.tar.gz"],"sha256":"81cea61cb6dcf32c3f0529ea5cfc98dbea3894152d7f2d9fe1cb051f927ec726","cabal-sha256":"9924a16d0c362ff59dd6d5b875749ff5d599d2688f89d080388a0014714441ef"},"version":"0.8.8"}, "aeson-pretty": {"dependencies":["aeson","attoparsec","base","base-compat","bytestring","cmdargs","scientific","text","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/aeson-pretty-0.8.8/aeson-pretty-0.8.8.tar.gz"},"name":"aeson-pretty","pinned":{"url":["https://hackage.haskell.org/package/aeson-pretty-0.8.8/aeson-pretty-0.8.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/aeson-pretty-0.8.8.tar.gz"],"sha256":"81cea61cb6dcf32c3f0529ea5cfc98dbea3894152d7f2d9fe1cb051f927ec726","cabal-sha256":"6fcbe24e765457c81d1fc3b89d491bc7e37f7f6e12f0cdd1a3bbb1bacd712877"},"version":"0.8.8"},
"alex": {"dependencies":["array","base","containers","directory"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/alex-3.2.6/alex-3.2.6.tar.gz"},"name":"alex","pinned":{"url":["https://hackage.haskell.org/package/alex-3.2.6/alex-3.2.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/alex-3.2.6.tar.gz"],"sha256":"91aa08c1d3312125fbf4284815189299bbb0be34421ab963b1f2ae06eccc5410","cabal-sha256":"7e15b8ba44f4e858d7e302ae234c05ca10a120c401f0db5ea5bc6135347debca"},"version":"3.2.6"}, "alex": {"dependencies":["array","base","containers","directory"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/alex-3.2.6/alex-3.2.6.tar.gz"},"name":"alex","pinned":{"url":["https://hackage.haskell.org/package/alex-3.2.6/alex-3.2.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/alex-3.2.6.tar.gz"],"sha256":"91aa08c1d3312125fbf4284815189299bbb0be34421ab963b1f2ae06eccc5410","cabal-sha256":"7e15b8ba44f4e858d7e302ae234c05ca10a120c401f0db5ea5bc6135347debca"},"version":"3.2.6"},
"ansi-terminal": {"dependencies":["base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-0.11/ansi-terminal-0.11.tar.gz"},"name":"ansi-terminal","pinned":{"url":["https://hackage.haskell.org/package/ansi-terminal-0.11/ansi-terminal-0.11.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-0.11.tar.gz"],"sha256":"c6611b9e51add41db3f79eac30066c06b33a6ca2a09e586b4b361d7f98303793","cabal-sha256":"97470250c92aae14c4c810d7f664c532995ba8910e2ad797b29f22ad0d2d0194"},"version":"0.11"}, "ansi-terminal": {"dependencies":["base","colour"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-terminal-0.11/ansi-terminal-0.11.tar.gz"},"name":"ansi-terminal","pinned":{"url":["https://hackage.haskell.org/package/ansi-terminal-0.11/ansi-terminal-0.11.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-terminal-0.11.tar.gz"],"sha256":"c6611b9e51add41db3f79eac30066c06b33a6ca2a09e586b4b361d7f98303793","cabal-sha256":"97470250c92aae14c4c810d7f664c532995ba8910e2ad797b29f22ad0d2d0194"},"version":"0.11"},
"ansi-wl-pprint": {"dependencies":["ansi-terminal","base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-wl-pprint-0.6.9/ansi-wl-pprint-0.6.9.tar.gz"},"name":"ansi-wl-pprint","pinned":{"url":["https://hackage.haskell.org/package/ansi-wl-pprint-0.6.9/ansi-wl-pprint-0.6.9.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-wl-pprint-0.6.9.tar.gz"],"sha256":"a7b2e8e7cd3f02f2954e8b17dc60a0ccd889f49e2068ebb15abfa1d42f7a4eac","cabal-sha256":"20d30674f137d43aa0279c2c2cc5e45a5f1c3c57e301852494906158b6313bf7"},"version":"0.6.9"}, "ansi-wl-pprint": {"dependencies":["ansi-terminal","base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ansi-wl-pprint-0.6.9/ansi-wl-pprint-0.6.9.tar.gz"},"name":"ansi-wl-pprint","pinned":{"url":["https://hackage.haskell.org/package/ansi-wl-pprint-0.6.9/ansi-wl-pprint-0.6.9.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ansi-wl-pprint-0.6.9.tar.gz"],"sha256":"a7b2e8e7cd3f02f2954e8b17dc60a0ccd889f49e2068ebb15abfa1d42f7a4eac","cabal-sha256":"20d30674f137d43aa0279c2c2cc5e45a5f1c3c57e301852494906158b6313bf7"},"version":"0.6.9"},
@ -28,7 +28,7 @@
"attoparsec-iso8601": {"dependencies":["attoparsec","base","base-compat-batteries","text","time","time-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/attoparsec-iso8601-1.0.2.0/attoparsec-iso8601-1.0.2.0.tar.gz"},"name":"attoparsec-iso8601","pinned":{"url":["https://hackage.haskell.org/package/attoparsec-iso8601-1.0.2.0/attoparsec-iso8601-1.0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/attoparsec-iso8601-1.0.2.0.tar.gz"],"sha256":"02952d77c78e95710eea855f4e86ca048ab9fda83c6c08dd9215f21a40604f98","cabal-sha256":"f517cd588d0a64fd3cbec083ca67c671e68861ed9c97b1349070ee577c3fa5a0"},"version":"1.0.2.0"}, "attoparsec-iso8601": {"dependencies":["attoparsec","base","base-compat-batteries","text","time","time-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/attoparsec-iso8601-1.0.2.0/attoparsec-iso8601-1.0.2.0.tar.gz"},"name":"attoparsec-iso8601","pinned":{"url":["https://hackage.haskell.org/package/attoparsec-iso8601-1.0.2.0/attoparsec-iso8601-1.0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/attoparsec-iso8601-1.0.2.0.tar.gz"],"sha256":"02952d77c78e95710eea855f4e86ca048ab9fda83c6c08dd9215f21a40604f98","cabal-sha256":"f517cd588d0a64fd3cbec083ca67c671e68861ed9c97b1349070ee577c3fa5a0"},"version":"1.0.2.0"},
"auto-update": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/auto-update-0.1.6/auto-update-0.1.6.tar.gz"},"name":"auto-update","pinned":{"url":["https://hackage.haskell.org/package/auto-update-0.1.6/auto-update-0.1.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/auto-update-0.1.6.tar.gz"],"sha256":"f4e023dc8713c387ecf20d851247597fd012cabea3872310b35e911105eb66c4","cabal-sha256":"10adca282e131a2fa01fb7a411b02811685c1cea02e9813df2d7fb468b5ef638"},"version":"0.1.6"}, "auto-update": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/auto-update-0.1.6/auto-update-0.1.6.tar.gz"},"name":"auto-update","pinned":{"url":["https://hackage.haskell.org/package/auto-update-0.1.6/auto-update-0.1.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/auto-update-0.1.6.tar.gz"],"sha256":"f4e023dc8713c387ecf20d851247597fd012cabea3872310b35e911105eb66c4","cabal-sha256":"10adca282e131a2fa01fb7a411b02811685c1cea02e9813df2d7fb468b5ef638"},"version":"0.1.6"},
"base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.14.1.0"}, "base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.14.1.0"},
"base-compat": {"dependencies":["base","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-0.11.2/base-compat-0.11.2.tar.gz"},"name":"base-compat","pinned":{"url":["https://hackage.haskell.org/package/base-compat-0.11.2/base-compat-0.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-0.11.2.tar.gz"],"sha256":"53a6b5145442fba5a4bad6db2bcdede17f164642b48bc39b95015422a39adbdb","cabal-sha256":"f95374022a56e8c74a289e2b70ec50a1365f58b5f1f50f5c7f0fc14edf88f30e"},"version":"0.11.2"}, "base-compat": {"dependencies":["base","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-0.11.2/base-compat-0.11.2.tar.gz"},"name":"base-compat","pinned":{"url":["https://hackage.haskell.org/package/base-compat-0.11.2/base-compat-0.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-0.11.2.tar.gz"],"sha256":"53a6b5145442fba5a4bad6db2bcdede17f164642b48bc39b95015422a39adbdb","cabal-sha256":"31bfcb04e73c994e46fa1b6136dffbea75d2f6e27a67c493a97095bc53c8db40"},"version":"0.11.2"},
"base-compat-batteries": {"dependencies":["base","base-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-batteries-0.11.2/base-compat-batteries-0.11.2.tar.gz"},"name":"base-compat-batteries","pinned":{"url":["https://hackage.haskell.org/package/base-compat-batteries-0.11.2/base-compat-batteries-0.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-batteries-0.11.2.tar.gz"],"sha256":"31e066a5aa96af94fe6465adb959c38d63a49e01357641aa4322c754a94d3023","cabal-sha256":"eb3b976007754ddc16e8d4afacdd1e575ae746edb57dcd0a1a728ccd4b372a69"},"version":"0.11.2"}, "base-compat-batteries": {"dependencies":["base","base-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-batteries-0.11.2/base-compat-batteries-0.11.2.tar.gz"},"name":"base-compat-batteries","pinned":{"url":["https://hackage.haskell.org/package/base-compat-batteries-0.11.2/base-compat-batteries-0.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-batteries-0.11.2.tar.gz"],"sha256":"31e066a5aa96af94fe6465adb959c38d63a49e01357641aa4322c754a94d3023","cabal-sha256":"eb3b976007754ddc16e8d4afacdd1e575ae746edb57dcd0a1a728ccd4b372a69"},"version":"0.11.2"},
"base-orphans": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-orphans-0.8.4/base-orphans-0.8.4.tar.gz"},"name":"base-orphans","pinned":{"url":["https://hackage.haskell.org/package/base-orphans-0.8.4/base-orphans-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-orphans-0.8.4.tar.gz"],"sha256":"37b2b59356c03400a2d509862677393c5ff706a0aabf826c104f6fe03d93bbb3","cabal-sha256":"9a70dc95761ab9a9d49a038a4599b7b7945d486d80ed1678f347445bc336f3e0"},"version":"0.8.4"}, "base-orphans": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-orphans-0.8.4/base-orphans-0.8.4.tar.gz"},"name":"base-orphans","pinned":{"url":["https://hackage.haskell.org/package/base-orphans-0.8.4/base-orphans-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-orphans-0.8.4.tar.gz"],"sha256":"37b2b59356c03400a2d509862677393c5ff706a0aabf826c104f6fe03d93bbb3","cabal-sha256":"9a70dc95761ab9a9d49a038a4599b7b7945d486d80ed1678f347445bc336f3e0"},"version":"0.8.4"},
"base16-bytestring": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base16-bytestring-1.0.1.0/base16-bytestring-1.0.1.0.tar.gz"},"name":"base16-bytestring","pinned":{"url":["https://hackage.haskell.org/package/base16-bytestring-1.0.1.0/base16-bytestring-1.0.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base16-bytestring-1.0.1.0.tar.gz"],"sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54"},"version":"1.0.1.0"}, "base16-bytestring": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base16-bytestring-1.0.1.0/base16-bytestring-1.0.1.0.tar.gz"},"name":"base16-bytestring","pinned":{"url":["https://hackage.haskell.org/package/base16-bytestring-1.0.1.0/base16-bytestring-1.0.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base16-bytestring-1.0.1.0.tar.gz"],"sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54"},"version":"1.0.1.0"},
@ -46,7 +46,7 @@
"cabal-doctest": {"dependencies":["Cabal","base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz"},"name":"cabal-doctest","pinned":{"url":["https://hackage.haskell.org/package/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cabal-doctest-1.0.8.tar.gz"],"sha256":"2026a6a87d410202ce091412ca6bc33c5aca787025326b4a3d13425a23392e0e","cabal-sha256":"8bd1d614fb65f0d52609da30bf8e5ec71a4b6adf8ff5610edb3cb4d114576117"},"version":"1.0.8"}, "cabal-doctest": {"dependencies":["Cabal","base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz"},"name":"cabal-doctest","pinned":{"url":["https://hackage.haskell.org/package/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cabal-doctest-1.0.8.tar.gz"],"sha256":"2026a6a87d410202ce091412ca6bc33c5aca787025326b4a3d13425a23392e0e","cabal-sha256":"8bd1d614fb65f0d52609da30bf8e5ec71a4b6adf8ff5610edb3cb4d114576117"},"version":"1.0.8"},
"call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.3.0/call-stack-0.3.0.tar.gz"},"name":"call-stack","pinned":{"url":["https://hackage.haskell.org/package/call-stack-0.3.0/call-stack-0.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.3.0.tar.gz"],"sha256":"b80e8de2b87f01922b23b328655ad2f843f42495f3e1033ae907aade603c716a","cabal-sha256":"dc369179410fd39542efde04778d1c4a18a015b3cf4b1703d9c88e07d58ece20"},"version":"0.3.0"}, "call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.3.0/call-stack-0.3.0.tar.gz"},"name":"call-stack","pinned":{"url":["https://hackage.haskell.org/package/call-stack-0.3.0/call-stack-0.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.3.0.tar.gz"],"sha256":"b80e8de2b87f01922b23b328655ad2f843f42495f3e1033ae907aade603c716a","cabal-sha256":"dc369179410fd39542efde04778d1c4a18a015b3cf4b1703d9c88e07d58ece20"},"version":"0.3.0"},
"case-insensitive": {"dependencies":["base","bytestring","deepseq","hashable","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz"},"name":"case-insensitive","pinned":{"url":["https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/case-insensitive-1.2.1.0.tar.gz"],"sha256":"296dc17e0c5f3dfb3d82ced83e4c9c44c338ecde749b278b6eae512f1d04e406","cabal-sha256":"9dfd3171fc7698cf8d931727d3af3a7b389135b583e46b5adac1f9d2026fff61"},"version":"1.2.1.0"}, "case-insensitive": {"dependencies":["base","bytestring","deepseq","hashable","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz"},"name":"case-insensitive","pinned":{"url":["https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/case-insensitive-1.2.1.0.tar.gz"],"sha256":"296dc17e0c5f3dfb3d82ced83e4c9c44c338ecde749b278b6eae512f1d04e406","cabal-sha256":"9dfd3171fc7698cf8d931727d3af3a7b389135b583e46b5adac1f9d2026fff61"},"version":"1.2.1.0"},
"cereal": {"dependencies":["array","base","bytestring","containers","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz"},"name":"cereal","pinned":{"url":["https://hackage.haskell.org/package/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-0.5.8.1.tar.gz"],"sha256":"2d9e88ac934b9ebc058097c72011ff59f3f146176310e1c957a0e4cf63681bd7","cabal-sha256":"37cb7a78c84412e94592a658768320c41f015f2b8707a433de835afb8ebc18d7"},"version":"0.5.8.1"}, "cereal": {"dependencies":["array","base","bytestring","containers","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz"},"name":"cereal","pinned":{"url":["https://hackage.haskell.org/package/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-0.5.8.1.tar.gz"],"sha256":"2d9e88ac934b9ebc058097c72011ff59f3f146176310e1c957a0e4cf63681bd7","cabal-sha256":"a08b65dd8beb3159b4a9a42c4d98ec5363cb551e78c9e9ffb7e810a676b4610b"},"version":"0.5.8.1"},
"cereal-conduit": {"dependencies":["base","bytestring","cereal","conduit","resourcet","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-conduit-0.8.0/cereal-conduit-0.8.0.tar.gz"},"name":"cereal-conduit","pinned":{"url":["https://hackage.haskell.org/package/cereal-conduit-0.8.0/cereal-conduit-0.8.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-conduit-0.8.0.tar.gz"],"sha256":"d95c4518a9984feacfd811c64be993705bff74c1f2daa00b4687bbb79f3a39eb","cabal-sha256":"ec62bcd3f5485dd7af4162483de165da9104fb29284b350d5b28da25dea0bec6"},"version":"0.8.0"}, "cereal-conduit": {"dependencies":["base","bytestring","cereal","conduit","resourcet","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-conduit-0.8.0/cereal-conduit-0.8.0.tar.gz"},"name":"cereal-conduit","pinned":{"url":["https://hackage.haskell.org/package/cereal-conduit-0.8.0/cereal-conduit-0.8.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-conduit-0.8.0.tar.gz"],"sha256":"d95c4518a9984feacfd811c64be993705bff74c1f2daa00b4687bbb79f3a39eb","cabal-sha256":"ec62bcd3f5485dd7af4162483de165da9104fb29284b350d5b28da25dea0bec6"},"version":"0.8.0"},
"charset": {"dependencies":["array","base","bytestring","containers","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/charset-0.3.8/charset-0.3.8.tar.gz"},"name":"charset","pinned":{"url":["https://hackage.haskell.org/package/charset-0.3.8/charset-0.3.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/charset-0.3.8.tar.gz"],"sha256":"7aaaa3e79b527dd46ee43b274f25d7ba18b4d3e698db404b5c923e6da3f086e7","cabal-sha256":"5e3a51797914c180fcab3c6a0a482bf9186f419541f86d65d3da728c407d51e7"},"version":"0.3.8"}, "charset": {"dependencies":["array","base","bytestring","containers","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/charset-0.3.8/charset-0.3.8.tar.gz"},"name":"charset","pinned":{"url":["https://hackage.haskell.org/package/charset-0.3.8/charset-0.3.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/charset-0.3.8.tar.gz"],"sha256":"7aaaa3e79b527dd46ee43b274f25d7ba18b4d3e698db404b5c923e6da3f086e7","cabal-sha256":"5e3a51797914c180fcab3c6a0a482bf9186f419541f86d65d3da728c407d51e7"},"version":"0.3.8"},
"clock": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/clock-0.8.2/clock-0.8.2.tar.gz"},"name":"clock","pinned":{"url":["https://hackage.haskell.org/package/clock-0.8.2/clock-0.8.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/clock-0.8.2.tar.gz"],"sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a"},"version":"0.8.2"}, "clock": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/clock-0.8.2/clock-0.8.2.tar.gz"},"name":"clock","pinned":{"url":["https://hackage.haskell.org/package/clock-0.8.2/clock-0.8.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/clock-0.8.2.tar.gz"],"sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a"},"version":"0.8.2"},
@ -54,12 +54,12 @@
"cmdargs": {"dependencies":["base","filepath","process","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cmdargs-0.10.21/cmdargs-0.10.21.tar.gz"},"name":"cmdargs","pinned":{"url":["https://hackage.haskell.org/package/cmdargs-0.10.21/cmdargs-0.10.21.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cmdargs-0.10.21.tar.gz"],"sha256":"f7d8ea5c4e6af368d9b5d2eb994fc29235406fbe91916a6dc63bd883025eca75","cabal-sha256":"a347cf8a16af30b9d8378209de0d1b7ac2b7b39e3af5d384383d8ef82315b37f"},"version":"0.10.21"}, "cmdargs": {"dependencies":["base","filepath","process","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cmdargs-0.10.21/cmdargs-0.10.21.tar.gz"},"name":"cmdargs","pinned":{"url":["https://hackage.haskell.org/package/cmdargs-0.10.21/cmdargs-0.10.21.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cmdargs-0.10.21.tar.gz"],"sha256":"f7d8ea5c4e6af368d9b5d2eb994fc29235406fbe91916a6dc63bd883025eca75","cabal-sha256":"a347cf8a16af30b9d8378209de0d1b7ac2b7b39e3af5d384383d8ef82315b37f"},"version":"0.10.21"},
"colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.5/colour-2.3.5.tar.gz"},"name":"colour","pinned":{"url":["https://hackage.haskell.org/package/colour-2.3.5/colour-2.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.5.tar.gz"],"sha256":"3b8d471979617dce7c193523743c9782df63433d8e87e3ef6d97922e0da104e7","cabal-sha256":"b27db0a3ad40d70bdbd8510a104269f8707592e80757a1abc66a22ba25e5a42f"},"version":"2.3.5"}, "colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.5/colour-2.3.5.tar.gz"},"name":"colour","pinned":{"url":["https://hackage.haskell.org/package/colour-2.3.5/colour-2.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.5.tar.gz"],"sha256":"3b8d471979617dce7c193523743c9782df63433d8e87e3ef6d97922e0da104e7","cabal-sha256":"b27db0a3ad40d70bdbd8510a104269f8707592e80757a1abc66a22ba25e5a42f"},"version":"2.3.5"},
"comonad": {"dependencies":["base","containers","distributive","indexed-traversable","tagged","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz"},"name":"comonad","pinned":{"url":["https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/comonad-5.0.8.tar.gz"],"sha256":"ef6cdf2cc292cc43ee6aa96c581b235fdea8ab44a0bffb24dc79ae2b2ef33d13","cabal-sha256":"1f1aabd73ec7f80f20cf078a748a60cd48d8e57277802fdf6a9ab3601a9b8f7e"},"version":"5.0.8"}, "comonad": {"dependencies":["base","containers","distributive","indexed-traversable","tagged","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz"},"name":"comonad","pinned":{"url":["https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/comonad-5.0.8.tar.gz"],"sha256":"ef6cdf2cc292cc43ee6aa96c581b235fdea8ab44a0bffb24dc79ae2b2ef33d13","cabal-sha256":"1f1aabd73ec7f80f20cf078a748a60cd48d8e57277802fdf6a9ab3601a9b8f7e"},"version":"5.0.8"},
"conduit": {"dependencies":["base","bytestring","directory","exceptions","filepath","mono-traversable","mtl","primitive","resourcet","text","transformers","unix","unliftio-core","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-1.3.4.1/conduit-1.3.4.1.tar.gz"},"name":"conduit","pinned":{"url":["https://hackage.haskell.org/package/conduit-1.3.4.1/conduit-1.3.4.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-1.3.4.1.tar.gz"],"sha256":"85743b8d5f2d5779ccb7459b5a919c5786707af23fe7a065d281ee8e6dc226f1","cabal-sha256":"eeabaf3f822e3e15317995766f50ef4a20371bdc3bb4721a7541e37228018dcf"},"version":"1.3.4.1"}, "conduit": {"dependencies":["base","bytestring","directory","exceptions","filepath","mono-traversable","mtl","primitive","resourcet","text","transformers","unix","unliftio-core","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-1.3.4.1/conduit-1.3.4.1.tar.gz"},"name":"conduit","pinned":{"url":["https://hackage.haskell.org/package/conduit-1.3.4.1/conduit-1.3.4.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-1.3.4.1.tar.gz"],"sha256":"85743b8d5f2d5779ccb7459b5a919c5786707af23fe7a065d281ee8e6dc226f1","cabal-sha256":"a3594c55d7dd4295919d4b3677112499dbac8a1c57d86de0dfea4bfc7c8db8c5"},"version":"1.3.4.1"},
"conduit-combinators": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-combinators-1.3.0/conduit-combinators-1.3.0.tar.gz"},"name":"conduit-combinators","pinned":{"url":["https://hackage.haskell.org/package/conduit-combinators-1.3.0/conduit-combinators-1.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-combinators-1.3.0.tar.gz"],"sha256":"9717d916a0422a7fb7cc262302333269607530d40cd0bea3be947872f906e7d3","cabal-sha256":"0ada7712bd8291c958cbd0db1ccc8374936f260cfa41422d7a5d979d1c7ea757"},"version":"1.3.0"}, "conduit-combinators": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-combinators-1.3.0/conduit-combinators-1.3.0.tar.gz"},"name":"conduit-combinators","pinned":{"url":["https://hackage.haskell.org/package/conduit-combinators-1.3.0/conduit-combinators-1.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-combinators-1.3.0.tar.gz"],"sha256":"9717d916a0422a7fb7cc262302333269607530d40cd0bea3be947872f906e7d3","cabal-sha256":"0ada7712bd8291c958cbd0db1ccc8374936f260cfa41422d7a5d979d1c7ea757"},"version":"1.3.0"},
"conduit-extra": {"dependencies":["async","attoparsec","base","bytestring","conduit","directory","filepath","network","primitive","process","resourcet","stm","streaming-commons","text","transformers","typed-process","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-extra-1.3.5/conduit-extra-1.3.5.tar.gz"},"name":"conduit-extra","pinned":{"url":["https://hackage.haskell.org/package/conduit-extra-1.3.5/conduit-extra-1.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-extra-1.3.5.tar.gz"],"sha256":"8a648dee203c01e647fa386bfe7a5b293ce552f8b5cab9c0dd5cb71c7cd012d9","cabal-sha256":"c3de6704df0b728d258827370b3de4e467a25d396037104639b859d743146365"},"version":"1.3.5"}, "conduit-extra": {"dependencies":["async","attoparsec","base","bytestring","conduit","directory","filepath","network","primitive","process","resourcet","stm","streaming-commons","text","transformers","typed-process","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-extra-1.3.5/conduit-extra-1.3.5.tar.gz"},"name":"conduit-extra","pinned":{"url":["https://hackage.haskell.org/package/conduit-extra-1.3.5/conduit-extra-1.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-extra-1.3.5.tar.gz"],"sha256":"8a648dee203c01e647fa386bfe7a5b293ce552f8b5cab9c0dd5cb71c7cd012d9","cabal-sha256":"c3de6704df0b728d258827370b3de4e467a25d396037104639b859d743146365"},"version":"1.3.5"},
"conduit-parse": {"dependencies":["base","conduit","dlist","mtl","parsers","safe","safe-exceptions","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-parse-0.2.1.0/conduit-parse-0.2.1.0.tar.gz"},"name":"conduit-parse","pinned":{"url":["https://hackage.haskell.org/package/conduit-parse-0.2.1.0/conduit-parse-0.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-parse-0.2.1.0.tar.gz"],"sha256":"b585dbdc0c1e3a844a9cd97cd1e72d7a73521b66b856001960afe4057130dae1","cabal-sha256":"1c9f890d0cccdaa0f7d160cf4d1cf68f6e9e659a82f2db092ac7f4459395fdad"},"version":"0.2.1.0"}, "conduit-parse": {"dependencies":["base","conduit","dlist","mtl","parsers","safe","safe-exceptions","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-parse-0.2.1.0/conduit-parse-0.2.1.0.tar.gz"},"name":"conduit-parse","pinned":{"url":["https://hackage.haskell.org/package/conduit-parse-0.2.1.0/conduit-parse-0.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-parse-0.2.1.0.tar.gz"],"sha256":"b585dbdc0c1e3a844a9cd97cd1e72d7a73521b66b856001960afe4057130dae1","cabal-sha256":"1c9f890d0cccdaa0f7d160cf4d1cf68f6e9e659a82f2db092ac7f4459395fdad"},"version":"0.2.1.0"},
"connection": {"dependencies":["base","basement","bytestring","containers","data-default-class","network","socks","tls","x509","x509-store","x509-system","x509-validation"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/connection-0.3.1/connection-0.3.1.tar.gz"},"name":"connection","pinned":{"url":["https://hackage.haskell.org/package/connection-0.3.1/connection-0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/connection-0.3.1.tar.gz"],"sha256":"5d759589c532c34d87bfc4f6fcb732bf55b55a93559d3b94229e8347a15375d9","cabal-sha256":"65da1c055610095733bcd228d85dff80804b23a5d18fede994a0f9fcd1b0c121"},"version":"0.3.1"}, "connection": {"dependencies":["base","basement","bytestring","containers","data-default-class","network","socks","tls","x509","x509-store","x509-system","x509-validation"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/connection-0.3.1/connection-0.3.1.tar.gz"},"name":"connection","pinned":{"url":["https://hackage.haskell.org/package/connection-0.3.1/connection-0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/connection-0.3.1.tar.gz"],"sha256":"5d759589c532c34d87bfc4f6fcb732bf55b55a93559d3b94229e8347a15375d9","cabal-sha256":"65da1c055610095733bcd228d85dff80804b23a5d18fede994a0f9fcd1b0c121"},"version":"0.3.1"},
"constraints": {"dependencies":["base","binary","deepseq","ghc-prim","hashable","mtl","transformers","transformers-compat","type-equality"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-0.13/constraints-0.13.tar.gz"},"name":"constraints","pinned":{"url":["https://hackage.haskell.org/package/constraints-0.13/constraints-0.13.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-0.13.tar.gz"],"sha256":"9259af54682f2673931978d96074c147406b1e18bd9111903fcaefe9252a6590","cabal-sha256":"d341eb4adbf712f928706928d23a173fb3d0976f0dfaf6a274958975d5fc9e75"},"version":"0.13"}, "constraints": {"dependencies":["base","binary","deepseq","ghc-prim","hashable","mtl","transformers","transformers-compat","type-equality"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-0.13/constraints-0.13.tar.gz"},"name":"constraints","pinned":{"url":["https://hackage.haskell.org/package/constraints-0.13/constraints-0.13.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-0.13.tar.gz"],"sha256":"9259af54682f2673931978d96074c147406b1e18bd9111903fcaefe9252a6590","cabal-sha256":"3c310d13923f9cc0615acc8565187c82da4a0ac80fc3a9de79d811f7baf2f0af"},"version":"0.13"},
"constraints-extras": {"dependencies":["aeson","base","constraints","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-extras-0.3.1.0/constraints-extras-0.3.1.0.tar.gz"},"name":"constraints-extras","pinned":{"url":["https://hackage.haskell.org/package/constraints-extras-0.3.1.0/constraints-extras-0.3.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-extras-0.3.1.0.tar.gz"],"sha256":"7a5666a0905a0eb949a620ab899ec990c009e5d84841539012adceebbbea2143","cabal-sha256":"c70fcf437e1d640cfd50a8eda1db47a64e49c96857e08fd0d8c438327d908ac1"},"version":"0.3.1.0"}, "constraints-extras": {"dependencies":["aeson","base","constraints","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-extras-0.3.1.0/constraints-extras-0.3.1.0.tar.gz"},"name":"constraints-extras","pinned":{"url":["https://hackage.haskell.org/package/constraints-extras-0.3.1.0/constraints-extras-0.3.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-extras-0.3.1.0.tar.gz"],"sha256":"7a5666a0905a0eb949a620ab899ec990c009e5d84841539012adceebbbea2143","cabal-sha256":"c70fcf437e1d640cfd50a8eda1db47a64e49c96857e08fd0d8c438327d908ac1"},"version":"0.3.1.0"},
"containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.2.1"}, "containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.2.1"},
"contravariant": {"dependencies":["StateVar","base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/contravariant-1.5.3/contravariant-1.5.3.tar.gz"},"name":"contravariant","pinned":{"url":["https://hackage.haskell.org/package/contravariant-1.5.3/contravariant-1.5.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/contravariant-1.5.3.tar.gz"],"sha256":"44536f0e331fde471271937323dc90409e95d47f57e42657fdaf242a0fd65dc1","cabal-sha256":"e59a7742e725f94fc6578e3593cd3f6d4e3d46a9510c3a782e5fe5e5f238e3ce"},"version":"1.5.3"}, "contravariant": {"dependencies":["StateVar","base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/contravariant-1.5.3/contravariant-1.5.3.tar.gz"},"name":"contravariant","pinned":{"url":["https://hackage.haskell.org/package/contravariant-1.5.3/contravariant-1.5.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/contravariant-1.5.3.tar.gz"],"sha256":"44536f0e331fde471271937323dc90409e95d47f57e42657fdaf242a0fd65dc1","cabal-sha256":"e59a7742e725f94fc6578e3593cd3f6d4e3d46a9510c3a782e5fe5e5f238e3ce"},"version":"1.5.3"},
@ -100,15 +100,15 @@
"generic-deriving": {"dependencies":["base","containers","ghc-prim","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generic-deriving-1.14/generic-deriving-1.14.tar.gz"},"name":"generic-deriving","pinned":{"url":["https://hackage.haskell.org/package/generic-deriving-1.14/generic-deriving-1.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generic-deriving-1.14.tar.gz"],"sha256":"d0abd5e423960b66867c6149c20b221b1351e3805d1bf787fc4efa3e7bb7cb02","cabal-sha256":"c9c6782a3cdce2f2bcaf891e0ffbf06df871e68498574b73a565771dc084273c"},"version":"1.14"}, "generic-deriving": {"dependencies":["base","containers","ghc-prim","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generic-deriving-1.14/generic-deriving-1.14.tar.gz"},"name":"generic-deriving","pinned":{"url":["https://hackage.haskell.org/package/generic-deriving-1.14/generic-deriving-1.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generic-deriving-1.14.tar.gz"],"sha256":"d0abd5e423960b66867c6149c20b221b1351e3805d1bf787fc4efa3e7bb7cb02","cabal-sha256":"c9c6782a3cdce2f2bcaf891e0ffbf06df871e68498574b73a565771dc084273c"},"version":"1.14"},
"generics-sop": {"dependencies":["base","ghc-prim","sop-core","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generics-sop-0.5.1.1/generics-sop-0.5.1.1.tar.gz"},"name":"generics-sop","pinned":{"url":["https://hackage.haskell.org/package/generics-sop-0.5.1.1/generics-sop-0.5.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generics-sop-0.5.1.1.tar.gz"],"sha256":"81b7c38b5c2a1ae3c790b1707a0e2a2031430e33b3683f88e2daa5b59ae4c5d8","cabal-sha256":"522a1a1da05d5acc03da448fa603c038cc15b991272846a591e26e7505d2b73a"},"version":"0.5.1.1"}, "generics-sop": {"dependencies":["base","ghc-prim","sop-core","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generics-sop-0.5.1.1/generics-sop-0.5.1.1.tar.gz"},"name":"generics-sop","pinned":{"url":["https://hackage.haskell.org/package/generics-sop-0.5.1.1/generics-sop-0.5.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generics-sop-0.5.1.1.tar.gz"],"sha256":"81b7c38b5c2a1ae3c790b1707a0e2a2031430e33b3683f88e2daa5b59ae4c5d8","cabal-sha256":"522a1a1da05d5acc03da448fa603c038cc15b991272846a591e26e7505d2b73a"},"version":"0.5.1.1"},
"ghc-byteorder": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-byteorder-4.11.0.0.10/ghc-byteorder-4.11.0.0.10.tar.gz"},"name":"ghc-byteorder","pinned":{"url":["https://hackage.haskell.org/package/ghc-byteorder-4.11.0.0.10/ghc-byteorder-4.11.0.0.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-byteorder-4.11.0.0.10.tar.gz"],"sha256":"86e50a89798181db4f44ec3848fc52940c73098e88549a351ceb54fefc691fb6","cabal-sha256":"d47fdef63f2a145091e91b1aedbd46bf61ca03bb935e81e3462a1d904c319de3"},"version":"4.11.0.0.10"}, "ghc-byteorder": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-byteorder-4.11.0.0.10/ghc-byteorder-4.11.0.0.10.tar.gz"},"name":"ghc-byteorder","pinned":{"url":["https://hackage.haskell.org/package/ghc-byteorder-4.11.0.0.10/ghc-byteorder-4.11.0.0.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-byteorder-4.11.0.0.10.tar.gz"],"sha256":"86e50a89798181db4f44ec3848fc52940c73098e88549a351ceb54fefc691fb6","cabal-sha256":"d47fdef63f2a145091e91b1aedbd46bf61ca03bb935e81e3462a1d904c319de3"},"version":"4.11.0.0.10"},
"ghc-lib": {"dependencies":["alex","array","base","binary","bytestring","containers","deepseq","directory","filepath","ghc-lib-parser","ghc-prim","happy","hpc","pretty","process","rts","time","transformers","unix"],"location":{"type":"archive","url":"https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-289a88911c02efcaeaf440c289a1bc60.tar.gz"},"name":"ghc-lib","pinned":{"sha256":"867c7fcf52ea3245cdd98f1044db29d19a2ac19db2b3114fcb78dc045d9eb69c","strip-prefix":"ghc-lib-8.8.1.20211005"},"version":"8.8.1.20211005"}, "ghc-lib": {"dependencies":["alex","array","base","binary","bytestring","containers","deepseq","directory","filepath","ghc-lib-parser","ghc-prim","happy","hpc","pretty","process","rts","time","transformers","unix"],"location":{"type":"archive","url":"https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-f5ac369874d523562066264f7facc06b.tar.gz"},"name":"ghc-lib","pinned":{"sha256":"ac7f2f212f1b1d69f107664059292133a08eabf6550b05371432216718460647","strip-prefix":"ghc-lib-8.8.1.20211020"},"version":"8.8.1.20211020"},
"ghc-lib-parser": {"dependencies":["alex","array","base","binary","bytestring","containers","deepseq","directory","filepath","ghc-prim","happy","hpc","pretty","process","time","transformers","unix"],"location":{"type":"archive","url":"https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-parser-289a88911c02efcaeaf440c289a1bc60.tar.gz"},"name":"ghc-lib-parser","pinned":{"sha256":"fe0082d84a095213a89b2ba23fa6cb85831604e0c69bad06c16f1be40444aa0c","strip-prefix":"ghc-lib-parser-8.8.1.20211005"},"version":"8.8.1.20211005"}, "ghc-lib-parser": {"dependencies":["alex","array","base","binary","bytestring","containers","deepseq","directory","filepath","ghc-prim","happy","hpc","pretty","process","time","transformers","unix"],"location":{"type":"archive","url":"https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-parser-f5ac369874d523562066264f7facc06b.tar.gz"},"name":"ghc-lib-parser","pinned":{"sha256":"99b90740b5c17574ed5fc7df8d3449e35bf614bd9d3fda2515ac90c2f389cbdb","strip-prefix":"ghc-lib-parser-8.8.1.20211020"},"version":"8.8.1.20211020"},
"ghc-lib-parser-ex": {"dependencies":["base","bytestring","containers","extra","ghc-lib-parser","uniplate"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex-8.8.5.8.tar.gz"},"name":"ghc-lib-parser-ex","pinned":{"url":["https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex-8.8.5.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-lib-parser-ex-8.8.5.8.tar.gz"],"sha256":"b36ef8b49da4e8c78b00dca9b9546b7d4db0b09b10da5e313d3f0dbb4af581d7","cabal-sha256":"04f164fd6a4a5b0c5627cf7fadd79174c3b1d4c696dc481a9909266bd6a2a6aa"},"version":"8.8.5.8"}, "ghc-lib-parser-ex": {"dependencies":["base","bytestring","containers","extra","ghc-lib-parser","uniplate"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex-8.8.5.8.tar.gz"},"name":"ghc-lib-parser-ex","pinned":{"url":["https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex-8.8.5.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-lib-parser-ex-8.8.5.8.tar.gz"],"sha256":"b36ef8b49da4e8c78b00dca9b9546b7d4db0b09b10da5e313d3f0dbb4af581d7","cabal-sha256":"04f164fd6a4a5b0c5627cf7fadd79174c3b1d4c696dc481a9909266bd6a2a6aa"},"version":"8.8.5.8"},
"ghc-prim": {"dependencies":[],"location":{"type":"core"},"name":"ghc-prim","version":"0.6.1"}, "ghc-prim": {"dependencies":[],"location":{"type":"core"},"name":"ghc-prim","version":"0.6.1"},
"ghcide": {"dependencies":["aeson","async","base","binary","bytestring","containers","data-default","deepseq","dependent-map","dependent-sum","directory","extra","filepath","fuzzy","ghc-lib","ghc-lib-parser","haddock-library","hashable","hslogger","lsp","lsp-types","mtl","network-uri","prettyprinter","prettyprinter-ansi-terminal","regex-tdfa","rope-utf16-splay","safe-exceptions","shake","some","sorted-list","stm","syb","text","time","transformers","unix","unliftio","unordered-containers","utf8-string"],"location":{"type":"vendored"},"name":"ghcide","version":"0.1.0"}, "ghcide": {"dependencies":["aeson","async","base","binary","bytestring","containers","data-default","deepseq","dependent-map","dependent-sum","directory","extra","filepath","fuzzy","ghc-lib","ghc-lib-parser","haddock-library","hashable","hslogger","lsp","lsp-types","mtl","network-uri","prettyprinter","prettyprinter-ansi-terminal","regex-tdfa","rope-utf16-splay","safe-exceptions","shake","some","sorted-list","stm","syb","text","time","transformers","unix","unliftio","unordered-containers","utf8-string"],"location":{"type":"vendored"},"name":"ghcide","version":"0.1.0"},
"gitrev": {"dependencies":["base","base-compat","directory","filepath","process","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz"},"name":"gitrev","pinned":{"url":["https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/gitrev-1.3.1.tar.gz"],"sha256":"a89964db24f56727b0e7b10c98fe7c116d721d8c46f52d6e77088669aaa38332","cabal-sha256":"1d0b2d34bee761865fc22bd022f32890e1b561dfac62a1f31a4fe6220a0d1e58"},"version":"1.3.1"}, "gitrev": {"dependencies":["base","base-compat","directory","filepath","process","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz"},"name":"gitrev","pinned":{"url":["https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/gitrev-1.3.1.tar.gz"],"sha256":"a89964db24f56727b0e7b10c98fe7c116d721d8c46f52d6e77088669aaa38332","cabal-sha256":"1d0b2d34bee761865fc22bd022f32890e1b561dfac62a1f31a4fe6220a0d1e58"},"version":"1.3.1"},
"grpc-haskell": {"dependencies":["async","base","bytestring","grpc-haskell-core","managed","proto3-suite","proto3-wire"],"location":{"type":"vendored"},"name":"grpc-haskell","version":"0.0.2.0"}, "grpc-haskell": {"dependencies":["async","base","bytestring","grpc-haskell-core","managed","proto3-suite","proto3-wire"],"location":{"type":"vendored"},"name":"grpc-haskell","version":"0.0.2.0"},
"grpc-haskell-core": {"dependencies":["base","bytestring","c2hs","clock","containers","managed","sorted-list","stm","transformers"],"location":{"type":"vendored"},"name":"grpc-haskell-core","version":"0.0.0.0"}, "grpc-haskell-core": {"dependencies":["base","bytestring","c2hs","clock","containers","managed","sorted-list","stm","transformers"],"location":{"type":"vendored"},"name":"grpc-haskell-core","version":"0.0.0.0"},
"haddock-library": {"dependencies":["base","bytestring","containers","parsec","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haddock-library-1.10.0/haddock-library-1.10.0.tar.gz"},"name":"haddock-library","pinned":{"url":["https://hackage.haskell.org/package/haddock-library-1.10.0/haddock-library-1.10.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haddock-library-1.10.0.tar.gz"],"sha256":"f806c7d5a07d63166101332664c345278f88a5781a640ec3ef215c8fb0015395","cabal-sha256":"2a6c239da9225951a5d837e1ce373faeeae60d1345c78dd0a0b0f29df30c4fe9"},"version":"1.10.0"}, "haddock-library": {"dependencies":["base","bytestring","containers","parsec","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haddock-library-1.10.0/haddock-library-1.10.0.tar.gz"},"name":"haddock-library","pinned":{"url":["https://hackage.haskell.org/package/haddock-library-1.10.0/haddock-library-1.10.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haddock-library-1.10.0.tar.gz"],"sha256":"f806c7d5a07d63166101332664c345278f88a5781a640ec3ef215c8fb0015395","cabal-sha256":"b77d833dd1a98876738fa18e018280c79e8b328ad36792021d98974090f955e4"},"version":"1.10.0"},
"happy": {"dependencies":["array","base","containers","mtl"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/happy-1.20.0/happy-1.20.0.tar.gz"},"name":"happy","pinned":{"url":["https://hackage.haskell.org/package/happy-1.20.0/happy-1.20.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/happy-1.20.0.tar.gz"],"sha256":"3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c","cabal-sha256":"f99e612b29d68d784d7e193943a13466f0923de69452a2585081491efed0436b"},"version":"1.20.0"}, "happy": {"dependencies":["array","base","containers","mtl"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/happy-1.20.0/happy-1.20.0.tar.gz"},"name":"happy","pinned":{"url":["https://hackage.haskell.org/package/happy-1.20.0/happy-1.20.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/happy-1.20.0.tar.gz"],"sha256":"3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c","cabal-sha256":"f99e612b29d68d784d7e193943a13466f0923de69452a2585081491efed0436b"},"version":"1.20.0"},
"hashable": {"dependencies":["base","bytestring","deepseq","ghc-prim","integer-simple","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz"},"name":"hashable","pinned":{"url":["https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hashable-1.3.0.0.tar.gz"],"sha256":"822e5413fbccca6ae884d3aba4066422c8b5d58d23d18b9ecb5c03273bb19ab4","cabal-sha256":"d60cad00223d46172020c136e68acef0481a47d0302b2e74b1805b4f3a446a9b"},"version":"1.3.0.0"}, "hashable": {"dependencies":["base","bytestring","deepseq","ghc-prim","integer-simple","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz"},"name":"hashable","pinned":{"url":["https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hashable-1.3.0.0.tar.gz"],"sha256":"822e5413fbccca6ae884d3aba4066422c8b5d58d23d18b9ecb5c03273bb19ab4","cabal-sha256":"d60cad00223d46172020c136e68acef0481a47d0302b2e74b1805b4f3a446a9b"},"version":"1.3.0.0"},
"haskeline": {"dependencies":["base","bytestring","containers","directory","exceptions","filepath","process","stm","terminfo","transformers","unix"],"location":{"type":"core"},"name":"haskeline","version":"0.8.1.2"}, "haskeline": {"dependencies":["base","bytestring","containers","directory","exceptions","filepath","process","stm","terminfo","transformers","unix"],"location":{"type":"core"},"name":"haskeline","version":"0.8.1.2"},
@ -122,7 +122,7 @@
"hpc": {"dependencies":[],"location":{"type":"core"},"name":"hpc","version":"0.6.1.0"}, "hpc": {"dependencies":[],"location":{"type":"core"},"name":"hpc","version":"0.6.1.0"},
"hpp": {"dependencies":["base","bytestring","directory","filepath","ghc-prim","time","transformers","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hpp-0.6.3/hpp-0.6.3.tar.gz"},"name":"hpp","pinned":{"url":["https://hackage.haskell.org/package/hpp-0.6.3/hpp-0.6.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hpp-0.6.3.tar.gz"],"sha256":"7ac736cdc29799d196dbda74f0930cdeb3c526267798bbc261181053019cd53e","cabal-sha256":"d367b4803467c9a7817b4a4640f0d3d4b73269fd6d0dbf5dcda69e5a0938b2e2"},"version":"0.6.3"}, "hpp": {"dependencies":["base","bytestring","directory","filepath","ghc-prim","time","transformers","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hpp-0.6.3/hpp-0.6.3.tar.gz"},"name":"hpp","pinned":{"url":["https://hackage.haskell.org/package/hpp-0.6.3/hpp-0.6.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hpp-0.6.3.tar.gz"],"sha256":"7ac736cdc29799d196dbda74f0930cdeb3c526267798bbc261181053019cd53e","cabal-sha256":"d367b4803467c9a7817b4a4640f0d3d4b73269fd6d0dbf5dcda69e5a0938b2e2"},"version":"0.6.3"},
"hscolour": {"dependencies":["base","containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hscolour-1.24.4/hscolour-1.24.4.tar.gz"},"name":"hscolour","pinned":{"url":["https://hackage.haskell.org/package/hscolour-1.24.4/hscolour-1.24.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hscolour-1.24.4.tar.gz"],"sha256":"243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d","cabal-sha256":"3a329fa0ea9138f651088f1fa25522aabeab0eb591932d3fd56c66736bbe78be"},"version":"1.24.4"}, "hscolour": {"dependencies":["base","containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hscolour-1.24.4/hscolour-1.24.4.tar.gz"},"name":"hscolour","pinned":{"url":["https://hackage.haskell.org/package/hscolour-1.24.4/hscolour-1.24.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hscolour-1.24.4.tar.gz"],"sha256":"243332b082294117f37b2c2c68079fa61af68b36223b3fc07594f245e0e5321d","cabal-sha256":"3a329fa0ea9138f651088f1fa25522aabeab0eb591932d3fd56c66736bbe78be"},"version":"1.24.4"},
"hslogger": {"dependencies":["base","bytestring","containers","deepseq","network","network-bsd","old-locale","time","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hslogger-1.3.1.0/hslogger-1.3.1.0.tar.gz"},"name":"hslogger","pinned":{"url":["https://hackage.haskell.org/package/hslogger-1.3.1.0/hslogger-1.3.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hslogger-1.3.1.0.tar.gz"],"sha256":"7f2364f6c0b9c5b85a257267a335816126ef2471c817a42797a5d3c57acaca5b","cabal-sha256":"b88742d6b3e4c056d5787fc537a676b852431a410ccf658b034089ccd750ad12"},"version":"1.3.1.0"}, "hslogger": {"dependencies":["base","bytestring","containers","deepseq","network","network-bsd","old-locale","time","unix"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hslogger-1.3.1.0/hslogger-1.3.1.0.tar.gz"},"name":"hslogger","pinned":{"url":["https://hackage.haskell.org/package/hslogger-1.3.1.0/hslogger-1.3.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hslogger-1.3.1.0.tar.gz"],"sha256":"7f2364f6c0b9c5b85a257267a335816126ef2471c817a42797a5d3c57acaca5b","cabal-sha256":"b3fdd8c49c0c51adc9af8d7456e46ba580ad5ec478e18e92c3bb158d8ac38908"},"version":"1.3.1.0"},
"hspec": {"dependencies":["QuickCheck","base","hspec-core","hspec-discover","hspec-expectations"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-2.7.10/hspec-2.7.10.tar.gz"},"name":"hspec","pinned":{"url":["https://hackage.haskell.org/package/hspec-2.7.10/hspec-2.7.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-2.7.10.tar.gz"],"sha256":"3c1bbda1962b2a493ad0bea0039720011948ac194c4c63d1c9f44d9c6be6147c","cabal-sha256":"c9e82c90086acebac576552a06f3cabd249bba048edd1667c7fae0b1313d5bce"},"version":"2.7.10"}, "hspec": {"dependencies":["QuickCheck","base","hspec-core","hspec-discover","hspec-expectations"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-2.7.10/hspec-2.7.10.tar.gz"},"name":"hspec","pinned":{"url":["https://hackage.haskell.org/package/hspec-2.7.10/hspec-2.7.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-2.7.10.tar.gz"],"sha256":"3c1bbda1962b2a493ad0bea0039720011948ac194c4c63d1c9f44d9c6be6147c","cabal-sha256":"c9e82c90086acebac576552a06f3cabd249bba048edd1667c7fae0b1313d5bce"},"version":"2.7.10"},
"hspec-core": {"dependencies":["HUnit","QuickCheck","ansi-terminal","array","base","call-stack","clock","deepseq","directory","filepath","hspec-expectations","quickcheck-io","random","setenv","stm","tf-random","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-core-2.7.10/hspec-core-2.7.10.tar.gz"},"name":"hspec-core","pinned":{"url":["https://hackage.haskell.org/package/hspec-core-2.7.10/hspec-core-2.7.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-core-2.7.10.tar.gz"],"sha256":"61d34e914b7c6bc01cac654de7bcb587f6b17969c0e49808512ddbffcaf5698a","cabal-sha256":"2aba6ea126442b29e8183ab27f1c811706b19b1d83b02f193a896f6fc1589d13"},"version":"2.7.10"}, "hspec-core": {"dependencies":["HUnit","QuickCheck","ansi-terminal","array","base","call-stack","clock","deepseq","directory","filepath","hspec-expectations","quickcheck-io","random","setenv","stm","tf-random","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-core-2.7.10/hspec-core-2.7.10.tar.gz"},"name":"hspec-core","pinned":{"url":["https://hackage.haskell.org/package/hspec-core-2.7.10/hspec-core-2.7.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-core-2.7.10.tar.gz"],"sha256":"61d34e914b7c6bc01cac654de7bcb587f6b17969c0e49808512ddbffcaf5698a","cabal-sha256":"2aba6ea126442b29e8183ab27f1c811706b19b1d83b02f193a896f6fc1589d13"},"version":"2.7.10"},
"hspec-discover": {"dependencies":["base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-discover-2.7.10/hspec-discover-2.7.10.tar.gz"},"name":"hspec-discover","pinned":{"url":["https://hackage.haskell.org/package/hspec-discover-2.7.10/hspec-discover-2.7.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-discover-2.7.10.tar.gz"],"sha256":"0a576d00c67f1b093062130d0dcdaffb13c6812653db18f49e3a1db346dbdf8f","cabal-sha256":"d08bf5dd785629f589571477d9beb7cd91529471bd89f39517c1cb4b9b38160f"},"version":"2.7.10"}, "hspec-discover": {"dependencies":["base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hspec-discover-2.7.10/hspec-discover-2.7.10.tar.gz"},"name":"hspec-discover","pinned":{"url":["https://hackage.haskell.org/package/hspec-discover-2.7.10/hspec-discover-2.7.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hspec-discover-2.7.10.tar.gz"],"sha256":"0a576d00c67f1b093062130d0dcdaffb13c6812653db18f49e3a1db346dbdf8f","cabal-sha256":"d08bf5dd785629f589571477d9beb7cd91529471bd89f39517c1cb4b9b38160f"},"version":"2.7.10"},
@ -134,7 +134,7 @@
"http-types": {"dependencies":["array","base","bytestring","case-insensitive","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/http-types-0.12.3/http-types-0.12.3.tar.gz"},"name":"http-types","pinned":{"url":["https://hackage.haskell.org/package/http-types-0.12.3/http-types-0.12.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/http-types-0.12.3.tar.gz"],"sha256":"4e8a4a66477459fa436a331c75e46857ec8026283df984d54f90576cd3024016","cabal-sha256":"f35229edb1bc7b3ae27f961b2407dadb5bfa69d43a8f5337ab46cdc79ca4afe9"},"version":"0.12.3"}, "http-types": {"dependencies":["array","base","bytestring","case-insensitive","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/http-types-0.12.3/http-types-0.12.3.tar.gz"},"name":"http-types","pinned":{"url":["https://hackage.haskell.org/package/http-types-0.12.3/http-types-0.12.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/http-types-0.12.3.tar.gz"],"sha256":"4e8a4a66477459fa436a331c75e46857ec8026283df984d54f90576cd3024016","cabal-sha256":"f35229edb1bc7b3ae27f961b2407dadb5bfa69d43a8f5337ab46cdc79ca4afe9"},"version":"0.12.3"},
"indexed-profunctors": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-profunctors-0.1.1/indexed-profunctors-0.1.1.tar.gz"},"name":"indexed-profunctors","pinned":{"url":["https://hackage.haskell.org/package/indexed-profunctors-0.1.1/indexed-profunctors-0.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-profunctors-0.1.1.tar.gz"],"sha256":"5aba418a92a4f75efc626de7c0e4d88ed57033e0de0f2743ce6d9c9ef7626cb1","cabal-sha256":"363e1bcd89f8498a770ae783e8388fcce35e6515b4c38dca47327aad81196a7b"},"version":"0.1.1"}, "indexed-profunctors": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-profunctors-0.1.1/indexed-profunctors-0.1.1.tar.gz"},"name":"indexed-profunctors","pinned":{"url":["https://hackage.haskell.org/package/indexed-profunctors-0.1.1/indexed-profunctors-0.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-profunctors-0.1.1.tar.gz"],"sha256":"5aba418a92a4f75efc626de7c0e4d88ed57033e0de0f2743ce6d9c9ef7626cb1","cabal-sha256":"363e1bcd89f8498a770ae783e8388fcce35e6515b4c38dca47327aad81196a7b"},"version":"0.1.1"},
"indexed-traversable": {"dependencies":["array","base","containers","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-traversable-0.1.1/indexed-traversable-0.1.1.tar.gz"},"name":"indexed-traversable","pinned":{"url":["https://hackage.haskell.org/package/indexed-traversable-0.1.1/indexed-traversable-0.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-traversable-0.1.1.tar.gz"],"sha256":"7ac36ae3153cbe7a8e99eacffd065367b87544953cc92997f424a150db468139","cabal-sha256":"e4602357513aa3b146546227732e6e5698392f4324ab690e109cc05676ba3b4f"},"version":"0.1.1"}, "indexed-traversable": {"dependencies":["array","base","containers","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/indexed-traversable-0.1.1/indexed-traversable-0.1.1.tar.gz"},"name":"indexed-traversable","pinned":{"url":["https://hackage.haskell.org/package/indexed-traversable-0.1.1/indexed-traversable-0.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/indexed-traversable-0.1.1.tar.gz"],"sha256":"7ac36ae3153cbe7a8e99eacffd065367b87544953cc92997f424a150db468139","cabal-sha256":"e4602357513aa3b146546227732e6e5698392f4324ab690e109cc05676ba3b4f"},"version":"0.1.1"},
"insert-ordered-containers": {"dependencies":["aeson","base","base-compat","deepseq","hashable","indexed-traversable","lens","optics-core","optics-extra","semigroupoids","semigroups","text","transformers","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/insert-ordered-containers-0.2.5/insert-ordered-containers-0.2.5.tar.gz"},"name":"insert-ordered-containers","pinned":{"url":["https://hackage.haskell.org/package/insert-ordered-containers-0.2.5/insert-ordered-containers-0.2.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/insert-ordered-containers-0.2.5.tar.gz"],"sha256":"3e3051ec8591bbe05a030b9033d0d882895396d52edc5f77fde52316ff7b632d","cabal-sha256":"f9ab186d10175c4549f585e18da8f8ab6276a8eeb64e01fbc66bc6224aeca48b"},"version":"0.2.5"}, "insert-ordered-containers": {"dependencies":["aeson","base","base-compat","deepseq","hashable","indexed-traversable","lens","optics-core","optics-extra","semigroupoids","semigroups","text","transformers","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/insert-ordered-containers-0.2.5/insert-ordered-containers-0.2.5.tar.gz"},"name":"insert-ordered-containers","pinned":{"url":["https://hackage.haskell.org/package/insert-ordered-containers-0.2.5/insert-ordered-containers-0.2.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/insert-ordered-containers-0.2.5.tar.gz"],"sha256":"3e3051ec8591bbe05a030b9033d0d882895396d52edc5f77fde52316ff7b632d","cabal-sha256":"ca0b0f49a618df45a5be24db5be4a4e458e447b92572401cda70f261756859f6"},"version":"0.2.5"},
"integer-logarithms": {"dependencies":["array","base","ghc-prim","integer-simple"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz"},"name":"integer-logarithms","pinned":{"url":["https://hackage.haskell.org/package/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/integer-logarithms-1.0.3.1.tar.gz"],"sha256":"9b0a9f9fab609b15cd015865721fb05f744a1bc77ae92fd133872de528bbea7f","cabal-sha256":"888fb6c4fbd79ed2e8f8b94b61bccac25f7fab2b13b32b496e86828bc60b17cf"},"version":"1.0.3.1"}, "integer-logarithms": {"dependencies":["array","base","ghc-prim","integer-simple"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz"},"name":"integer-logarithms","pinned":{"url":["https://hackage.haskell.org/package/integer-logarithms-1.0.3.1/integer-logarithms-1.0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/integer-logarithms-1.0.3.1.tar.gz"],"sha256":"9b0a9f9fab609b15cd015865721fb05f744a1bc77ae92fd133872de528bbea7f","cabal-sha256":"888fb6c4fbd79ed2e8f8b94b61bccac25f7fab2b13b32b496e86828bc60b17cf"},"version":"1.0.3.1"},
"integer-simple": {"dependencies":["ghc-prim"],"location":{"type":"core"},"name":"integer-simple","version":"0.1.1.1"}, "integer-simple": {"dependencies":["ghc-prim"],"location":{"type":"core"},"name":"integer-simple","version":"0.1.1.1"},
"invariant": {"dependencies":["StateVar","array","base","bifunctors","comonad","containers","contravariant","ghc-prim","profunctors","stm","tagged","template-haskell","th-abstraction","transformers","transformers-compat","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/invariant-0.5.4/invariant-0.5.4.tar.gz"},"name":"invariant","pinned":{"url":["https://hackage.haskell.org/package/invariant-0.5.4/invariant-0.5.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/invariant-0.5.4.tar.gz"],"sha256":"b9fa0a1805dde1a4d39bed154e297a37933d2a82b295231098a76be9d60397ca","cabal-sha256":"04596946f13f4ec241eae5382c3c19eefebf6a7e2e5e60a4b8187c9115f8594a"},"version":"0.5.4"}, "invariant": {"dependencies":["StateVar","array","base","bifunctors","comonad","containers","contravariant","ghc-prim","profunctors","stm","tagged","template-haskell","th-abstraction","transformers","transformers-compat","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/invariant-0.5.4/invariant-0.5.4.tar.gz"},"name":"invariant","pinned":{"url":["https://hackage.haskell.org/package/invariant-0.5.4/invariant-0.5.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/invariant-0.5.4.tar.gz"],"sha256":"b9fa0a1805dde1a4d39bed154e297a37933d2a82b295231098a76be9d60397ca","cabal-sha256":"04596946f13f4ec241eae5382c3c19eefebf6a7e2e5e60a4b8187c9115f8594a"},"version":"0.5.4"},
@ -294,7 +294,7 @@
"xml": {"dependencies":["base","bytestring","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/xml-1.3.14/xml-1.3.14.tar.gz"},"name":"xml","pinned":{"url":["https://hackage.haskell.org/package/xml-1.3.14/xml-1.3.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/xml-1.3.14.tar.gz"],"sha256":"32d1a1a9f21a59176d84697f96ae3a13a0198420e3e4f1c48abbab7d2425013d","cabal-sha256":"c7a33d37c968c769723931a33e4e795f0aadda6cb62e7073ded8a2db52509d95"},"version":"1.3.14"}, "xml": {"dependencies":["base","bytestring","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/xml-1.3.14/xml-1.3.14.tar.gz"},"name":"xml","pinned":{"url":["https://hackage.haskell.org/package/xml-1.3.14/xml-1.3.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/xml-1.3.14.tar.gz"],"sha256":"32d1a1a9f21a59176d84697f96ae3a13a0198420e3e4f1c48abbab7d2425013d","cabal-sha256":"c7a33d37c968c769723931a33e4e795f0aadda6cb62e7073ded8a2db52509d95"},"version":"1.3.14"},
"xml-conduit": {"dependencies":["Cabal","attoparsec","base","blaze-html","blaze-markup","bytestring","cabal-doctest","conduit","conduit-extra","containers","data-default-class","deepseq","resourcet","text","transformers","xml-types"],"location":{"type":"vendored"},"name":"xml-conduit","version":"1.9.1.1"}, "xml-conduit": {"dependencies":["Cabal","attoparsec","base","blaze-html","blaze-markup","bytestring","cabal-doctest","conduit","conduit-extra","containers","data-default-class","deepseq","resourcet","text","transformers","xml-types"],"location":{"type":"vendored"},"name":"xml-conduit","version":"1.9.1.1"},
"xml-types": {"dependencies":["base","deepseq","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/xml-types-0.3.8/xml-types-0.3.8.tar.gz"},"name":"xml-types","pinned":{"url":["https://hackage.haskell.org/package/xml-types-0.3.8/xml-types-0.3.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/xml-types-0.3.8.tar.gz"],"sha256":"dad5e4ce602b7d1f4be37c0cfd99a261a4573746bfd80d917dc955b72da84c80","cabal-sha256":"0d1420f967a5f6439dc03f554b4d77cf15f9ff0aa58fa408efc52ca16459119b"},"version":"0.3.8"}, "xml-types": {"dependencies":["base","deepseq","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/xml-types-0.3.8/xml-types-0.3.8.tar.gz"},"name":"xml-types","pinned":{"url":["https://hackage.haskell.org/package/xml-types-0.3.8/xml-types-0.3.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/xml-types-0.3.8.tar.gz"],"sha256":"dad5e4ce602b7d1f4be37c0cfd99a261a4573746bfd80d917dc955b72da84c80","cabal-sha256":"0d1420f967a5f6439dc03f554b4d77cf15f9ff0aa58fa408efc52ca16459119b"},"version":"0.3.8"},
"yaml": {"dependencies":["aeson","attoparsec","base","bytestring","conduit","containers","directory","filepath","libyaml","mtl","resourcet","scientific","template-haskell","text","transformers","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/yaml-0.11.5.0/yaml-0.11.5.0.tar.gz"},"name":"yaml","pinned":{"url":["https://hackage.haskell.org/package/yaml-0.11.5.0/yaml-0.11.5.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/yaml-0.11.5.0.tar.gz"],"sha256":"b28e748bd69948cb1b43694d4d7c74756e060e09ca91688d0485e23f19d6cdad","cabal-sha256":"499783456cb70964b6ff29e310d1785829e57eb872ec143a9a81da0edb69cb61"},"version":"0.11.5.0"}, "yaml": {"dependencies":["aeson","attoparsec","base","bytestring","conduit","containers","directory","filepath","libyaml","mtl","resourcet","scientific","template-haskell","text","transformers","unordered-containers","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/yaml-0.11.5.0/yaml-0.11.5.0.tar.gz"},"name":"yaml","pinned":{"url":["https://hackage.haskell.org/package/yaml-0.11.5.0/yaml-0.11.5.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/yaml-0.11.5.0.tar.gz"],"sha256":"b28e748bd69948cb1b43694d4d7c74756e060e09ca91688d0485e23f19d6cdad","cabal-sha256":"24b7f1470c33fc1cafdc5f6e4db8aa14f35f7a10172dddf2246c4292cf9d8e6a"},"version":"0.11.5.0"},
"zip": {"dependencies":["base","bytestring","case-insensitive","cereal","conduit","conduit-extra","containers","digest","directory","dlist","exceptions","filepath","monad-control","mtl","resourcet","text","time","transformers","transformers-base","unix"],"location":{"type":"vendored"},"name":"zip","version":"1.7.1"}, "zip": {"dependencies":["base","bytestring","case-insensitive","cereal","conduit","conduit-extra","containers","digest","directory","dlist","exceptions","filepath","monad-control","mtl","resourcet","text","time","transformers","transformers-base","unix"],"location":{"type":"vendored"},"name":"zip","version":"1.7.1"},
"zip-archive": {"dependencies":["array","base","binary","bytestring","containers","digest","directory","filepath","mtl","pretty","text","time","unix","zlib"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/zip-archive-0.4.1/zip-archive-0.4.1.tar.gz"},"name":"zip-archive","pinned":{"url":["https://hackage.haskell.org/package/zip-archive-0.4.1/zip-archive-0.4.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/zip-archive-0.4.1.tar.gz"],"sha256":"c5d5c9976241dcc25b0d8753dc526bb1bfef60f30dee38c53a7ae56e6be9b1b1","cabal-sha256":"51774bdc747d20b8f23172315f9c3fdd6c11de01607e98e9890eb87fb49566d7"},"version":"0.4.1"}, "zip-archive": {"dependencies":["array","base","binary","bytestring","containers","digest","directory","filepath","mtl","pretty","text","time","unix","zlib"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/zip-archive-0.4.1/zip-archive-0.4.1.tar.gz"},"name":"zip-archive","pinned":{"url":["https://hackage.haskell.org/package/zip-archive-0.4.1/zip-archive-0.4.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/zip-archive-0.4.1.tar.gz"],"sha256":"c5d5c9976241dcc25b0d8753dc526bb1bfef60f30dee38c53a7ae56e6be9b1b1","cabal-sha256":"51774bdc747d20b8f23172315f9c3fdd6c11de01607e98e9890eb87fb49566d7"},"version":"0.4.1"},
"zlib": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/zlib-0.6.2.3/zlib-0.6.2.3.tar.gz"},"name":"zlib","pinned":{"url":["https://hackage.haskell.org/package/zlib-0.6.2.3/zlib-0.6.2.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/zlib-0.6.2.3.tar.gz"],"sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","cabal-sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4"},"version":"0.6.2.3"} "zlib": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/zlib-0.6.2.3/zlib-0.6.2.3.tar.gz"},"name":"zlib","pinned":{"url":["https://hackage.haskell.org/package/zlib-0.6.2.3/zlib-0.6.2.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/zlib-0.6.2.3.tar.gz"],"sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","cabal-sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4"},"version":"0.6.2.3"}

View File

@ -1,6 +1,6 @@
{ {
"__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 707216402, "__GENERATED_FILE_DO_NOT_MODIFY_MANUALLY": 1574731910,
"all-cabal-hashes": "https://raw.githubusercontent.com/commercialhaskell/all-cabal-hashes/6638293ee2c7346e93b00c3922c401e0e41c508b", "all-cabal-hashes": "https://raw.githubusercontent.com/commercialhaskell/all-cabal-hashes/266fdda8d81c55cf5085fd756c12a66160299684",
"resolved": { "resolved": {
"Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.2.1.0"}, "Cabal": {"dependencies":[],"location":{"type":"core"},"name":"Cabal","version":"3.2.1.0"},
"Decimal": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/Decimal-0.5.2/Decimal-0.5.2.tar.gz"},"name":"Decimal","pinned":{"url":["https://hackage.haskell.org/package/Decimal-0.5.2/Decimal-0.5.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/Decimal-0.5.2.tar.gz"],"sha256":"a37a0220424e4bcb8cae1d38844c7027ee314449758d0d14ff3e2e0a5c8a87a7","cabal-sha256":"83dd16a1c0737fd35fdb1088af36e1a53034e75090e3f0d4ad32296f1a35a13b"},"version":"0.5.2"}, "Decimal": {"dependencies":["base","deepseq"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/Decimal-0.5.2/Decimal-0.5.2.tar.gz"},"name":"Decimal","pinned":{"url":["https://hackage.haskell.org/package/Decimal-0.5.2/Decimal-0.5.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/Decimal-0.5.2.tar.gz"],"sha256":"a37a0220424e4bcb8cae1d38844c7027ee314449758d0d14ff3e2e0a5c8a87a7","cabal-sha256":"83dd16a1c0737fd35fdb1088af36e1a53034e75090e3f0d4ad32296f1a35a13b"},"version":"0.5.2"},
@ -29,7 +29,7 @@
"attoparsec-iso8601": {"dependencies":["attoparsec","base","base-compat-batteries","text","time","time-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/attoparsec-iso8601-1.0.2.0/attoparsec-iso8601-1.0.2.0.tar.gz"},"name":"attoparsec-iso8601","pinned":{"url":["https://hackage.haskell.org/package/attoparsec-iso8601-1.0.2.0/attoparsec-iso8601-1.0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/attoparsec-iso8601-1.0.2.0.tar.gz"],"sha256":"02952d77c78e95710eea855f4e86ca048ab9fda83c6c08dd9215f21a40604f98","cabal-sha256":"f517cd588d0a64fd3cbec083ca67c671e68861ed9c97b1349070ee577c3fa5a0"},"version":"1.0.2.0"}, "attoparsec-iso8601": {"dependencies":["attoparsec","base","base-compat-batteries","text","time","time-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/attoparsec-iso8601-1.0.2.0/attoparsec-iso8601-1.0.2.0.tar.gz"},"name":"attoparsec-iso8601","pinned":{"url":["https://hackage.haskell.org/package/attoparsec-iso8601-1.0.2.0/attoparsec-iso8601-1.0.2.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/attoparsec-iso8601-1.0.2.0.tar.gz"],"sha256":"02952d77c78e95710eea855f4e86ca048ab9fda83c6c08dd9215f21a40604f98","cabal-sha256":"f517cd588d0a64fd3cbec083ca67c671e68861ed9c97b1349070ee577c3fa5a0"},"version":"1.0.2.0"},
"auto-update": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/auto-update-0.1.6/auto-update-0.1.6.tar.gz"},"name":"auto-update","pinned":{"url":["https://hackage.haskell.org/package/auto-update-0.1.6/auto-update-0.1.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/auto-update-0.1.6.tar.gz"],"sha256":"f4e023dc8713c387ecf20d851247597fd012cabea3872310b35e911105eb66c4","cabal-sha256":"10adca282e131a2fa01fb7a411b02811685c1cea02e9813df2d7fb468b5ef638"},"version":"0.1.6"}, "auto-update": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/auto-update-0.1.6/auto-update-0.1.6.tar.gz"},"name":"auto-update","pinned":{"url":["https://hackage.haskell.org/package/auto-update-0.1.6/auto-update-0.1.6.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/auto-update-0.1.6.tar.gz"],"sha256":"f4e023dc8713c387ecf20d851247597fd012cabea3872310b35e911105eb66c4","cabal-sha256":"10adca282e131a2fa01fb7a411b02811685c1cea02e9813df2d7fb468b5ef638"},"version":"0.1.6"},
"base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.14.1.0"}, "base": {"dependencies":[],"location":{"type":"core"},"name":"base","version":"4.14.1.0"},
"base-compat": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-0.11.2/base-compat-0.11.2.tar.gz"},"name":"base-compat","pinned":{"url":["https://hackage.haskell.org/package/base-compat-0.11.2/base-compat-0.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-0.11.2.tar.gz"],"sha256":"53a6b5145442fba5a4bad6db2bcdede17f164642b48bc39b95015422a39adbdb","cabal-sha256":"f95374022a56e8c74a289e2b70ec50a1365f58b5f1f50f5c7f0fc14edf88f30e"},"version":"0.11.2"}, "base-compat": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-0.11.2/base-compat-0.11.2.tar.gz"},"name":"base-compat","pinned":{"url":["https://hackage.haskell.org/package/base-compat-0.11.2/base-compat-0.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-0.11.2.tar.gz"],"sha256":"53a6b5145442fba5a4bad6db2bcdede17f164642b48bc39b95015422a39adbdb","cabal-sha256":"31bfcb04e73c994e46fa1b6136dffbea75d2f6e27a67c493a97095bc53c8db40"},"version":"0.11.2"},
"base-compat-batteries": {"dependencies":["base","base-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-batteries-0.11.2/base-compat-batteries-0.11.2.tar.gz"},"name":"base-compat-batteries","pinned":{"url":["https://hackage.haskell.org/package/base-compat-batteries-0.11.2/base-compat-batteries-0.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-batteries-0.11.2.tar.gz"],"sha256":"31e066a5aa96af94fe6465adb959c38d63a49e01357641aa4322c754a94d3023","cabal-sha256":"eb3b976007754ddc16e8d4afacdd1e575ae746edb57dcd0a1a728ccd4b372a69"},"version":"0.11.2"}, "base-compat-batteries": {"dependencies":["base","base-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-compat-batteries-0.11.2/base-compat-batteries-0.11.2.tar.gz"},"name":"base-compat-batteries","pinned":{"url":["https://hackage.haskell.org/package/base-compat-batteries-0.11.2/base-compat-batteries-0.11.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-compat-batteries-0.11.2.tar.gz"],"sha256":"31e066a5aa96af94fe6465adb959c38d63a49e01357641aa4322c754a94d3023","cabal-sha256":"eb3b976007754ddc16e8d4afacdd1e575ae746edb57dcd0a1a728ccd4b372a69"},"version":"0.11.2"},
"base-orphans": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-orphans-0.8.4/base-orphans-0.8.4.tar.gz"},"name":"base-orphans","pinned":{"url":["https://hackage.haskell.org/package/base-orphans-0.8.4/base-orphans-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-orphans-0.8.4.tar.gz"],"sha256":"37b2b59356c03400a2d509862677393c5ff706a0aabf826c104f6fe03d93bbb3","cabal-sha256":"9a70dc95761ab9a9d49a038a4599b7b7945d486d80ed1678f347445bc336f3e0"},"version":"0.8.4"}, "base-orphans": {"dependencies":["base","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base-orphans-0.8.4/base-orphans-0.8.4.tar.gz"},"name":"base-orphans","pinned":{"url":["https://hackage.haskell.org/package/base-orphans-0.8.4/base-orphans-0.8.4.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base-orphans-0.8.4.tar.gz"],"sha256":"37b2b59356c03400a2d509862677393c5ff706a0aabf826c104f6fe03d93bbb3","cabal-sha256":"9a70dc95761ab9a9d49a038a4599b7b7945d486d80ed1678f347445bc336f3e0"},"version":"0.8.4"},
"base16-bytestring": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base16-bytestring-1.0.1.0/base16-bytestring-1.0.1.0.tar.gz"},"name":"base16-bytestring","pinned":{"url":["https://hackage.haskell.org/package/base16-bytestring-1.0.1.0/base16-bytestring-1.0.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base16-bytestring-1.0.1.0.tar.gz"],"sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54"},"version":"1.0.1.0"}, "base16-bytestring": {"dependencies":["base","bytestring"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/base16-bytestring-1.0.1.0/base16-bytestring-1.0.1.0.tar.gz"},"name":"base16-bytestring","pinned":{"url":["https://hackage.haskell.org/package/base16-bytestring-1.0.1.0/base16-bytestring-1.0.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/base16-bytestring-1.0.1.0.tar.gz"],"sha256":"c0c70a4b58be53d36971bd7361ba300f82a5d5ebf7f50e1a2d7bfc8838bdd6fa","cabal-sha256":"33b9d57afa334d06485033e930c6b13fc760baf88fd8f715ae2f9a4b46e19a54"},"version":"1.0.1.0"},
@ -47,7 +47,7 @@
"cabal-doctest": {"dependencies":["Cabal","base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz"},"name":"cabal-doctest","pinned":{"url":["https://hackage.haskell.org/package/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cabal-doctest-1.0.8.tar.gz"],"sha256":"2026a6a87d410202ce091412ca6bc33c5aca787025326b4a3d13425a23392e0e","cabal-sha256":"8bd1d614fb65f0d52609da30bf8e5ec71a4b6adf8ff5610edb3cb4d114576117"},"version":"1.0.8"}, "cabal-doctest": {"dependencies":["Cabal","base","directory","filepath"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz"},"name":"cabal-doctest","pinned":{"url":["https://hackage.haskell.org/package/cabal-doctest-1.0.8/cabal-doctest-1.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cabal-doctest-1.0.8.tar.gz"],"sha256":"2026a6a87d410202ce091412ca6bc33c5aca787025326b4a3d13425a23392e0e","cabal-sha256":"8bd1d614fb65f0d52609da30bf8e5ec71a4b6adf8ff5610edb3cb4d114576117"},"version":"1.0.8"},
"call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.3.0/call-stack-0.3.0.tar.gz"},"name":"call-stack","pinned":{"url":["https://hackage.haskell.org/package/call-stack-0.3.0/call-stack-0.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.3.0.tar.gz"],"sha256":"b80e8de2b87f01922b23b328655ad2f843f42495f3e1033ae907aade603c716a","cabal-sha256":"dc369179410fd39542efde04778d1c4a18a015b3cf4b1703d9c88e07d58ece20"},"version":"0.3.0"}, "call-stack": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/call-stack-0.3.0/call-stack-0.3.0.tar.gz"},"name":"call-stack","pinned":{"url":["https://hackage.haskell.org/package/call-stack-0.3.0/call-stack-0.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/call-stack-0.3.0.tar.gz"],"sha256":"b80e8de2b87f01922b23b328655ad2f843f42495f3e1033ae907aade603c716a","cabal-sha256":"dc369179410fd39542efde04778d1c4a18a015b3cf4b1703d9c88e07d58ece20"},"version":"0.3.0"},
"case-insensitive": {"dependencies":["base","bytestring","deepseq","hashable","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz"},"name":"case-insensitive","pinned":{"url":["https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/case-insensitive-1.2.1.0.tar.gz"],"sha256":"296dc17e0c5f3dfb3d82ced83e4c9c44c338ecde749b278b6eae512f1d04e406","cabal-sha256":"9dfd3171fc7698cf8d931727d3af3a7b389135b583e46b5adac1f9d2026fff61"},"version":"1.2.1.0"}, "case-insensitive": {"dependencies":["base","bytestring","deepseq","hashable","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz"},"name":"case-insensitive","pinned":{"url":["https://hackage.haskell.org/package/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/case-insensitive-1.2.1.0.tar.gz"],"sha256":"296dc17e0c5f3dfb3d82ced83e4c9c44c338ecde749b278b6eae512f1d04e406","cabal-sha256":"9dfd3171fc7698cf8d931727d3af3a7b389135b583e46b5adac1f9d2026fff61"},"version":"1.2.1.0"},
"cereal": {"dependencies":["array","base","bytestring","containers","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz"},"name":"cereal","pinned":{"url":["https://hackage.haskell.org/package/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-0.5.8.1.tar.gz"],"sha256":"2d9e88ac934b9ebc058097c72011ff59f3f146176310e1c957a0e4cf63681bd7","cabal-sha256":"37cb7a78c84412e94592a658768320c41f015f2b8707a433de835afb8ebc18d7"},"version":"0.5.8.1"}, "cereal": {"dependencies":["array","base","bytestring","containers","ghc-prim"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz"},"name":"cereal","pinned":{"url":["https://hackage.haskell.org/package/cereal-0.5.8.1/cereal-0.5.8.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-0.5.8.1.tar.gz"],"sha256":"2d9e88ac934b9ebc058097c72011ff59f3f146176310e1c957a0e4cf63681bd7","cabal-sha256":"a08b65dd8beb3159b4a9a42c4d98ec5363cb551e78c9e9ffb7e810a676b4610b"},"version":"0.5.8.1"},
"cereal-conduit": {"dependencies":["base","bytestring","cereal","conduit","resourcet","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-conduit-0.8.0/cereal-conduit-0.8.0.tar.gz"},"name":"cereal-conduit","pinned":{"url":["https://hackage.haskell.org/package/cereal-conduit-0.8.0/cereal-conduit-0.8.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-conduit-0.8.0.tar.gz"],"sha256":"d95c4518a9984feacfd811c64be993705bff74c1f2daa00b4687bbb79f3a39eb","cabal-sha256":"ec62bcd3f5485dd7af4162483de165da9104fb29284b350d5b28da25dea0bec6"},"version":"0.8.0"}, "cereal-conduit": {"dependencies":["base","bytestring","cereal","conduit","resourcet","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cereal-conduit-0.8.0/cereal-conduit-0.8.0.tar.gz"},"name":"cereal-conduit","pinned":{"url":["https://hackage.haskell.org/package/cereal-conduit-0.8.0/cereal-conduit-0.8.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cereal-conduit-0.8.0.tar.gz"],"sha256":"d95c4518a9984feacfd811c64be993705bff74c1f2daa00b4687bbb79f3a39eb","cabal-sha256":"ec62bcd3f5485dd7af4162483de165da9104fb29284b350d5b28da25dea0bec6"},"version":"0.8.0"},
"charset": {"dependencies":["array","base","bytestring","containers","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/charset-0.3.8/charset-0.3.8.tar.gz"},"name":"charset","pinned":{"url":["https://hackage.haskell.org/package/charset-0.3.8/charset-0.3.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/charset-0.3.8.tar.gz"],"sha256":"7aaaa3e79b527dd46ee43b274f25d7ba18b4d3e698db404b5c923e6da3f086e7","cabal-sha256":"5e3a51797914c180fcab3c6a0a482bf9186f419541f86d65d3da728c407d51e7"},"version":"0.3.8"}, "charset": {"dependencies":["array","base","bytestring","containers","unordered-containers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/charset-0.3.8/charset-0.3.8.tar.gz"},"name":"charset","pinned":{"url":["https://hackage.haskell.org/package/charset-0.3.8/charset-0.3.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/charset-0.3.8.tar.gz"],"sha256":"7aaaa3e79b527dd46ee43b274f25d7ba18b4d3e698db404b5c923e6da3f086e7","cabal-sha256":"5e3a51797914c180fcab3c6a0a482bf9186f419541f86d65d3da728c407d51e7"},"version":"0.3.8"},
"clock": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/clock-0.8.2/clock-0.8.2.tar.gz"},"name":"clock","pinned":{"url":["https://hackage.haskell.org/package/clock-0.8.2/clock-0.8.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/clock-0.8.2.tar.gz"],"sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a"},"version":"0.8.2"}, "clock": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/clock-0.8.2/clock-0.8.2.tar.gz"},"name":"clock","pinned":{"url":["https://hackage.haskell.org/package/clock-0.8.2/clock-0.8.2.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/clock-0.8.2.tar.gz"],"sha256":"0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461","cabal-sha256":"473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a"},"version":"0.8.2"},
@ -55,12 +55,12 @@
"cmdargs": {"dependencies":["base","filepath","process","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cmdargs-0.10.21/cmdargs-0.10.21.tar.gz"},"name":"cmdargs","pinned":{"url":["https://hackage.haskell.org/package/cmdargs-0.10.21/cmdargs-0.10.21.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cmdargs-0.10.21.tar.gz"],"sha256":"f7d8ea5c4e6af368d9b5d2eb994fc29235406fbe91916a6dc63bd883025eca75","cabal-sha256":"a347cf8a16af30b9d8378209de0d1b7ac2b7b39e3af5d384383d8ef82315b37f"},"version":"0.10.21"}, "cmdargs": {"dependencies":["base","filepath","process","template-haskell","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/cmdargs-0.10.21/cmdargs-0.10.21.tar.gz"},"name":"cmdargs","pinned":{"url":["https://hackage.haskell.org/package/cmdargs-0.10.21/cmdargs-0.10.21.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/cmdargs-0.10.21.tar.gz"],"sha256":"f7d8ea5c4e6af368d9b5d2eb994fc29235406fbe91916a6dc63bd883025eca75","cabal-sha256":"a347cf8a16af30b9d8378209de0d1b7ac2b7b39e3af5d384383d8ef82315b37f"},"version":"0.10.21"},
"colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.5/colour-2.3.5.tar.gz"},"name":"colour","pinned":{"url":["https://hackage.haskell.org/package/colour-2.3.5/colour-2.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.5.tar.gz"],"sha256":"3b8d471979617dce7c193523743c9782df63433d8e87e3ef6d97922e0da104e7","cabal-sha256":"b27db0a3ad40d70bdbd8510a104269f8707592e80757a1abc66a22ba25e5a42f"},"version":"2.3.5"}, "colour": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/colour-2.3.5/colour-2.3.5.tar.gz"},"name":"colour","pinned":{"url":["https://hackage.haskell.org/package/colour-2.3.5/colour-2.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/colour-2.3.5.tar.gz"],"sha256":"3b8d471979617dce7c193523743c9782df63433d8e87e3ef6d97922e0da104e7","cabal-sha256":"b27db0a3ad40d70bdbd8510a104269f8707592e80757a1abc66a22ba25e5a42f"},"version":"2.3.5"},
"comonad": {"dependencies":["base","containers","distributive","indexed-traversable","tagged","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz"},"name":"comonad","pinned":{"url":["https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/comonad-5.0.8.tar.gz"],"sha256":"ef6cdf2cc292cc43ee6aa96c581b235fdea8ab44a0bffb24dc79ae2b2ef33d13","cabal-sha256":"1f1aabd73ec7f80f20cf078a748a60cd48d8e57277802fdf6a9ab3601a9b8f7e"},"version":"5.0.8"}, "comonad": {"dependencies":["base","containers","distributive","indexed-traversable","tagged","transformers","transformers-compat"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz"},"name":"comonad","pinned":{"url":["https://hackage.haskell.org/package/comonad-5.0.8/comonad-5.0.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/comonad-5.0.8.tar.gz"],"sha256":"ef6cdf2cc292cc43ee6aa96c581b235fdea8ab44a0bffb24dc79ae2b2ef33d13","cabal-sha256":"1f1aabd73ec7f80f20cf078a748a60cd48d8e57277802fdf6a9ab3601a9b8f7e"},"version":"5.0.8"},
"conduit": {"dependencies":["Win32","base","bytestring","directory","exceptions","filepath","mono-traversable","mtl","primitive","resourcet","text","transformers","unliftio-core","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-1.3.4.1/conduit-1.3.4.1.tar.gz"},"name":"conduit","pinned":{"url":["https://hackage.haskell.org/package/conduit-1.3.4.1/conduit-1.3.4.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-1.3.4.1.tar.gz"],"sha256":"85743b8d5f2d5779ccb7459b5a919c5786707af23fe7a065d281ee8e6dc226f1","cabal-sha256":"eeabaf3f822e3e15317995766f50ef4a20371bdc3bb4721a7541e37228018dcf"},"version":"1.3.4.1"}, "conduit": {"dependencies":["Win32","base","bytestring","directory","exceptions","filepath","mono-traversable","mtl","primitive","resourcet","text","transformers","unliftio-core","vector"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-1.3.4.1/conduit-1.3.4.1.tar.gz"},"name":"conduit","pinned":{"url":["https://hackage.haskell.org/package/conduit-1.3.4.1/conduit-1.3.4.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-1.3.4.1.tar.gz"],"sha256":"85743b8d5f2d5779ccb7459b5a919c5786707af23fe7a065d281ee8e6dc226f1","cabal-sha256":"a3594c55d7dd4295919d4b3677112499dbac8a1c57d86de0dfea4bfc7c8db8c5"},"version":"1.3.4.1"},
"conduit-combinators": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-combinators-1.3.0/conduit-combinators-1.3.0.tar.gz"},"name":"conduit-combinators","pinned":{"url":["https://hackage.haskell.org/package/conduit-combinators-1.3.0/conduit-combinators-1.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-combinators-1.3.0.tar.gz"],"sha256":"9717d916a0422a7fb7cc262302333269607530d40cd0bea3be947872f906e7d3","cabal-sha256":"0ada7712bd8291c958cbd0db1ccc8374936f260cfa41422d7a5d979d1c7ea757"},"version":"1.3.0"}, "conduit-combinators": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-combinators-1.3.0/conduit-combinators-1.3.0.tar.gz"},"name":"conduit-combinators","pinned":{"url":["https://hackage.haskell.org/package/conduit-combinators-1.3.0/conduit-combinators-1.3.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-combinators-1.3.0.tar.gz"],"sha256":"9717d916a0422a7fb7cc262302333269607530d40cd0bea3be947872f906e7d3","cabal-sha256":"0ada7712bd8291c958cbd0db1ccc8374936f260cfa41422d7a5d979d1c7ea757"},"version":"1.3.0"},
"conduit-extra": {"dependencies":["async","attoparsec","base","bytestring","conduit","directory","filepath","network","primitive","process","resourcet","stm","streaming-commons","text","transformers","typed-process","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-extra-1.3.5/conduit-extra-1.3.5.tar.gz"},"name":"conduit-extra","pinned":{"url":["https://hackage.haskell.org/package/conduit-extra-1.3.5/conduit-extra-1.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-extra-1.3.5.tar.gz"],"sha256":"8a648dee203c01e647fa386bfe7a5b293ce552f8b5cab9c0dd5cb71c7cd012d9","cabal-sha256":"c3de6704df0b728d258827370b3de4e467a25d396037104639b859d743146365"},"version":"1.3.5"}, "conduit-extra": {"dependencies":["async","attoparsec","base","bytestring","conduit","directory","filepath","network","primitive","process","resourcet","stm","streaming-commons","text","transformers","typed-process","unliftio-core"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-extra-1.3.5/conduit-extra-1.3.5.tar.gz"},"name":"conduit-extra","pinned":{"url":["https://hackage.haskell.org/package/conduit-extra-1.3.5/conduit-extra-1.3.5.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-extra-1.3.5.tar.gz"],"sha256":"8a648dee203c01e647fa386bfe7a5b293ce552f8b5cab9c0dd5cb71c7cd012d9","cabal-sha256":"c3de6704df0b728d258827370b3de4e467a25d396037104639b859d743146365"},"version":"1.3.5"},
"conduit-parse": {"dependencies":["base","conduit","dlist","mtl","parsers","safe","safe-exceptions","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-parse-0.2.1.0/conduit-parse-0.2.1.0.tar.gz"},"name":"conduit-parse","pinned":{"url":["https://hackage.haskell.org/package/conduit-parse-0.2.1.0/conduit-parse-0.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-parse-0.2.1.0.tar.gz"],"sha256":"b585dbdc0c1e3a844a9cd97cd1e72d7a73521b66b856001960afe4057130dae1","cabal-sha256":"1c9f890d0cccdaa0f7d160cf4d1cf68f6e9e659a82f2db092ac7f4459395fdad"},"version":"0.2.1.0"}, "conduit-parse": {"dependencies":["base","conduit","dlist","mtl","parsers","safe","safe-exceptions","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/conduit-parse-0.2.1.0/conduit-parse-0.2.1.0.tar.gz"},"name":"conduit-parse","pinned":{"url":["https://hackage.haskell.org/package/conduit-parse-0.2.1.0/conduit-parse-0.2.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/conduit-parse-0.2.1.0.tar.gz"],"sha256":"b585dbdc0c1e3a844a9cd97cd1e72d7a73521b66b856001960afe4057130dae1","cabal-sha256":"1c9f890d0cccdaa0f7d160cf4d1cf68f6e9e659a82f2db092ac7f4459395fdad"},"version":"0.2.1.0"},
"connection": {"dependencies":["base","basement","bytestring","containers","data-default-class","network","socks","tls","x509","x509-store","x509-system","x509-validation"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/connection-0.3.1/connection-0.3.1.tar.gz"},"name":"connection","pinned":{"url":["https://hackage.haskell.org/package/connection-0.3.1/connection-0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/connection-0.3.1.tar.gz"],"sha256":"5d759589c532c34d87bfc4f6fcb732bf55b55a93559d3b94229e8347a15375d9","cabal-sha256":"65da1c055610095733bcd228d85dff80804b23a5d18fede994a0f9fcd1b0c121"},"version":"0.3.1"}, "connection": {"dependencies":["base","basement","bytestring","containers","data-default-class","network","socks","tls","x509","x509-store","x509-system","x509-validation"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/connection-0.3.1/connection-0.3.1.tar.gz"},"name":"connection","pinned":{"url":["https://hackage.haskell.org/package/connection-0.3.1/connection-0.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/connection-0.3.1.tar.gz"],"sha256":"5d759589c532c34d87bfc4f6fcb732bf55b55a93559d3b94229e8347a15375d9","cabal-sha256":"65da1c055610095733bcd228d85dff80804b23a5d18fede994a0f9fcd1b0c121"},"version":"0.3.1"},
"constraints": {"dependencies":["base","binary","deepseq","ghc-prim","hashable","mtl","transformers","transformers-compat","type-equality"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-0.13/constraints-0.13.tar.gz"},"name":"constraints","pinned":{"url":["https://hackage.haskell.org/package/constraints-0.13/constraints-0.13.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-0.13.tar.gz"],"sha256":"9259af54682f2673931978d96074c147406b1e18bd9111903fcaefe9252a6590","cabal-sha256":"d341eb4adbf712f928706928d23a173fb3d0976f0dfaf6a274958975d5fc9e75"},"version":"0.13"}, "constraints": {"dependencies":["base","binary","deepseq","ghc-prim","hashable","mtl","transformers","transformers-compat","type-equality"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-0.13/constraints-0.13.tar.gz"},"name":"constraints","pinned":{"url":["https://hackage.haskell.org/package/constraints-0.13/constraints-0.13.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-0.13.tar.gz"],"sha256":"9259af54682f2673931978d96074c147406b1e18bd9111903fcaefe9252a6590","cabal-sha256":"3c310d13923f9cc0615acc8565187c82da4a0ac80fc3a9de79d811f7baf2f0af"},"version":"0.13"},
"constraints-extras": {"dependencies":["aeson","base","constraints","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-extras-0.3.1.0/constraints-extras-0.3.1.0.tar.gz"},"name":"constraints-extras","pinned":{"url":["https://hackage.haskell.org/package/constraints-extras-0.3.1.0/constraints-extras-0.3.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-extras-0.3.1.0.tar.gz"],"sha256":"7a5666a0905a0eb949a620ab899ec990c009e5d84841539012adceebbbea2143","cabal-sha256":"c70fcf437e1d640cfd50a8eda1db47a64e49c96857e08fd0d8c438327d908ac1"},"version":"0.3.1.0"}, "constraints-extras": {"dependencies":["aeson","base","constraints","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/constraints-extras-0.3.1.0/constraints-extras-0.3.1.0.tar.gz"},"name":"constraints-extras","pinned":{"url":["https://hackage.haskell.org/package/constraints-extras-0.3.1.0/constraints-extras-0.3.1.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/constraints-extras-0.3.1.0.tar.gz"],"sha256":"7a5666a0905a0eb949a620ab899ec990c009e5d84841539012adceebbbea2143","cabal-sha256":"c70fcf437e1d640cfd50a8eda1db47a64e49c96857e08fd0d8c438327d908ac1"},"version":"0.3.1.0"},
"containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.2.1"}, "containers": {"dependencies":[],"location":{"type":"core"},"name":"containers","version":"0.6.2.1"},
"contravariant": {"dependencies":["StateVar","base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/contravariant-1.5.3/contravariant-1.5.3.tar.gz"},"name":"contravariant","pinned":{"url":["https://hackage.haskell.org/package/contravariant-1.5.3/contravariant-1.5.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/contravariant-1.5.3.tar.gz"],"sha256":"44536f0e331fde471271937323dc90409e95d47f57e42657fdaf242a0fd65dc1","cabal-sha256":"e59a7742e725f94fc6578e3593cd3f6d4e3d46a9510c3a782e5fe5e5f238e3ce"},"version":"1.5.3"}, "contravariant": {"dependencies":["StateVar","base","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/contravariant-1.5.3/contravariant-1.5.3.tar.gz"},"name":"contravariant","pinned":{"url":["https://hackage.haskell.org/package/contravariant-1.5.3/contravariant-1.5.3.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/contravariant-1.5.3.tar.gz"],"sha256":"44536f0e331fde471271937323dc90409e95d47f57e42657fdaf242a0fd65dc1","cabal-sha256":"e59a7742e725f94fc6578e3593cd3f6d4e3d46a9510c3a782e5fe5e5f238e3ce"},"version":"1.5.3"},
@ -101,15 +101,15 @@
"generic-deriving": {"dependencies":["base","containers","ghc-prim","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generic-deriving-1.14/generic-deriving-1.14.tar.gz"},"name":"generic-deriving","pinned":{"url":["https://hackage.haskell.org/package/generic-deriving-1.14/generic-deriving-1.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generic-deriving-1.14.tar.gz"],"sha256":"d0abd5e423960b66867c6149c20b221b1351e3805d1bf787fc4efa3e7bb7cb02","cabal-sha256":"c9c6782a3cdce2f2bcaf891e0ffbf06df871e68498574b73a565771dc084273c"},"version":"1.14"}, "generic-deriving": {"dependencies":["base","containers","ghc-prim","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generic-deriving-1.14/generic-deriving-1.14.tar.gz"},"name":"generic-deriving","pinned":{"url":["https://hackage.haskell.org/package/generic-deriving-1.14/generic-deriving-1.14.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generic-deriving-1.14.tar.gz"],"sha256":"d0abd5e423960b66867c6149c20b221b1351e3805d1bf787fc4efa3e7bb7cb02","cabal-sha256":"c9c6782a3cdce2f2bcaf891e0ffbf06df871e68498574b73a565771dc084273c"},"version":"1.14"},
"generics-sop": {"dependencies":["base","ghc-prim","sop-core","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generics-sop-0.5.1.1/generics-sop-0.5.1.1.tar.gz"},"name":"generics-sop","pinned":{"url":["https://hackage.haskell.org/package/generics-sop-0.5.1.1/generics-sop-0.5.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generics-sop-0.5.1.1.tar.gz"],"sha256":"81b7c38b5c2a1ae3c790b1707a0e2a2031430e33b3683f88e2daa5b59ae4c5d8","cabal-sha256":"522a1a1da05d5acc03da448fa603c038cc15b991272846a591e26e7505d2b73a"},"version":"0.5.1.1"}, "generics-sop": {"dependencies":["base","ghc-prim","sop-core","template-haskell","th-abstraction"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/generics-sop-0.5.1.1/generics-sop-0.5.1.1.tar.gz"},"name":"generics-sop","pinned":{"url":["https://hackage.haskell.org/package/generics-sop-0.5.1.1/generics-sop-0.5.1.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/generics-sop-0.5.1.1.tar.gz"],"sha256":"81b7c38b5c2a1ae3c790b1707a0e2a2031430e33b3683f88e2daa5b59ae4c5d8","cabal-sha256":"522a1a1da05d5acc03da448fa603c038cc15b991272846a591e26e7505d2b73a"},"version":"0.5.1.1"},
"ghc-byteorder": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-byteorder-4.11.0.0.10/ghc-byteorder-4.11.0.0.10.tar.gz"},"name":"ghc-byteorder","pinned":{"url":["https://hackage.haskell.org/package/ghc-byteorder-4.11.0.0.10/ghc-byteorder-4.11.0.0.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-byteorder-4.11.0.0.10.tar.gz"],"sha256":"86e50a89798181db4f44ec3848fc52940c73098e88549a351ceb54fefc691fb6","cabal-sha256":"d47fdef63f2a145091e91b1aedbd46bf61ca03bb935e81e3462a1d904c319de3"},"version":"4.11.0.0.10"}, "ghc-byteorder": {"dependencies":["base"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-byteorder-4.11.0.0.10/ghc-byteorder-4.11.0.0.10.tar.gz"},"name":"ghc-byteorder","pinned":{"url":["https://hackage.haskell.org/package/ghc-byteorder-4.11.0.0.10/ghc-byteorder-4.11.0.0.10.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-byteorder-4.11.0.0.10.tar.gz"],"sha256":"86e50a89798181db4f44ec3848fc52940c73098e88549a351ceb54fefc691fb6","cabal-sha256":"d47fdef63f2a145091e91b1aedbd46bf61ca03bb935e81e3462a1d904c319de3"},"version":"4.11.0.0.10"},
"ghc-lib": {"dependencies":["Win32","alex","array","base","binary","bytestring","containers","deepseq","directory","filepath","ghc-lib-parser","ghc-prim","happy","hpc","pretty","process","rts","time","transformers"],"location":{"type":"archive","url":"https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-289a88911c02efcaeaf440c289a1bc60.tar.gz"},"name":"ghc-lib","pinned":{"sha256":"867c7fcf52ea3245cdd98f1044db29d19a2ac19db2b3114fcb78dc045d9eb69c","strip-prefix":"ghc-lib-8.8.1.20211005"},"version":"8.8.1.20211005"}, "ghc-lib": {"dependencies":["Win32","alex","array","base","binary","bytestring","containers","deepseq","directory","filepath","ghc-lib-parser","ghc-prim","happy","hpc","pretty","process","rts","time","transformers"],"location":{"type":"archive","url":"https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-f5ac369874d523562066264f7facc06b.tar.gz"},"name":"ghc-lib","pinned":{"sha256":"ac7f2f212f1b1d69f107664059292133a08eabf6550b05371432216718460647","strip-prefix":"ghc-lib-8.8.1.20211020"},"version":"8.8.1.20211020"},
"ghc-lib-parser": {"dependencies":["Win32","alex","array","base","binary","bytestring","containers","deepseq","directory","filepath","ghc-prim","happy","hpc","pretty","process","time","transformers"],"location":{"type":"archive","url":"https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-parser-289a88911c02efcaeaf440c289a1bc60.tar.gz"},"name":"ghc-lib-parser","pinned":{"sha256":"fe0082d84a095213a89b2ba23fa6cb85831604e0c69bad06c16f1be40444aa0c","strip-prefix":"ghc-lib-parser-8.8.1.20211005"},"version":"8.8.1.20211005"}, "ghc-lib-parser": {"dependencies":["Win32","alex","array","base","binary","bytestring","containers","deepseq","directory","filepath","ghc-prim","happy","hpc","pretty","process","time","transformers"],"location":{"type":"archive","url":"https://daml-binaries.da-ext.net/da-ghc-lib/ghc-lib-parser-f5ac369874d523562066264f7facc06b.tar.gz"},"name":"ghc-lib-parser","pinned":{"sha256":"99b90740b5c17574ed5fc7df8d3449e35bf614bd9d3fda2515ac90c2f389cbdb","strip-prefix":"ghc-lib-parser-8.8.1.20211020"},"version":"8.8.1.20211020"},
"ghc-lib-parser-ex": {"dependencies":["base","bytestring","containers","extra","ghc-lib-parser","uniplate"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex-8.8.5.8.tar.gz"},"name":"ghc-lib-parser-ex","pinned":{"url":["https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex-8.8.5.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-lib-parser-ex-8.8.5.8.tar.gz"],"sha256":"b36ef8b49da4e8c78b00dca9b9546b7d4db0b09b10da5e313d3f0dbb4af581d7","cabal-sha256":"04f164fd6a4a5b0c5627cf7fadd79174c3b1d4c696dc481a9909266bd6a2a6aa"},"version":"8.8.5.8"}, "ghc-lib-parser-ex": {"dependencies":["base","bytestring","containers","extra","ghc-lib-parser","uniplate"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex-8.8.5.8.tar.gz"},"name":"ghc-lib-parser-ex","pinned":{"url":["https://hackage.haskell.org/package/ghc-lib-parser-ex-8.8.5.8/ghc-lib-parser-ex-8.8.5.8.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/ghc-lib-parser-ex-8.8.5.8.tar.gz"],"sha256":"b36ef8b49da4e8c78b00dca9b9546b7d4db0b09b10da5e313d3f0dbb4af581d7","cabal-sha256":"04f164fd6a4a5b0c5627cf7fadd79174c3b1d4c696dc481a9909266bd6a2a6aa"},"version":"8.8.5.8"},
"ghc-prim": {"dependencies":[],"location":{"type":"core"},"name":"ghc-prim","version":"0.6.1"}, "ghc-prim": {"dependencies":[],"location":{"type":"core"},"name":"ghc-prim","version":"0.6.1"},
"ghcide": {"dependencies":["aeson","async","base","binary","bytestring","containers","data-default","deepseq","dependent-map","dependent-sum","directory","extra","filepath","fuzzy","ghc-lib","ghc-lib-parser","haddock-library","hashable","hslogger","lsp","lsp-types","mtl","network-uri","prettyprinter","prettyprinter-ansi-terminal","regex-tdfa","rope-utf16-splay","safe-exceptions","shake","some","sorted-list","stm","syb","text","time","transformers","unliftio","unordered-containers","utf8-string"],"location":{"type":"vendored"},"name":"ghcide","version":"0.1.0"}, "ghcide": {"dependencies":["aeson","async","base","binary","bytestring","containers","data-default","deepseq","dependent-map","dependent-sum","directory","extra","filepath","fuzzy","ghc-lib","ghc-lib-parser","haddock-library","hashable","hslogger","lsp","lsp-types","mtl","network-uri","prettyprinter","prettyprinter-ansi-terminal","regex-tdfa","rope-utf16-splay","safe-exceptions","shake","some","sorted-list","stm","syb","text","time","transformers","unliftio","unordered-containers","utf8-string"],"location":{"type":"vendored"},"name":"ghcide","version":"0.1.0"},
"gitrev": {"dependencies":["base","base-compat","directory","filepath","process","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz"},"name":"gitrev","pinned":{"url":["https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/gitrev-1.3.1.tar.gz"],"sha256":"a89964db24f56727b0e7b10c98fe7c116d721d8c46f52d6e77088669aaa38332","cabal-sha256":"1d0b2d34bee761865fc22bd022f32890e1b561dfac62a1f31a4fe6220a0d1e58"},"version":"1.3.1"}, "gitrev": {"dependencies":["base","base-compat","directory","filepath","process","template-haskell"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz"},"name":"gitrev","pinned":{"url":["https://hackage.haskell.org/package/gitrev-1.3.1/gitrev-1.3.1.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/gitrev-1.3.1.tar.gz"],"sha256":"a89964db24f56727b0e7b10c98fe7c116d721d8c46f52d6e77088669aaa38332","cabal-sha256":"1d0b2d34bee761865fc22bd022f32890e1b561dfac62a1f31a4fe6220a0d1e58"},"version":"1.3.1"},
"grpc-haskell": {"dependencies":["async","base","bytestring","grpc-haskell-core","managed","proto3-suite","proto3-wire"],"location":{"type":"vendored"},"name":"grpc-haskell","version":"0.0.2.0"}, "grpc-haskell": {"dependencies":["async","base","bytestring","grpc-haskell-core","managed","proto3-suite","proto3-wire"],"location":{"type":"vendored"},"name":"grpc-haskell","version":"0.0.2.0"},
"grpc-haskell-core": {"dependencies":["base","bytestring","c2hs","clock","containers","managed","sorted-list","stm","transformers"],"location":{"type":"vendored"},"name":"grpc-haskell-core","version":"0.0.0.0"}, "grpc-haskell-core": {"dependencies":["base","bytestring","c2hs","clock","containers","managed","sorted-list","stm","transformers"],"location":{"type":"vendored"},"name":"grpc-haskell-core","version":"0.0.0.0"},
"haddock-library": {"dependencies":["base","bytestring","containers","parsec","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haddock-library-1.10.0/haddock-library-1.10.0.tar.gz"},"name":"haddock-library","pinned":{"url":["https://hackage.haskell.org/package/haddock-library-1.10.0/haddock-library-1.10.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haddock-library-1.10.0.tar.gz"],"sha256":"f806c7d5a07d63166101332664c345278f88a5781a640ec3ef215c8fb0015395","cabal-sha256":"2a6c239da9225951a5d837e1ce373faeeae60d1345c78dd0a0b0f29df30c4fe9"},"version":"1.10.0"}, "haddock-library": {"dependencies":["base","bytestring","containers","parsec","text","transformers"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/haddock-library-1.10.0/haddock-library-1.10.0.tar.gz"},"name":"haddock-library","pinned":{"url":["https://hackage.haskell.org/package/haddock-library-1.10.0/haddock-library-1.10.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/haddock-library-1.10.0.tar.gz"],"sha256":"f806c7d5a07d63166101332664c345278f88a5781a640ec3ef215c8fb0015395","cabal-sha256":"b77d833dd1a98876738fa18e018280c79e8b328ad36792021d98974090f955e4"},"version":"1.10.0"},
"happy": {"dependencies":["array","base","containers","mtl"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/happy-1.20.0/happy-1.20.0.tar.gz"},"name":"happy","pinned":{"url":["https://hackage.haskell.org/package/happy-1.20.0/happy-1.20.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/happy-1.20.0.tar.gz"],"sha256":"3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c","cabal-sha256":"f99e612b29d68d784d7e193943a13466f0923de69452a2585081491efed0436b"},"version":"1.20.0"}, "happy": {"dependencies":["array","base","containers","mtl"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/happy-1.20.0/happy-1.20.0.tar.gz"},"name":"happy","pinned":{"url":["https://hackage.haskell.org/package/happy-1.20.0/happy-1.20.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/happy-1.20.0.tar.gz"],"sha256":"3b1d3a8f93a2723b554d9f07b2cd136be1a7b2fcab1855b12b7aab5cbac8868c","cabal-sha256":"f99e612b29d68d784d7e193943a13466f0923de69452a2585081491efed0436b"},"version":"1.20.0"},
"hashable": {"dependencies":["base","bytestring","deepseq","ghc-prim","integer-gmp","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz"},"name":"hashable","pinned":{"url":["https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hashable-1.3.0.0.tar.gz"],"sha256":"822e5413fbccca6ae884d3aba4066422c8b5d58d23d18b9ecb5c03273bb19ab4","cabal-sha256":"d60cad00223d46172020c136e68acef0481a47d0302b2e74b1805b4f3a446a9b"},"version":"1.3.0.0"}, "hashable": {"dependencies":["base","bytestring","deepseq","ghc-prim","integer-gmp","text"],"location":{"type":"hackage","url":"https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz"},"name":"hashable","pinned":{"url":["https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz","https://s3.amazonaws.com/hackage.fpcomplete.com/package/hashable-1.3.0.0.tar.gz"],"sha256":"822e5413fbccca6ae884d3aba4066422c8b5d58d23d18b9ecb5c03273bb19ab4","cabal-sha256":"d60cad00223d46172020c136e68acef0481a47d0302b2e74b1805b4f3a446a9b"},"version":"1.3.0.0"},
"haskeline": {"dependencies":["Win32","base","bytestring","containers","directory","exceptions","filepath","process","stm","transformers"],"location":{"type":"core"},"name":"haskeline","version":"0.8.1.2"}, "haskeline": {"dependencies":["Win32","base","bytestring","containers","directory","exceptions","filepath","process","stm","transformers"],"location":{"type":"core"},"name":"haskeline","version":"0.8.1.2"},