h":?0      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                   Safe-Inferredghc-bootExpand occurrences of the $topdir interpolation in a string.ghc-boot expandPathVar var value str!replaces occurrences of variable $var with value in str.ghc-boot&Calculate the location of the base dir Safe-Inferred Safe-Inferredghc-bootHandle GHC-specific character encoding flags, allowing us to control how GHC produces output regardless of OS.ghc-bootChange the character encoding of the given Handle to transliterate on unsupported characters instead of throwing an exception Safe-Inferred! Safe-Inferred  ghc-boot'x86 BMI (bit manipulation) instructions ghc-bootx86 SSE instructionsghc-bootTest if the given Integer is representable with a platform Intyghc-boot?Test if the given Integer is representable with a platform Word  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyefghWXYZ[\]^_`abcdklDEFGHIJKLMNOPQRSTUV56789:;<=>?@ABC1234+,-./0'()*$%&pnqrtsijuvwxy !"#mo   Safe-Inferred Safe-Inferred'(ghc-bootRepresents a serialized value of a particular type. Attempts can be made to deserialize it at certain typesghc-bootPut a Typeable value that we are able to actually turn into bytes into a & value ready for deserialization laterghc-bootIf the  value contains something of the given type, then use the specified deserializer to return Just that. Otherwise return Nothing.ghc-bootUse a > instance to implement a serialization scheme dual to that of ghc-bootUse a  instance to implement a deserialization scheme dual to that of  Safe-Inferred  Safe-Inferredghc-boot'See Note [Settings file] for "0" suffixghc-boot'See Note [Settings file] for "0" suffixghc-boot'See Note [Settings file] for "0" suffixghc-boot'See Note [Settings file] for "0" suffix 6(c) The University of Glasgow 2009, Duncan Coutts 2014ghc-devs@haskell.orgportableNone#$'(/2567>-/ghc-boot holds a value of type t but only in  mode. So it is like  but with a type argument for the mode to enforce that the mode is used consistently.ghc-bootMode to open a package db in.ghc-boot"Represents a lock of a package db.ghc-bootghc-boot4's instantiated unit id, serialized to the database.ghc-bootInstantiated unitghc-bootUninstantiated unitghc-bootghc-boot's Module, serialized to the database.ghc-bootInformation about an unit (a unit is an installed module library).This is a subset of Cabal's InstalledPackageInfo0, with just the bits that GHC is interested in.Some types are left as parameters to be instantiated differently in ghc-pkg and in ghc itself.ghc-bootUnique unit identifier that is used during compilation (e.g. to generate symbols).ghc-bootIdentifier of an indefinite unit (i.e. with module holes) that this unit is an instance of.ghc-bootHow this unit instantiates some of its module holes. Map hole module names to actual moduleghc-bootSource package identifier.Cabal instantiates this with Distribution.Types.PackageId.PackageId type which only contains the source package name and version. Notice that it doesn't contain the Hackage revision, nor any kind of hash.ghc-bootSource package nameghc-bootSource package versionghc-bootName of the component.Cabal supports more than one components (libraries, executables, testsuites) in the same package. Each component has a name except the default one (that can only be a library component) for which we use Nothing.GHC only deals with "library" components as they are the only kind of components that can be registered in a database and used by other modules.ghc-bootABI hash used to avoid mixing up units compiled with different dependencies, compiler, options, etc.ghc-boot,Identifiers of the units this one depends onghc-bootLike , but each dependency is annotated with the ABI hash we expect the dependency to respect.ghc-boot(Directories containing module interfacesghc-boot4Names of the Haskell libraries provided by this unitghc-bootNames of the external system libraries that this unit depends on. See also  field.ghc-bootBecause of slight differences between the GHC dynamic linker (in GHC.Runtime.Linker) and the native system linker, some packages have to link with a different list of libraries when using GHC's. Examples include: libs that are actually gnu ld scripts, and the possibility that the .a libs do not exactly match the .so/.dll equivalents.7If this field is set, then we use that instead of the  field.ghc-bootDirectories containing libraries provided by this unit. See also .It seems to be used to store paths to external library dependencies too.ghc-bootDirectories containing the dynamic libraries provided by this unit. See also .It seems to be used to store paths to external dynamic library dependencies too.ghc-bootNames of the external MacOS frameworks that this unit depends on.ghc-bootDirectories containing MacOS frameworks that this unit depends on.ghc-boot%Linker (e.g. ld) command line optionsghc-bootC compiler options that needs to be passed to the C compiler when we compile some C code against this unit.ghc-bootC header files that are required by this unit (provided by this unit or external)ghc-bootDirectories containing C header files that this unit depends on.ghc-boot.Paths to Haddock interface files for this unitghc-boot2Paths to Haddock directories containing HTML filesghc-bootModules exposed by the unit.A module can be re-exported from another package. In this case, we indicate the module origin in the second parameter.ghc-bootHidden modules.These are useful for error reporting (e.g. if a hidden module is imported)ghc-bootTrue if this unit has some module holes that need to be instantiated with real modules to make the unit usable (a.k.a. Backpack).ghc-bootTrue if the unit is exposed. A unit could be installed in a database by "disabled" by not being exposed.ghc-boot-True if the unit is trusted (cf Safe Haskell)ghc-bootghc-boot('s UnitInfo, serialized to the database.ghc-boot)Convert between GenericUnitInfo instancesghc-bootAcquire a lock of given type related to package DB under given location.ghc-bootAcquire an exclusive lock related to package DB under given location.ghc-boot'Release the lock related to package DB.ghc-boot:Read the part of the package DB that GHC is interested in.ghc-boot=Read the part of the package DB that ghc-pkg is interested inNote that the Binary instance for ghc-pkg's representation of packages is not defined in this package. This is because ghc-pkg uses Cabal types (and Binary instances for these) which this package does not depend on.If we open the package db in read only mode, we get its contents. Otherwise we additionally receive a PackageDbLock that represents a lock on the database, so that we can safely update it later.ghc-boot.Write the whole of the package DB, both parts.ghc-bootFeed a & decoder with data chunks from a file.ghc-bootPerform path/URL variable substitution as per the Cabal ${pkgroot} spec (http:/www.haskell.org pipermail libraries2009-May/011772.html) Paths/URLs can be relative to ${pkgroot} or ${pkgrooturl}. The "pkgroot" is the directory containing the package database.Also perform a similar substitution for the older GHC-specific "$topdir" variable. The "topdir" is the location of the ghc installation (obtained from the -B option).99  Safe-Inferred.  Safe-Inferred0ghc-bootA filepath like x86_64-linux-7.6.3 with the platform string to use when constructing platform-version-dependent files that need to co-exist. 'ghc-pkg' falls back on the host platform if the settings file is missing, and so needs this since we don't have information about the host platform in as much detail as Z , so we use e instead.    !"#$$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghhijklmnopqrrstuvwxyz{|}~                                                                                      ghc-boot-8.11.0.20200524 GHC.Platform GHC.BaseDirGHC.ForeignSrcLangGHC.HandleEncodingGHC.LanguageExtensionsGHC.Platform.HostGHC.SerializedGHC.Settings.UtilsGHC.Settings.PlatformGHC.Unit.Database GHC.VersionGHC.UniqueSubdirbase GHC.ByteOrder LittleEndian BigEndian ByteOrder expandTopDir expandPathVar getBaseDir$fBinaryForeignSrcLangconfigureHandleEncoding$fBinaryExtension BmiVersionBMI1BMI2 SseVersionSSE1SSE2SSE3SSE4SSE42IntegerLibrary IntegerGMP IntegerSimple PlatformMisc!platformMisc_targetPlatformStringplatformMisc_integerLibraryplatformMisc_integerLibraryTypeplatformMisc_ghcWithInterpreter!platformMisc_ghcWithNativeCodeGenplatformMisc_ghcWithSMPplatformMisc_ghcRTSWaysplatformMisc_tablesNextToCodeplatformMisc_libFFIplatformMisc_ghcThreadedplatformMisc_ghcDebuggedplatformMisc_ghcRtsWithLibdwplatformMisc_llvmTarget PPC_64ABIELF_V1ELF_V2ArmABISOFTSOFTFPHARD ArmISAExtVFPv2VFPv3VFPv3D16NEONIWMMX2ArmISAARMv5ARMv6ARMv7OS OSUnknownOSLinuxOSDarwin OSSolaris2 OSMinGW32 OSFreeBSD OSDragonFly OSOpenBSDOSNetBSD OSKFreeBSDOSHaikuOSQNXNTOOSAIXOSHurdArch ArchUnknownArchX86 ArchX86_64ArchPPC ArchPPC_64 ArchS390X ArchSPARC ArchSPARC64ArchARM ArchARM64 ArchAlpha ArchMipseb ArchMipselArchJavaScript ppc_64ABIarmISA armISAExtarmABIPlatformWordSizePW4PW8Platform platformMiniplatformWordSizeplatformByteOrderplatformUnregisterisedplatformHasGnuNonexecStackplatformHasIdentDirective platformHasSubsectionsViaSymbolsplatformIsCrossCompilingplatformLeadingUnderscore PlatformMiniplatformMini_archplatformMini_osplatformWordSizeInBytesplatformWordSizeInBits platformArch platformOSstringEncodeArchisARMstringEncodeOS target32Bit osElfTarget osMachOTargetplatformUsesFrameworksosSubsectionsViaSymbolsplatformMinIntplatformMaxIntplatformMaxWordplatformInIntRangeplatformInWordRange$fReadPlatformWordSize$fShowPlatformWordSize$fEqBmiVersion$fOrdBmiVersion$fEqSseVersion$fOrdSseVersion$fReadIntegerLibrary$fShowIntegerLibrary$fEqIntegerLibrary$fReadPlatform$fShowPlatform $fEqPlatform$fReadPlatformMini$fShowPlatformMini$fEqPlatformMini $fReadArch $fShowArch$fEqArch$fReadPPC_64ABI$fShowPPC_64ABI $fEqPPC_64ABI $fReadArmABI $fShowArmABI $fEqArmABI$fReadArmISAExt$fShowArmISAExt $fEqArmISAExt $fReadArmISA $fShowArmISA $fEqArmISA$fReadOS$fShowOS$fEqOS$fEqPlatformWordSizecHostPlatformArchcHostPlatformOScHostPlatformMini Serialized toSerializedfromSerializedserializeWithDatadeserializeWithData maybeReadmaybeReadFuzzy RawSettingsgetTargetPlatform getSetting0getFilePathSetting0getBooleanSetting0 readSetting0 DbOpenModeDbOpenReadOnlyDbOpenReadWriteDbMode DbReadOnly DbReadWrite PackageDbLock DbInstUnitIdDbUnitIdDbModule DbModuleVardbModuleUnitId dbModuleNamedbModuleVarNameGenericUnitInfounitIdunitInstanceOfunitInstantiations unitPackageIdunitPackageNameunitPackageVersionunitComponentName unitAbiHash unitDependsunitAbiDependsunitImportDirs unitLibrariesunitExtDepLibsSysunitExtDepLibsGhcunitLibraryDirsunitLibraryDynDirsunitExtDepFrameworksunitExtDepFrameworkDirsunitLinkerOptions unitCcOptions unitIncludesunitIncludeDirsunitHaddockInterfacesunitHaddockHTMLsunitExposedModulesunitHiddenModulesunitIsIndefinite unitIsExposed unitIsTrusted DbUnitInfomapGenericUnitInfo lockPackageDbunlockPackageDbisDbOpenReadModereadPackageDbForGhcreadPackageDbForGhcPkgwritePackageDbmkMungePathUrlmungeUnitInfoPaths$fBinaryDbInstUnitId$fBinaryDbModule$fBinaryGenericUnitInfo$fEqDbInstUnitId$fShowDbInstUnitId $fEqDbModule$fShowDbModule$fEqGenericUnitInfo$fShowGenericUnitInfo$fTraversableDbOpenMode$fFoldableDbOpenMode$fFunctorDbOpenModecProjectGitCommitIdcProjectVersioncProjectVersionIntcProjectPatchLevelcProjectPatchLevel1cProjectPatchLevel2 uniqueSubdirghc-boot-th-8.11.0.20200524GHC.ForeignSrcLang.TypeForeignSrcLang RawObjectLangAsm LangObjcxxLangObjcLangCLangCxx hSetTranslitGHC.LanguageExtensions.Type ExtensionStandaloneKindSignaturesCUSKsImportQualifiedPost StarIsTypeQuantifiedConstraintsNumericUnderscoresEmptyDataDerivingMonadFailDesugaring StrictDataTypeApplicationsStaticPointersNamedWildCardsPartialTypeSignaturesPatternSynonyms EmptyCaseOverloadedLabelsDuplicateRecordFieldsHexFloatLiteralsNegativeLiteralsBinaryLiterals MultiWayIf LambdaCaseTraditionalRecordSyntax RelaxedLayoutNondecreasingIndentationDatatypeContexts!AlternativeLayoutRuleTransitionalAlternativeLayoutRuleExplicitForAllPackageImportsExplicitNamespaces TypeOperatorsImpredicativeTypes RankNTypesLiberalTypeSynonyms PatternGuards TupleSectionsPostfixOperators RecursiveDoGeneralizedNewtypeDerivingMonadComprehensionsTransformListCompParallelListCompRoleAnnotationsKindSignaturesEmptyDataDecls MagicHashExistentialQuantification UnicodeSyntaxFunctionalDependenciesNullaryTypeClassesMultiParamTypeClassesConstrainedClassMethodsFlexibleInstancesFlexibleContextsTypeSynonymInstances DerivingViaDerivingStrategies DeriveLiftDeriveAnyClassDefaultSignatures DeriveGenericDeriveFoldableDeriveTraversable DeriveFunctorAutoDeriveTypeableDeriveDataTypeableStandaloneDeriving ApplicativeDo InstanceSigs DataKinds PolyKindsConstraintKindsRebindableSyntaxBlockArgumentsDoAndIfThenElseNPlusKPatterns GADTSyntaxGADTs ViewPatterns RecordPunsRecordWildCardsDisambiguateRecordFields NumDecimalsOverloadedListsOverloadedStrings TypeInTypeTypeFamilyDependencies TypeFamilies BangPatternsUnliftedNewtypes UnboxedSums UnboxedTuplesAllowAmbiguousTypesScopedTypeVariablesImplicitPreludeImplicitParams QuasiQuotesTemplateHaskellQuotesTemplateHaskellArrowsParallelArrays JavaScriptFFIGHCForeignImportPrimCApiFFIInterruptibleFFIUnliftedFFITypesForeignFunctionInterfaceExtendedDefaultRulesRelaxedPolyRecMonoLocalBinds MonoPatBindsMonomorphismRestrictionUndecidableSuperClassesIncoherentInstancesUndecidableInstancesOverlappingInstancesStrictCpp Data.DataData GHC.MaybeMaybelockPackageDbWithdecodeFromFilebinary-0.8.7.0Data.Binary.Get.InternalGet