h&U@,      !"#$%&'()*+  Safe-Inferred(, large-records Optionally  qualified import declaration- large-recordsLike ./, but don't throw away the location information/ large-records)Generic comparison for (parts of) the ASTNOTE: Not all abstract types are given special treatment here; in particular, types only used in type-checked code ignored. To extend/audit this function, grep the ghc source for abstractConstr. Without further extensions, all values of these types are considered equal.NOTE: Although ghc declares the constructor of Bag as abstract as well, we don't actually need a special case here: the constructors will be considered equal, but gfoldl will traverse the elements of the Bag/ nonetheless, which is precisely what we want.0 large-records9Compare two (parts) of a Haskell source tree for equality1The trees are compared for literal equality, but 1s are ignored.2 large-recordsPattern match against the  rupd_flds of  RecordUpd3 large-recordsThe instance for [] is not ideal: we use 4 if the list is emptyFor the use cases in this library, this is acceptable: typically these are lists with elements for the record fields, and having slightly poorer error messages for highly unusual "empty large" records is fine.5 large-recordsOptional package name6 large-recordsOptional package name7 large-recordsOptional package name989:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""################################################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********************************************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------------------------------------------------------------------------------------------------------------------------------................................................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////00000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000004000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999999999999999999999999999999999999999999999999999999956,99999999-9092 Safe-Inferred?@9 large-records8Construct a fresh name for use in term level expressionsNOTES:.These names should be used for module exports.'These names should be used for exactly one binder. The resulting name has the same & as the argument.9999 Safe-Inferred(P>9 large-recordsEquivalent of  9 large-recordsEquivalent of  , for expression vars9 large-recordsEquivalent of  , for type vars9 large-recordsEquivalent of  , for type constructors9 large-records Inverse to 9NOTE: Defined in terms of 9, so discards qualifiers.9 large-records Inverse to 9NOTE: Defined in terms of 9, so discards qualifiers.9 large-records Inverse to 99 large-recordsEquivalent of  9 large-records Inverse to 99 large-recordsEquivalent of  9 large-records Inverse to 99 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsConvenience wrapper around 9 for a single argument9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsBy analogy with 99 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-recordsEquivalent of  9 large-records Inverse to 99 large-recordsEquivalent of  9 large-records Inverse to 99 large-recordsEquivalent of  9 large-recordsEquivalent of  Signature by analogy with  .9 large-recordsBy analogy with 99 large-recordsBy analogy with 99 large-records Function typeTH only provides  .9 large-records Tuple typeTH only provides  . Signature by analogy with 9.9 large-recordsEquivalent of  !9 large-recordsEquivalent of  "9 large-recordsEquivalent of  #9 large-recordsEquivalent of  $9 large-recordsEquivalent of  %9 large-recordsApproximate equivalent of  &!The GHC API has no equivalent of '.9 large-recordsEquivalent of  (9 large-recordsEquivalent of  )NOTE: The GHC AST (but not TH) supports declaring multiple record fields with the same type. We do not support this here (since we follow TH).9 large-records Inverse to 99 large-records!Equivalent of the combination of  * and  +.9 large-recordsEquivalent of  ,9 large-recordsEquivalent of  -9 large-recordsEquivalent of  .,Currently this offers a simplified API only.9 large-recordsEquivalent of  /9 large-records Inverse to 99 large-recordsEquivalent of 01: large-records Inverse of 9: large-recordsEquivalent of  2Unlike in TH, the regular bindings and associated types are separate args.: large-recordsEquivalent of  3: large-recordsApproximate equivalent of  4: large-recordsEquivalent of  5: large-records Inverse to :: large-recordsEquivalent of  6: large-records!Simple binding (without patterns): large-recordsSimple guarded RHS (no guards)9 large-recordsforallC argument: bound type variables large-recordsforallC argument: context large-recordsrecC" argument: record constructor name large-recordsrecC argument: record fields9 large-records Datatype name large-recordsType arguments large-records Constructors large-recordsDeriving clauses: large-recordsContext large-recordsHead large-recordsBindings large-recordsAssociated types: large-records Class context large-records Class name large-recordsType variables large-recordsMethod signatures: large-recordsType family name large-records Equation LHS large-records Equation RHS 99:::::::::::::9999999999999999999999999999999999:99:::7 Safe-Inferred"(QE::::::8 Safe-Inferred"%&S: large-recordsResolve qualified names(We try to import whenever possible from Data.Record.Plugin.Runtime; only when this is really not possible do we import from other modules. We do this to avoid two problems:When we resolve a name, we must specify the module where something is defined, not merely a module that exports= the thing we need; this means that this is quite brittle.When we resolve a name from a different package, users must explicitly define a dependency on that other package.4::::::::::::::::::::::::::::::::::::::::::::::::::::9 Safe-Inferred(16?U large-recordsA type specifying how a record should be treated by large-records.0The default for Haskell code should probably be: *{-# ANN type T largeRecord #-} data T = ..$To see the definitions generated by  large-records: {-# ANN type T largeRecord {debugLargeRecords = True} #-} data T = ..: large-records Extract all  in a module4Additionally returns the location of the ANN pragma. :: Safe-Inferred(Z: large-recordsA representation for deriving clauses.NOTE: We support DeriveAnyClass style derivation, because this does not depend on the internal representation we choose, but only on the default implementation in the class, which typically depends on generics. For example, it makes it possible to define things like data UserT (f :: Type -> Type) = User { userEmail :: Columnar f Text -- .. other fields .. } deriving stock (Show, Eq) deriving anyclass (Beamable)For now we do not7 support newtype deriving or deriving-via, since this does depend on the internal record representation. See discussion at  3https://github.com/well-typed/large-records/pull/42.: large-records$Derived classes that we can support.: large-recordsA representation for records that can be processed by large-records.: large-recordsThe location of the ANN pragma?We use this as the location of the new identifiers we generate.::::::::::::::::::::::::; Safe-Inferred%&v: large-records4Generate all large-records definitions for a record.: large-records4Generate the datatype that will represent the record'Currently this generates something like data T a b = forall f0 f1 f2 f3 f4. ( f0 ~ Word , f1 ~ Bool , f2 ~ Char , f3 ~ a , f4 ~ [b] ) => MkT { tInt :: f0 , tBool :: f1 , tChar :: f2 , tA :: f3 , tListB :: f4 } deriving anyclass C -- where applicable(possibly with strict fields). This representation accomplishes two things: The use of the existentials with type equalities prevents ghc from generating field accessors.It can still be used in the normal way to construct record values and to pattern match on records.-TODO: From ghc 9.2 and up, we should generate newtype T a b = TFromVector {vectorFromT :: SmallArray Any} deriving anyclass C -- where applicable&instead, along with a pattern synonym.: large-records(Generate conversion to and from an arrayGenerates something like vectorFromT :: T a b -> SmallArray Any vectorFromT = \x -> case x of MkT f0 f1 f2 f3 f4 -> smallArrayFromList [ unsafeCoerce f0 , unsafeCoerce f1 , unsafeCoerce f2 , unsafeCoerce f3 , unsafeCoerce f4 ] vectorToT :: SmallArray Any -> T a b vectorToT = \x -> case smallArrayToList x of [f0, f1, f2, f3, f4] -> MkT (unsafeCoerce f0) (unsafeCoerce f1) (unsafeCoerce f2) (unsafeCoerce f3) (unsafeCoerce f4) _ -> error "Pattern match failure in vectorToT: vector with invalid number of elements.";TODO: From ghc 9.2, these could be identity functions. See : for details.: large-records#Generate the indexed field accessorGenerates something like unsafeGetIndexT :: forall x a b. Int -> T a b -> x unsafeGetIndexT = \ n t -> noInlineUnsafeCo (V.unsafeIndex (vectorFromT t) n): large-recordsGenerate index field overwriteGenerates something like unsafeSetIndexT :: forall x a b. Int -> T a b -> x -> T a b unsafeSetIndexT = \n t val -> vectorToT (V.unsafeUpd (vectorFromT t) [(n, noInlineUnsafeCo val)]) NOTE: Like :, this function used to be more complicated, because it would need to take the strictness of the fields into account. If we change our internal representation, we might need to be more careful with that again. See : for further discussion.: large-records Generate HasField instance for single fieldGenerates something like instance x ~ Word => HasField "tInt" (T a b) x where hasField = \t -> (unsafeSetIndexT 0 t, unsafeGetIndexT 0 t): large-records.Generate the class we will use to instantiate  ConstraintsGenerates something like this: class Constraints_T a b (c :: Type -> Constraint) where dictConstraints_T :: Proxy c -> Rep (Dict c) (T a b)NOTE: It is critical that we don't give the class any superclass constraints like class (c Word, c Bool, c Char, c a, c [b]) => Constraints_T a b (c :: Type -> Constraint) because then ghc would use resolve  Constraints_T to that tuple instead, and use lots of "tuple constraint extractor" functions, each of which have the same size as the number of constraints (another example of a case f of { T x1 x2 x3 .. -> xn, function, but now at the dictionary level).: large-recordsSuperclass constraints required by the constraints class instanceGenerates something like $(c Word, c Bool, c Char, c a, c [b])However, we filter out constraints that are type variable free, so if we pass, say, Show for c, then we generate (Show a, Show [b])instead. This avoids ghc complaining about 8Redundant constraints: (Show Word, Show Bool, Show Char): large-records+Generate the dictionary creation function (dict)Generates something like \p -> Rep (V.fromList [ noInlineUnsafeCo (dictFor p (Proxy :: Proxy Word)) , noInlineUnsafeCo (dictFor p (Proxy :: Proxy Bool)) , noInlineUnsafeCo (dictFor p (Proxy :: Proxy Char)) , noInlineUnsafeCo (dictFor p (Proxy :: Proxy a)) , noInlineUnsafeCo (dictFor p (Proxy :: Proxy [b])) ]): large-records9Generate (one and only) instance of the constraints classGenerates something like instance (..) => Constraints_T a b c where dictConstraints_T = ..where the body of dictConstraints_T is generated by :.: large-recordsGenerate metadataGenerates something like \_p -> Metadata { recordName = "T" , recordConstructor = "MkT" , recordSize = 5 , recordFieldMetadata = Rep $ V.fromList [ FieldMetadata (Proxy :: Proxy "tInt")) FieldLazy , FieldMetadata (Proxy :: Proxy "tBool")) FieldLazy , FieldMetadata (Proxy :: Proxy "tChar")) FieldLazy , FieldMetadata (Proxy :: Proxy "tA")) FieldLazy , FieldMetadata (Proxy :: Proxy "tListB")) FieldLazy ] }: large-recordsGenerate definition for from in the : instanceGenerates something like !repFromVectorStrict . vectorFromT: large-recordsGenerate definition for to in the : instance vectorToT . repToVectorNOTE: This function used to be more complicated. When the internal representation of a record is a vector, then we have to be very careful with the strictness of the fields here. However, since we currently use a " normal " record as our internal representation (albeit with strange types), and the fields of that record have their own strictness annotation, we don't have to worry about strictness here.: large-records&Generate an instance of large-records <=.In the sample instance below,  vectorFromT and  vectorToT are generated per-record by  genVectorFrom and  genVectorTo respectively. instance Generic (T ...) where type Constraints (T ...) = Constraints_T ... type MetadataOf (T ...) = '[ '("field1", fieldType1), ... ] from = .. to = .. dict = dictConstraints_T metadata = ..: large-recordsGenerate stock instances: large-recordsFor a record type T and stock-derivable class C , generate instance $(genRequiredConstraints T C) => C T where $(method) = $(generic implementation)+NOTE: All of these instances depend on the >? instance. TODO: For : we currently don't do anything. We could change this so that we generate the @?) instance only when the user asks for a Generics instance?: large-recordsGenerate GHC generics instanceGenerates something like instance GHC.Generic ExampleRecord where type Rep ExampleRecord = ThroughLRGenerics ExampleRecord from = WrapThroughLRGenerics to = unwrapThroughLRGenericsSee ThroughLRGenerics for documentation.: large-recordsThe saturated type of the record (that is, with all type vars applied): large-records-Make name derived from the name of the record: large-records/Generate a Proxy expression for the given type.proxyE [t|ty|] will result in a Proxy :: Proxy ty.: Safe-Inferred0}  large-recordsGet record fieldThis is NOT the standard getField from  GHC.Records&, but is instead defined in terms of GHC.Records.Compat.HasField0. As a consequence we do not currently support OverloadedRecordDot without RebindableSyntax. (For ghc 9.2 and 9.4 RebindableSyntax is required anyway when using OverloadedRecordUpdate7, so this is less of a limitation than it might seem.)Unfortunately, we cannot currently support AB; in the remainder of this comment we explain why. Consider a record such as {-# ANN type Person largeRecord #-} data Person = Person { name :: String }8The internal representation of this record generated by  large-records looks something like this: :data Person = forall a. a ~ String => Person { name :: a }This representation prevents ghc from generating record accessors, whilst at the same time still making it possible to define and pattern match on records in the normal way. Unfortunately, although GHC does not generate a HasField instance for such a record, it also$ prevents us from defining our own:If a field has a higher-rank or existential type, the corresponding HasField constraint will not be solved automatically (as described above), but in the interests of simplicity we do not permit users to define their own instances either. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/hasfield.html#solving-hasfield-constraints%There is a proposal to change this ( 7https://github.com/ghc-proposals/ghc-proposals/pull/515#), but for now we instead rely on :(, for which no such restrictions exist.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<    Safe-Inferred'(< large-recordsRequired extensionThe list is used to represent alternative extensions that could all work (e.g., GADTs and ExistentialQuantification).  C Safe-Inferred   Safe-Inferred%/01S# large-records Record name large-recordsConstructor name !"#$%&'() !"#$%&'() Safe-Inferred2+ large-recordsLimited </ instance that defines just enough to combine  large-records and record-dot-preprocessor * *=DEFDGHDGIDGJDGKDGLDMNDOP9Q9Q9R9STUVWXYZ[\]^_`abcdefghijklmnopqWrstuvwxyuz{|}uz~uuuuuuuuuuuuuuuDDDDDDDDDDDDDDuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u  u u u u  u  u  u  u  u  u  u u u  u  u  u  u u u u u u  u  u  u u u u u u u u u u u u u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u u u u  u  u  u u u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u u u u u u u  u  u  u  u  u  u  u  u  u  u  u u u u u u u u u u u u u  u  u  u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u u u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u  u u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u u u u u u u u u  u  u  u u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u u u u u  u  u  u  u  u  u  u  u  u  u  u u  u u  u u  u u u u u u u u u u u u u  u  u  u  u u u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u u u u u u u u u u u u u u u u u u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u u  u u  u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u u u u u u u u u u u u u u u u u u u  u  u  u  u  u  u  u  u  u  u  u u u u u u  u  u u u u u u u u u u u u u u u  u  u  u  u  u u  u u  u u u u  u u  u  u  u u u u u  u  u  u  u  u  u u u  u  u  u  u  u  u  u  u u u  u  u  u u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u u u u  u  u  u  u  u u u  u  u  u u  u u  u u u u  u  u  u  u  u  u  u  u  u u u u u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u  u u u  u  u  u u u u u  u  u 'u  u  u  u  u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu]uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuu uuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u  u  u  u  u  u  u  u u u u  u u  u  u  u  u u u u !u !u !u !u !u !u !u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!!u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!"u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u!#u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u##u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u#$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$$u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u$%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%%u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u%&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&&u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u&'u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u''u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u'(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u]u)u)u)u)u)u)u)u)u)u)u)uu)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u)u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u))u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)*u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u)+u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u),u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,,u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,-u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u,.u..u..u..u..u..u..u..u..u..u..u..u..u..u..u..u..u..u..u..u..u..u..u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u.u'u'u.u.u.u.u.u'.u'.u'u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'.u'/u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u//u/0u/0u/0u/0u/0u/0u/0u/0u/0u00u00u00u00u00u00u00u00u00u&0u&0u&0u&0u&0u&0u&0u&0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz0uz1uz1uz1uz1u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u11u12u12u12u12u12u12u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u22u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u23u&3u&3u&3u&3u&3u&3u&3u&3u33u33u33u33u33u33u33u33u33u33u34u33u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u34u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u4u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u5u4u5u5u5u5u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u55u56u56u56u56u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u66u67u67u67u67u67u67u67u67u67u67u67u67u67u77u77u77u77u77u77u77u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u/7u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u27u77u77u77u77u07u7u7u7u7u77u77u77u77u77u7u7u7u7u7u7u7u77u77u77u77u77u77u77u77u77u77u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u78u77u78888888888888888889898989898989898989898989898989898989898988899999999999999999999999999999999999999999999999 9(9999 9 9999999999!"#$%&(+99,-./999234596999999999999).99797979797979898989898989898989898989898o8q8m8l8n898`8a8b8c8d8e8f8g8h8i8j8k8p8989898989898989898989898989898989898:8:9::::::::::::::=::::::::::::::::::::::::::::::::::;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:::BD:::::D:D:D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D:::::::::::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D::D:::::::;::;::;::;::;::;::;D;;D;;D;;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D;:D;;D;;D;;D;;D;;D:;D:;D:;D:;D:;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D;;D:;D:;D:;D:;D:;D:;:;;:;;:;;D:;:;;:;;:;;:;;;;;D;;D;;D;;:;;:;;:;;:;;D:;:;;:;;D;;D;;D;;D;;D:;D:;D:;D;;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D:;D;;D;;D;;D;;D;;D;;D;;D;;D;<D;<D;<D;<D;<D<<D<<D<<D<<D;<D;<D;<D;<D<<D:<D:<D:<D:<D:<D:<D;<D;<D;<D;<D;<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<D<<D:<D:<D:<D:<D:<D:<D:<D:<D<<D<<D<<::<::<::<<<(large-records-0.4-CVikyMjZqWgDmknY6tWvw5Data.Record.OverloadingData.Record.PluginData.Record.Plugin.RuntimeData.Record.Plugin.WithRDPData.Record.Internal.GHC.ShimData.Record.Internal.GHC.Fresh-Data.Record.Internal.GHC.TemplateHaskellStyleLanguage.Haskell.TH.SyntaxnameBasemkNameLanguage.Haskell.TH.LibvarEconElitEstringErecConErecUpdEappElistElamEcaseEappsEappTtupEsigEparensTlitTvarTconTlistTarrowTtupleTvarPconPbangPlistPwildPbangTypeBangTypeequalPrecforallCrecCkindedTVsigDvalDdataDLanguage.Haskell.TH derivClaus instanceDclassDtySynEqntypeAnnotationpragAnnD%Data.Record.Internal.Plugin.Exception!Data.Record.Internal.Plugin.Names#Data.Record.Internal.Plugin.Options"Data.Record.Internal.Plugin.Record#Data.Record.Internal.Plugin.CodeGen Data.RecordGenericData.Record.GenericsGenericsGHC GHC.RecordsHasFieldData.Record.Plugin.OptionsbaseGHC.OverloadedLabels fromLabel Control.Arrowarrfirstapp|||loop Data.String fromStringControl.Category>>>LargeRecordOptionsdebugLargeRecords largeRecord ifThenElsegetFieldsetFieldplugin$fOutputableRequiredExtensionThroughLRGenericsDictRepAnyArrayTypeProxy ConstraintproxyanyArrayFromListanyArrayToList anyArrayIndexanyArrayUpdate anyArrayToRepanyArrayFromRepmkDictsmkDict mkStrictField mkLazyField mkMetadatagcomparegeq gshowsPrecnoInlineUnsafeCowrapThroughLRGenericsunwrapThroughLRGenerics$fSemigroupPlugin importDecl hsTyVarLNameghc GHC.Hs.Type hsTyVarName compareHs' compareHsGHC.Types.SrcLocSrcSpansimpleRecordUpdates $fToSrcSpan[]noLoc lookupVarName lookupTcName lookupOccNameGHC.Driver.PluginsPlugintypeCheckResultActiontcPluginspliceRunActionrenamedResultActionpluginRecompileparsedResultActioninterfaceLoadActioninstallCoreToDos holeFitPlugin driverPluginFrontendPluginfrontend Data.VersionVersion versionTags versionBranchGHC.ExtssortWith Data.Data mkNoRepTypeControl.Monad.IO.ClassliftIOControl.Exception.Basetry GHC.Conc.SyncthrowToGHC.Exception.Type toExceptiondisplayException fromExceptionGHC.Listfoldl1'GHC.Stack.Types HasCallStackghc-boot-9.2.4GHC.SerializeddeserializeWithDatafromSerializedserializeWithData toSerialized SerializedGHC.Driver.Main getHscEnv GHC.PluginsthNameToGhcNameTcPluginPluginWithArgspaPlugin paArgumentsPluginRecompileNoForceRecompileForceRecompileMaybeRecompileFrontendPluginAction CorePluginCommandLineOption withPlugins_ withPlugins purePluginpluginspluginRecompile' mapPlugins lpModuleNamekeepRenamedSource impurePlugin flagRecompile defaultPlugindefaultFrontendPluginGHC.Tc.Errors.Hole.FitTypes TypedHoleth_relevant_cts th_implicsth_holeHoleFitPluginR hfPluginStop hfPluginRun hfPluginInitHoleFitCandidate NameHFCand GreHFCandIdHFCandHoleFithfWraphfTypehfRefLvl hfMatcheshfIdhfDochfCand RawHoleFit FitPlugin CandPluginpprHoleFitCandhfIsLclGHC.Core.Opt.MonadTick UnfoldingDoneSimplifierDone RuleFiredPreInlineUnconditionallyPostInlineUnconditionallyLetFloatFromLet KnownBranchFillInCaseDefault EtaReduction EtaExpansion CaseOfCase CaseMerge CaseIdentityCaseElimAltMerge BetaReduction SimplMode sm_uf_optssm_rules sm_pre_inlinesm_phasesm_names sm_logger sm_inline sm_eta_expand sm_dflagssm_cast_swizzle sm_case_case SimplCountFloatOutSwitchesfloatToTopLevelOnlyfloatOutOverSatAppsfloatOutLambdasfloatOutConstantsCoreToDoCoreTidyCorePrep CoreOccurAnalCoreLiberateCaseCoreDoWorkerWrapperCoreDoStaticArgsCoreDoSpecialisingCoreDoSpecConstrCoreDoSimplifyCoreDoRuleCheckCoreDoPrintCoreCoreDoPluginPass CoreDoPasses CoreDoNothingCoreDoFloatOutwardsCoreDoFloatInwards CoreDoExitify CoreDoDemand CoreDoCprCoreDoCallArityCoreDesugarOpt CoreDesugarCoreAddCallerCcsCoreCSECorePluginPassCoreMzeroSimplCountwarnMsg simplCountNrunWhenrunMayberunCoreMputMsgSputMsg pprSimplCountpprPassDetailsplusSimplCountliftIOWithCountisZeroSimplCounthasDetailedCountsgetVisibleOrphanMods getUniqMask getSrcSpanM getRuleBasegetPrintUnqualifiedgetPackageFamInstEnvgetFirstAnnotationsgetAnnotationsfatalErrorMsgS fatalErrorMsg errorMsgSerrorMsg dumpIfSet_dyn doSimplTickdoFreeSimplTickdebugTraceMsgS debugTraceMsg bindsOnlyPass addSimplCountGHC.Driver.EnvrunInteractiveHscrunHscprepareAnnotationsmkInteractiveHscEnv mainModIs lookupTypelookupIfaceByModule hsc_units hsc_home_unithscEPShptSomeThingsBelowUshptRules hptInstanceshptCompleteSigshptAnns hptAllThingsGHC.Driver.Env.TypesHscEnv hsc_unit_env hsc_unit_dbshsc_type_env_var hsc_tmpfs hsc_targetshsc_static_plugins hsc_plugins hsc_mod_graph hsc_logger hsc_interp hsc_hooks hsc_dflagshsc_NChsc_IChsc_HPThsc_FChsc_EPSHscGHC.Types.Meta MetaResult MetaRequestMetaTMetaPMetaEMetaAWMetaDMetaHook metaRequestT metaRequestP metaRequestE metaRequestD metaRequestAWGHC.Unit.Module.ModGutsModGutsmg_warns mg_used_th mg_usages mg_trust_pkgmg_tcsmg_safe_haskellmg_rules mg_rdr_env mg_patsyns mg_module mg_modBreaksmg_locmg_insts mg_inst_env mg_hsc_src mg_hpc_infomg_foreign_files mg_foreign mg_fix_env mg_fam_instsmg_fam_inst_env mg_exports mg_doc_hdrmg_deps mg_decl_docsmg_complete_matchesmg_binds mg_arg_docsmg_annsCgGuts cg_tyconscg_spt_entries cg_module cg_modBreaks cg_hpc_infocg_foreign_files cg_foreign cg_dep_pkgscg_bindsGHC.Unit.Module.ModIfaceWhetherHasOrphansWhetherHasFamInstPartialModIface ModIface_mi_warns mi_used_th mi_usages mi_trust_pkgmi_trust mi_sig_ofmi_rules mi_modulemi_insts mi_hsc_srcmi_hpc mi_globals mi_fixities mi_final_exts mi_fam_insts mi_ext_fields mi_exports mi_doc_hdrmi_depsmi_decls mi_decl_docsmi_complete_matches mi_arg_docsModIfacemi_annsModIfaceBackend mi_warn_fnmi_plugin_hashmi_orphan_hash mi_orphan mi_opt_hash mi_mod_hash mi_iface_hash mi_hpc_hash mi_hash_fn mi_flag_hash mi_fix_fn mi_finsts mi_exp_hash IfaceExport IfaceDeclExtsIfaceBackendExtsrenameFreeHolesmkIfaceHashCachemi_semantic_module mi_free_holesmi_fixmi_bootemptyPartialModIfaceemptyIfaceHashCacheemptyFullModIfaceGHC.Unit.Module.ModSummary ModSummaryms_textual_imps ms_srcimps ms_parsed_mod ms_obj_datems_mod ms_location ms_iface_date ms_hspp_opts ms_hspp_file ms_hspp_buf ms_hsc_src ms_hs_date ms_hie_dateExtendedModSummary emsModSummaryemsInstantiatedUnits ms_mod_namems_installed_modms_impsms_home_srcimps ms_home_impsms_home_allimps msObjFilePath msHsFilePath msHiFilePathmsDynObjFilePath isBootSummary findTargetextendModSummaryNoDepsGHC.HsHsParsedModule hpm_src_files hpm_module hsmodName hsmodLayout hsmodImportshsmodHaddockModHeader hsmodExportshsmodDeprecMessage hsmodDeclsHsModulehsmodAnn AnnsModuleam_mainam_declsGHC.Core.Rules unionRuleBase rulesOfBindsruleCheckProgram roughTopNamespprRulesForUser pprRuleBase mkRuleBasemkRule lookupRule initRuleOptsgetRulesextendRuleInfoextendRuleBaseList emptyRuleBase addRuleInfoaddIdSpecialisations GHC.Core.Make FloatBind FloatCaseFloatLet wrapFloats wrapFloatunitExpr tYPE_ERROR_ID sortQuantVarsrUNTIME_ERROR_IDrEC_SEL_ERROR_IDrEC_CON_ERROR_ID pAT_ERROR_IDnO_METHOD_BINDING_ERROR_IDnON_EXHAUSTIVE_GUARDS_ERROR_ID mkWordExprmkWildValBindermkWildEvBinder mkWildCasemkUncheckedIntExprmkTupleSelector1mkTupleSelector mkTupleCasemkStringExprFSWithmkStringExprFS mkStringExprmkSmallTupleSelectormkSmallTupleCasemkRuntimeErrorApp mkNothingExprmkNonEmptyListExpr mkNilExpr mkNaturalExpr mkListExpr mkJustExpr mkIntegerExpr mkIntExprInt mkIntExprmkImpossibleExpr mkIfThenElse mkFoldrExpr mkFloatExpr mkDoubleExprmkCoreVarTupTy mkCoreUbxTup mkCoreUbxSummkCoreTupBoxity mkCoreTup mkCoreLets mkCoreLet mkCoreLams mkCoreConApps mkCoreApps mkCoreApp mkConsExpr mkCharExpr mkBuildExprmkBigCoreVarTupTymkBigCoreVarTup1mkBigCoreVarTupmkBigCoreTupTy mkBigCoreTupmkAbsentErrorApp floatBindingserrorIdscastBottomExpraBSENT_SUM_FIELD_ERROR_IDaBSENT_ERROR_ID GHC.Hs.Utils CollectPass collectXXPat CollectFlagCollNoDictBindersCollWithDictBinders unitRecStmtTc unguardedRHSunguardedGRHSsspanHsLocaLBindsnl_HsVar nlWildPatName nlWildPat nlWildConPatnlVarPat nlTuplePatnlParPatnlNullaryConPatnlLitPatnlList nlInfixConPat nlHsVarAppsnlHsVar nlHsTyVar nlHsTyConApp nlHsTyApps nlHsTyAppnlHsSyntaxApps nlHsParTynlHsPar nlHsOpAppnlHsLitnlHsLam nlHsIntLitnlHsIf nlHsFunTynlHsDo nlHsDataConnlHsCasenlHsApps nlHsAppTy nlHsAppKindTynlHsAppnlConVarPatName nlConVarPat nlConPatNamenlConPat mkVarBindmkUntypedSplice mkTypedSplicemkTransformStmtmkTransformByStmt mkTopFunBind mkTcBindStmt mkSimpleMatchmkSimpleGeneratedFunBind mkRnBindStmt mkRecStmt mkPsBindStmtmkPrefixFunRhs mkPatSynBindmkParPat mkNPlusKPatmkNPat mkMatchGroupmkMatch mkLocatedList mkLetStmt mkLastStmt mkLHsWrapCo mkLHsWrap mkLHsVarTuplemkLHsTupleExprmkLHsPar mkLHsCmdWrap mkHsWrapPatCo mkHsWrapPat mkHsWrapCoR mkHsWrapComkHsWrap mkHsVarBindmkHsStringPrimLit mkHsString mkHsSigEnvmkHsQuasiQuotemkHsPar mkHsOpAppmkHsLamsmkHsLam mkHsIsString mkHsIntegralmkHsIfmkHsFractional mkHsDoAnnsmkHsDo mkHsDictLet mkHsCompAnnsmkHsComp mkHsCmdWrap mkHsCmdIfmkHsCharPrimLit mkHsCaseAlt mkHsAppsWithmkHsApps mkHsAppWith mkHsAppTypes mkHsAppTypemkHsAppmkGroupUsingStmtmkGroupByUsingStmt mkClassOpSigs mkChunkified mkBodyStmtmkBigLHsVarTupmkBigLHsVarPatTup mkBigLHsTupmkBigLHsPatTup missingTupArglStmtsImplicits lPatImplicitsisUnliftedHsBindisInfixFunBindisBangedHsBindhsValBindsImplicitshsTypeToHsSigWcTypehsTypeToHsSigTypehsTyClForeignBindershsPatSynSelectorshsLTyClDeclBindershsGroupBindershsForeignDeclsBindershsDataFamInstBindersgetPatSynBindsemptyTransStmtemptyRecStmtNameemptyRecStmtId emptyRecStmtcollectStmtsBinderscollectStmtBinderscollectPatsBinderscollectPatBinderscollectMethodBinderscollectLocalBinderscollectLStmtsBinderscollectLStmtBinderscollectHsValBinderscollectHsIdBinderscollectHsBindsBinderscollectHsBindListBinderscollectHsBindBinderschunkify GHC.Hs.Expr XXExprGhcTc ExpansionExprWrapExpr XBindStmtTc xbstc_failOpxbstc_boundResultTypexbstc_boundResultMult xbstc_bindOp XBindStmtRn xbsrn_failOp xbsrn_bindOp SyntaxExprTc syn_res_wrapsyn_expr syn_arg_wrapsNoSyntaxExprTc SyntaxExprRnNoSyntaxExprRn SyntaxExprGhc RecordUpdTc rupd_wrap rupd_out_tys rupd_in_tys rupd_cons RecStmtTc recS_ret_ty recS_rec_retsrecS_later_rets recS_bind_ty PostTcTable PostTcExprPendingTcSplicePendingRnSpliceHsWrap HsSplicedT HsExpansion HsExpandedGrhsAnnga_vbarga_sepEpAnnUnboundVar hsUnboundHolehsUnboundBackquotes EpAnnHsCasehsCaseAnnsRest hsCaseAnnOf hsCaseAnnCase DelayedSpliceCmdTopTcAnnsLetalLetalInAnnsIf aiThenSemiaiThenaiIf aiElseSemiaiElse AnnProjectionapOpenapClose AnnFieldLabelafDotAnnExplicitSumaesOpenaesClose aesBarsBefore aesBarsAfter tupArgPresent thTyBrackets thBracketsstripParensLHsExprstripParensHsExprppr_splice_decl ppr_splice ppr_quasippr_module_name_prefix ppr_lexprppr_lcmdppr_infix_exprppr_expr ppr_do_stmtsppr_cmdppr_appspprTransformStmt pprTransStmt pprStmtInCtxtpprStmtpprQualspprPendingSplicepprParendLExpr pprParendExpr pprMatchespprMatchInCtxtpprMatchpprLCmd pprHsBracketpprGRHSspprGRHSpprDopprDebugParendExprpprComp pprCmdArgpprCmdpprBypprBinds pprBindStmtpprArgpp_rhs pp_dotdotparenthesizeHsExpr noSyntaxExprnoExpr mkSyntaxExprmkRnSyntaxExprmatchGroupAritymatchContextErrStringmatchArrowContextErrStringisSingletonMatchGroup isQuietHsExpr isQuietHsCmdisEmptyMatchGroupisAtomicHsExpr hsLMatchPatshsExprNeedsParens GHC.Hs.DeclsXViaStrategyPs HsRuleAnn ra_tyanns ra_tmannsra_resttyFamInstDeclNametyFamInstDeclLName tyClDeclLNametcdNamestandaloneKindSigNameroleAnnotDeclNameresultVariableNamepprTyFamInstDeclpprTyClDeclFlavourpprHsFamInstLHSpprDataFamInstFlavourpartitionBindsAndSigsmapDerivStrategyinstDeclDataFamInstshsGroupTopLevelFixitySigs hsDeclHasCuskhsConDeclThetagetRecConArgs_maybe getConNamesfoldDerivStrategyflattenRuleDeclsfamilyDeclNamefamilyDeclLNamefamResultKindSignature emptyRnGroup emptyRdrGroup appendGroups GHC.Hs.Pat ListPatTc EpAnnSumPatsumPatVbarsBeforesumPatVbarsAfter sumPatParensConPatTccpt_wrapcpt_tvs cpt_dicts cpt_binds cpt_arg_tysCoPat co_pat_ty co_pat_inner co_cpt_wrap pprParendLPat pprConArgspatNeedsParensparenthesizePatmkPrefixConPatmkNilPat mkCharLitPatlooksLazyPatBind isSimplePatisIrrefutableHsPat isBangedLPathsRecUpdFieldRdrhsRecUpdFieldOcchsRecUpdFieldId hsRecFieldIdcollectEvVarsPatscollectEvVarsPat GHC.Hs.Binds NHsValBindsLR NValBindsAnnSigasRestasDcolonpragSrcBrackets pragBracketsppr_sig ppr_monobind pprVarSigpprTickspprTcSpecPragspprSpec pprMinimalSigpprLHsBindsForUser pprLHsBinds pprDeclListplusHsValBindsisEmptyValBindsisEmptyLHsBindsisEmptyIPBindsTcisEmptyIPBindsPReqEmptyLocalBindsemptyValBindsOutemptyValBindsInemptyLocalBinds emptyLHsBindsOutputableBndrFlag EpAnnForallTyunambiguousFieldOccsplitLHsSigmaTyInvissplitLHsQualTysplitLHsPatSynTysplitLHsInstDeclTysplitLHsGadtTysplitLHsForAllTyInvis_KPsplitLHsForAllTyInvissplitHsFunTypesetHsTyVarBndrFlagselectorAmbiguousFieldOccrdrNameAmbiguousFieldOcc pprLHsContext pprHsTypepprHsOuterSigTyVarBndrspprHsOuterFamEqnTyVarBndrs pprHsForAllpprConDeclFieldspprAnonWildCardparenthesizeHsTypeparenthesizeHsContextmkHsWildCardBndrsmkHsQTvsmkHsPatSigTypemkHsOuterImplicitmkHsOuterExplicitmkHsOpTymkHsImplicitSigTypemkHsForAllVisTelemkHsForAllInvisTelemkHsExplicitSigType mkHsAppTys mkHsAppTy mkHsAppKindTy mkFieldOccmkEmptyWildCardBndrsmkAnonWildCardTymkAmbiguousFieldOcclhsTypeArgSrcSpanisUnrestricted ignoreParens hsWcScopedTvshsTypeNeedsParenshsTyVarBndrFlag hsTyKindSighsTyGetAppHead_maybehsTvbAllKinded hsSigWcType hsScopedTvshsOuterTyVarNameshsOuterExplicitBndrs hsLTyVarNames hsLTyVarNamehsLTyVarLocNameshsLTyVarLocNamehsExplicitLTyVarNameshsAllLTyVarNamesgetLHsInstDeclHeadgetLHsInstDeclClass_maybe getBangTypegetBangStrictnessfromMaybeContext emptyLHsQTvs dropWildCards arrowToHsTypeambiguousFieldOcc GHC.Hs.Lit OverLitTcol_type ol_rebindable pp_st_suffix pmPprHsLit overLitType convertLit pprSpliceDecl pprSplice pprPatBindpprLExpr pprFunBindpprExprLanguage.Haskell.Syntax.ExprUntypedSpliceFlavourUntypedTypeSpliceUntypedPatSpliceUntypedDeclSpliceUntypedExpSplice TransForm GroupFormThenFormThModFinalizersStmtLR trS_using trS_stmtstrS_rettrS_formtrS_fmaptrS_exttrS_by trS_bndrstrS_bind recS_stmts recS_ret_fn recS_rec_ids recS_mfix_fnrecS_later_idsrecS_ext recS_bind_fnXStmtLR TransStmtRecStmtParStmtLetStmtLastStmtBodyStmtApplicativeStmtBindStmtStmtSplicePointNameSpliceDecoration BareSplice DollarSplice RecUpdProjRecProjPendingTcSplice'PendingRnSplice' ParStmtBlock XParStmtBlock MatchGroupTc mg_res_ty mg_arg_tysMatchm_patsm_grhssm_extm_ctxtXMatchLStmtLRLStmtLMatch LHsTupArg LHsRecUpdProj LHsRecProj LHsCmdTopLHsCmdLGRHSHsTupArgXTupArgMissingPresent HsStmtContext TransStmtCtxtPatGuard ParStmtCtxt MonadCompMDoExprListComp GhciStmtCtxt ArrowExprDoExprHsSplicedThing HsSplicedTy HsSplicedExpr HsSplicedPat HsRecordBindsHsPragE HsPragSCCXHsPragEHsMatchContext mc_strictnessmc_fun mc_fixity ThPatSplice ThPatQuoteStmtCtxtRecUpd PatBindRhs PatBindGuards LambdaExprIfAltFunRhsCaseAltPatSynArrowMatchCtxt HsFieldLabelhflLabelhflExt XHsFieldLabelHsDoRnHsCmdTopXCmdTopHsCmdXCmdHsCmdParHsCmdLet HsCmdLamCaseHsCmdLamHsCmdIfHsCmdDo HsCmdCase HsCmdArrFormHsCmdApp HsCmdArrApp HsBracketRn HsBracketVarBrTypBrTExpBrPatBrExpBrDecBrLXBracketDecBrGHsArrowMatchContextProcExpr ArrowCaseAlt KappaExpr HsArrAppTypeHsFirstOrderAppHsHigherOrderApp GuardStmt GuardLStmtGhciStmt GhciLStmtGRHSXGRHSFieldLabelStrings FailOperatorExprStmt ExprLStmtCmdSyntaxTableCmdStmtCmdLStmt ArithSeqInfoFromTo FromThenToFromFromThenApplicativeArgStmCtxPassApplicativeArgxarg_app_arg_onexarg_app_arg_many stmt_context is_body_stmt final_expr bv_patternarg_expr app_stmtsapp_arg_patternXApplicativeArgApplicativeArgManyApplicativeArgOnequalifiedDoModuleName_maybeprependQualifiedpprStmtContextpprMatchContextNounpprMatchContextpprFieldLabelStringspprExternalSrcLocpprArrowMatchContextNounpprAStmtContextmatchSeparator isTypedSpliceisTypedBracket isPatSynCtxtisMonadStmtContextisMonadCompContext isInfixMatchisComprehensionContextLanguage.Haskell.Syntax.Decls WarnDecls wd_warningswd_srcwd_extWarnings XWarnDeclsWarnDeclWarning XWarnDecl TyFamInstEqn TyFamInstDecltfid_xtntfid_eqnXTyFamInstDeclTyFamDefltDecl TyClGroup group_tyclds group_roles group_kisigs group_instds group_ext XTyClGroupTyClDecl tcdTyVarstcdSigstcdSExttcdRhstcdMethstcdLName tcdFixitytcdFamtcdFExttcdFDstcdDocs tcdDataDefntcdDExttcdCtxttcdCExttcdATs tcdATDefs XTyClDeclSynDeclFamDecl ClassDeclDataDeclStandaloneKindSigXStandaloneKindSig SpliceDecl XSpliceDecl RuleDeclsrds_src rds_rulesrds_extHsRules XRuleDeclsRuleDeclrd_tyvsrd_tmvsrd_rhsrd_namerd_lhsrd_extrd_actHsRule XRuleDeclRuleBndr XRuleBndr RuleBndrSig RoleAnnotDeclXRoleAnnotDecl NewOrDataDataTypeNewType LWarnDecls LWarnDecl LTyFamInstEqnLTyFamInstDeclLTyFamDefltDecl LTyClDeclLStandaloneKindSig LSpliceDecl LRuleDecls LRuleDecl LRuleBndrLRoleAnnotDecl LInstDeclLInjectivityAnn LHsFunDepLHsDerivingClauseLHsDecl LForeignDeclLFamilyResultSig LFamilyDeclLDocDeclLDerivStrategy LDerivDeclLDerivClauseTys LDefaultDeclLDataFamInstDeclLConDecl LClsInstDeclLAnnDeclInstDecl tfid_insttfid_ext dfid_instdfid_extcid_inst cid_d_ext XInstDecl TyFamInstDClsInstD DataFamInstDInjectivityAnnXInjectivityAnnHsTyPatsHsRuleRnHsGroup hs_warndshs_valds hs_tyclds hs_splcds hs_ruledshs_fordshs_fixdshs_exths_docs hs_derivdshs_defdshs_anndsXHsGroupHsDerivingClausederiv_clause_tysderiv_clause_strategyderiv_clause_extXHsDerivingClause HsDerivingHsDeclXHsDeclWarningDValDTyClDSpliceDSigDRuleD RoleAnnotDKindSigDInstDForDDocDDerivDAnnDDefD HsDataDefn dd_kindSigdd_ext dd_derivsdd_ctxtdd_consdd_cTypedd_ND XHsDataDefnHsConDeclH98DetailsHsConDeclGADTDetails PrefixConGADT RecConGADTFunDepXFunDep ForeignImportCImport ForeignExportCExport ForeignDecl fd_sig_tyfd_namefd_i_extfd_fifd_fefd_e_ext XForeignDeclFamilyResultSigXFamilyResultSigTyVarSigKindSigNoSig FamilyInfoOpenTypeFamilyClosedTypeFamily DataFamily FamilyDeclfdTyVars fdTopLevel fdResultSigfdLNamefdInjectivityAnnfdInfofdFixityfdExt XFamilyDeclFamEqn feqn_tyconfeqn_rhs feqn_pats feqn_fixityfeqn_ext feqn_bndrsXFamEqnDocDeclDocGroupDocCommentPrevDocCommentNamedDocCommentNext DerivStrategy ViaStrategy StockStrategyAnyclassStrategyNewtypeStrategy DerivDecl deriv_typederiv_strategyderiv_overlap_mode deriv_ext XDerivDeclDerivClauseTysXDerivClauseTysDctMulti DctSingle DefaultDecl XDefaultDeclDataFamInstDecldfid_eqn DataDeclRntcdFVs tcdDataCuskConDecl con_res_ty con_namescon_name con_mb_cxt con_g_ext con_g_args con_forallcon_ext con_ex_tvscon_doc con_bndrscon_argsXConDecl ConDeclGADT ConDeclH98 ClsInstDeclcid_tyfam_instscid_sigs cid_poly_tycid_overlap_modecid_extcid_datafam_insts cid_binds XClsInstDecl CImportSpecCWrapperCLabel CFunction AnnProvenanceValueAnnProvenanceModuleAnnProvenanceTypeAnnProvenanceAnnDecl HsAnnotationXAnnDecltyClGroupTyClDeclstyClGroupRoleDeclstyClGroupKindSigstyClGroupInstDeclstyClDeclTyVarspprFullRuleName pprFlavournewOrDataToFlavourisTypeFamilyDecl isSynDeclisOpenTypeFamilyInfo isFamilyDeclisDataFamilyDecl isDataDeclisClosedTypeFamilyInfo isClassDeclhsGroupInstDecls docDeclDocderivStrategyNamecountTyClDeclscollectRuleBndrSigTysannProvenanceName_maybeLanguage.Haskell.Syntax.Binds TcSpecPragsIsDefaultMethod SpecPrags TcSpecPragSpecPragSigXSigTypeSigSpecSig SpecInstSig SCCFunSig PatSynSig MinimalSig InlineSigIdSigFixSig ClassOpSigCompleteMatchSigRecordPatSynFieldrecordPatSynPatVarrecordPatSynField PatSynBindpsb_idpsb_extpsb_dirpsb_defpsb_args XPatSynBindPSB LTcSpecPragLSigLIPBindLHsLocalBindsLR LHsLocalBinds LHsBindsLRLHsBinds LHsBindLRLHsBind LFixitySigIPBindXIPBind HsValBindsLRValBinds XValBindsLR HsValBinds HsPatSynDirUnidirectionalExplicitBidirectionalImplicitBidirectionalHsPatSynDetailsHsLocalBindsLRXHsLocalBindsLR HsIPBindsEmptyLocalBinds HsLocalBinds XHsIPBindsIPBindsHsBindLRvar_rhsvar_idvar_ext pat_tickspat_rhspat_lhspat_extfun_tick fun_matchesfun_idfun_extabs_tvsabs_sigabs_ext abs_exports abs_ev_vars abs_ev_binds abs_binds XHsBindsLRVarBindPatBindAbsBindsFunBindHsBind FixitySig XFixitySigABExportabe_wrap abe_pragsabe_polyabe_monoabe_extABE XABExport noSpecPrags isTypeLSig isSpecLSigisSpecInstLSig isSCCFunSig isPragLSig isMinimalLSig isInlineLSig isFixityLSigisDefaultMethodisCompleteMatchSighsSigDoc hasSpecPragspprLPatLanguage.Haskell.Syntax.PatLHsRecUpdField LHsRecField' LHsRecField HsRecUpdField HsRecFieldsrec_flds rec_dotdot HsRecField'hsRecPun hsRecFieldLbl hsRecFieldArg HsRecField hsRecFieldAnnHsConPatDetailsConLikePhsRecFieldsArgs hsRecFields hsRecFieldSel hsConPatArgsLanguage.Haskell.Syntax.Type LHsWcType LHsTypeArgLHsType LHsSigWcType LHsSigType LHsQTyVarshsq_ext hsq_explicitHsQTvs XLHsQTyVarsLHsKind LHsContext LFieldOcc LConDeclField LBangTypeHsWildCardBndrshswc_ext hswc_bodyHsWCXHsWildCardBndrsHsType hst_xqual hst_xforallhst_telehst_ctxthst_bodyXHsType HsWildCardTyHsTyVar HsTupleTyHsSumTyHsStarTy HsSpliceTyHsRecTyHsQualTyHsParTyHsOpTyHsListTy HsKindSig HsIParamTyHsFunTy HsForAllTyHsExplicitTupleTyHsExplicitListTyHsDocTyHsBangTyHsAppTyHsTyLit HsAppKindTy XTyVarBndr KindedTyVar UserTyVarHsStrTyHsCharTyHsNumTy HsTupleSortHsBoxedOrConstraintTupleHsUnboxedTuple HsSigTypesig_extsig_body sig_bndrsHsSig XHsSigTypeHsScaled HsPatSigTypehsps_ext hsps_bodyHsPS XHsPatSigTypeHsPSRn hsps_nwcs hsps_imp_tvsHsOuterTyVarBndrs hso_ximplicit hso_xexplicit hso_bndrsXHsOuterTyVarBndrsHsOuterExplicitHsOuterImplicitHsOuterSigTyVarBndrsHsOuterFamEqnTyVarBndrsHsKindHsIPNameHsForAllTelescopehsf_xvis hsf_xinvis hsf_vis_bndrshsf_invis_bndrsXHsForAllTelescope HsForAllInvis HsForAllVisHsCoreTy HsContext HsConDetailsRecConInfixCon PrefixConHsArrowHsUnrestrictedArrowHsExplicitMult HsLinearArrowHsArgHsValArgHsArgPar HsTypeArgFieldOccrdrNameFieldOcc extFieldOcc XFieldOcc ConDeclField cd_fld_type cd_fld_names cd_fld_ext cd_fld_doc XConDeclFieldAmbiguousFieldOccXAmbiguousFieldOcc Ambiguous UnambiguousnumVisibleArgs noTypeArgsmapHsOuterImplicitisHsKindedTyVarhsUnrestricted hsScaledThing hsQTvExplicit hsPatSigTypehsMulthsLinear hsIPNameFSPat pat_con_extpat_conpat_argsXPatWildPatViewPatVarPatTuplePatSumPat SplicePatSigPatParPat NPlusKPatNPatLitPatListPatLazyPatConPatAsPatBangPatLPatLanguage.Haskell.Syntax.Lit OverLitVal HsIsString HsFractional HsIntegral HsOverLit ol_witnessol_valol_extXOverLitOverLitHsLitXLit HsWordPrim HsWord64Prim HsStringPrimHsStringHsRat HsInteger HsIntPrim HsInt64PrimHsInt HsFloatPrim HsDoublePrimHsChar HsCharPrimnegateOverLitValhsOverLitNeedsParenshsLitNeedsParens GHC.Hs.ImpExp LImportDeclLIEWrappedNameLIEImportDeclQualifiedStyle QualifiedPre NotQualified QualifiedPost ImportDeclideclSourceSrc ideclSource ideclSafeideclQualified ideclPkgQual ideclName ideclImplicit ideclHidingideclExtideclAs XImportDecl IEWrappedNameIETypeIEName IEPattern IEWildcard NoIEWildcardIEXIEIEVar IEThingWith IEThingAll IEThingAbsIEModuleContentsIEGroupIEDoc IEDocNamedEpAnnImportDeclimportDeclAnnSafeimportDeclAnnQualifiedimportDeclAnnPragmaimportDeclAnnPackageimportDeclAnnImportimportDeclAnnAssimpleImportDeclreplaceWrappedNamereplaceLWrappedName pprImpExplieWrappedNameisImportDeclQualifiedimportDeclQualifiedStyle ieWrappedNameieWrappedLNameieNamesieNameieLWrappedNameGHC.Hs.ExtensionPass TypecheckedParsedRenamedOutputableBndrId NoGhcTcPass IsSrcSpanAnnIsPassghcPassIdGhcPGhcTcGhcRnGhcPsGhcPasspprIfTcpprIfRnpprIfPsGHC.Core.SubstSubst IdSubstEnv zapSubstEnvsubstUnfoldingSCsubstUnfoldingsubstTy substTickishsubstRulesForImportedIds substRuleInfo substRecBndrs substInScope substIdType substIdOcc substIdInfo substExprSC substExpr substDVarSetsubstCo substBndrs substBndr substBindSC substBind setInScopemkSubst mkOpenSubst mkEmptySubstlookupTCvSubst lookupIdSubst isInScope isEmptySubst getTCvSubstextendTvSubstList extendTvSubstextendSubstWithVarextendSubstList extendSubstextendInScopeListextendInScopeIds extendInScopeextendIdSubstList extendIdSubst emptySubstdelBndrsdelBndr deShadowBindscloneRecIdBndrs cloneIdBndrs cloneIdBndr cloneBndrs cloneBndrGHC.Core.Utils CheapAppFun zapLamBndrs tryEtaReduce trimConArgs tickHNFArgsstripTicksTopTstripTicksTopE stripTicksTop stripTicksT stripTicksE scaleAltsByrefineDefaultAltneedsCaseBindingmkTicks mkTickNoHNFmkTickmkSingleAltCasemkPiMCo mkLamTypes mkLamType mkDefaultCase mkCastMComkCast mkAltExpr mergeAltsisUnsafeEqualityProof isJoinBind isExprLevPolyisExpandableApp isEmptyTy isDefaultAlt isCheapAppgetIdFromTrivialExpr_maybegetIdFromTrivialExpr findDefaultfindAlt filterAltsexprTypeexprOkForSpeculationexprOkForSideEffectsexprIsWorkFree exprIsTrivialexprIsTopLevelBindableexprIsTickedString_maybeexprIsTickedString exprIsHNFexprIsExpandable exprIsDupable exprIsDeadEnd exprIsConLike exprIsCheapX exprIsCheapeqExprdumpIdInfoOfProgramdiffExpr diffBindsdataConRepInstPatdataConRepFSInstPat coreAltsType coreAltTypecombineIdenticalAltscollectMakeStaticArgs cheapEqExpr' cheapEqExpr bindNonRecapplyTypeToArgsaltsAreExhaustive addDefaultGHC.Tc.Types.Evidence HsWrapperWpHole GHC.Core.FVsFVAnnCoreExprWithFVs'CoreExprWithFVsCoreBindWithFVsCoreAltWithFVsvarTypeTyCoVarsvarTypeTyCoFVsstableUnfoldingVarsrulesRhsFreeIdsrulesFreeVarsDSet rulesFreeVarsruleRhsFreeVarsruleLhsFreeIdsListruleLhsFreeIds ruleFreeVarsorphNamesOfTypesorphNamesOfTypeorphNamesOfFamInstorphNamesOfCoCon orphNamesOfCoorphNamesOfAxiom mkRuleInfoidUnfoldingVars idRuleVars idFreeVarsidFVs freeVarsOfAnn freeVarsOf freeVarsBindfreeVarsexprsSomeFreeVarsListexprsSomeFreeVarsexprsOrphNamesexprsFreeVarsList exprsFreeVarsexprsFreeIdsListexprsFreeIdsDSet exprsFreeIdsexpr_fvsexprSomeFreeVarsListexprSomeFreeVarsexprFreeVarsListexprFreeVarsDSet exprFreeVarsexprFreeIdsListexprFreeIdsDSet exprFreeIds dIdFreeVarsbndrRuleAndUnfoldingVarsDSetbndrRuleAndUnfoldingIds bindFreeVarsGHC.Builtin.Types wordTyConName wordTyConwordTy wordDataCon word8TyConword8Ty word8DataCon wiredInTyConsunrestrictedFunTyConNameunliftedTypeKindTyConNameunliftedRepTyConNameunliftedDataConTyCon unitTyConKey unitTyCon unitDataConId unitDataConunboxedUnitTyCon unboxedUnitTyunboxedUnitDataConunboxedSumKindtypeToTypeKindtypeSymbolKindContupleDataConNametrue_RDR trueDataConId trueDataConsumRepDataConTyConstringTyCon_RDRstringTy soloTyConpromotedTrueDataConpromotedNothingDataConpromotedNilDataConpromotedLTDataConpromotedJustDataConpromotedGTDataConpromotedFalseDataConpromotedEQDataConpromotedConsDataCon pairTyCon orderingTyConordLTDataConId ordLTDataConordGTDataConId ordGTDataConordEQDataConId ordEQDataCononeDataConName oneDataConnothingDataConNamenothingDataConnonEmptyTyConName nonEmptyTyConnonEmptyDataConNamenonEmptyDataConnilDataConName nilDataConnaturalTyConName naturalTyConnaturalNSDataConNamenaturalNSDataConnaturalNBDataConNamenaturalNBDataConmultiplicityTyConNamemkWiredInTyConNamemkWiredInIdName mkTupleTy1 mkTupleTy mkTupleStrmkSumTymkPromotedPairTymkPromotedMaybeTy mkMaybeTymkListTymaybeTyConName maybeTyConmanyDataConName manyDataConmakeRecoveryTyCon listTyCon_RDR listTyConNameliftedTypeKindTyConNameliftedRepTyConNamejustDataConName justDataConisPromotedPairTypeisPromotedMaybeTyisCTupleTyConNameisBuiltInOcc_maybeintegerTyConName integerTyConintegerISDataConNameintegerISDataConintegerIPDataConNameintegerIPDataConintegerINDataConNameintegerINDataCon intTyCon_RDR intTyConNameintTyConintTyintDataCon_RDR intDataCon heqTyConName heqDataConheqClassfloatTyConName floatTyConfloatTy floatDataCon filterCTuple false_RDRfalseDataConId falseDataCon eqTyCon_RDR eqTyConNameeqTyCon eqDataConeqClassdoubleTyConName doubleTyCondoubleTy doubleDataConconstraintKindTyConNameconstraintKindTyConconsDataCon_RDRconsDataConName consDataConcoercibleTyConNamecoercibleDataConcoercibleClass charTyCon_RDR charTyConName charTyCon charDataConcTupleTyConNamescTupleTyConNameArity_maybe cTupleTyCon cTupleSelIdcTupleDataConNamesboxingDataCon_maybe boolTyCon_RDR boolTyConName boolTyConboolTyanyTyConanyTy GHC.Types.IdzapStableUnfolding zapLamIdInfo zapJoinIdzapIdUsedOnceInfozapIdUsageInfozapIdUsageEnvInfozapIdTailCallInfozapIdStrictness zapIdOccInfozapIdDemandInfozapFragileIdInfoupdOneShotInfo typeOneShottransferPolyIdInfostateHackOneShotsetOneShotLambdasetInlinePragmasetInlineActivation setIdUniquesetIdUnfolding setIdTypesetIdStrictnesssetIdSpecialisationsetIdOneShotInfo setIdOccInfo setIdName setIdLFInfo setIdInfosetIdDemandInfo setIdCprInfosetIdCallArity setIdCafInfo setIdAritysetCaseBndrEvald scaleVarBy scaleIdByrecordSelectorTyCon_mayberecordSelectorTyConrealIdUnfoldingmodifyInlinePragma modifyIdInfo mkWorkerIdmkVanillaGlobalWithInfomkVanillaGlobalmkUserLocalOrCoVar mkUserLocalmkTemplateLocalsNummkTemplateLocalsmkTemplateLocalmkSysLocalOrCoVarMmkSysLocalOrCoVar mkSysLocalM mkSysLocalmkScaledTemplateLocalmkLocalIdWithInfomkLocalIdOrCoVar mkLocalId mkLocalCoVar mkGlobalIdmkExportedVanillaIdmkExportedLocalIdmaybeModifyIdInfo localiseId isStrictIdisStateHackTypeisRecordSelectorisProbablyOneShotLambdaisPrimOpId_maybe isPrimOpIdisPatSynRecordSelector isOneShotBndrisNeverLevPolyIdisNaughtyRecordSelectorisJoinId_maybeisJoinId isImplicitIdisFCallId_maybe isFCallId isDeadEndId isDeadBinderisDataConWrapId_maybeisDataConWrapIdisDataConWorkId_maybeisDataConWorkIdisDataConRecordSelectorisDataConId_maybeisDFunId isConLikeIdisClassOpId_maybe isClassOpIdidUnique idUnfoldingidType idStrictnessidStateHackOneShotInfoidSpecialisation idScaledTypeidRuleMatchInfo idOneShotInfo idOccInfoidMultidLFInfo_maybe idJoinArityidIsFromidInlinePragmaidInlineActivation idHasRules idFunRepArity idDemandInfo idDataCon idCprInfo idCoreRules idCallArity idCafInfoidArity hasNoBindingclearOneShotLambdaasJoinId_maybeasJoinIdGHC.Types.Id.Info TickBoxOpTickBox TickBoxIdRuleInfo RecSelParent RecSelData RecSelPatSyn LevityInfoInlinePragInfoCafInfoMayHaveCafRefs NoCafRefs ArityInfozapUsedOnceInfo zapUsageInfozapUsageEnvInfo zapUnfoldingzapTailCallInfo zapLamInfozapFragileInfo zapDemandInfozapCallArityInfo unknownAritysetUnfoldingInfosetStrictnessInfosetRuleInfoHead setRuleInfosetOneShotInfo setOccInfosetNeverLevPolysetLevityInfoWithType setLFInfosetInlinePragInfo setDemandInfo setCprInfosetCallArityInfo setCafInfo setArityInfo ruleInfoRulesruleInfoFreeVars pprStrictness ppCafInfo ppArityInfo oneShotInfo noCafIdInfomayHaveCafRefs levityInfoisNeverLevPolyIdInfoisJoinIdDetails_maybeisEmptyRuleInfo emptyRuleInfo callArityInfocafInfo arityInfoGHC.CoreUnfoldingSource InlineStableInlineCompulsory InlineRhsUnfoldingGuidance ug_unsat_okug_sizeug_res ug_boring_okug_arityug_argsUnfWhen UnfIfGoodArgsUnfNever Unfoldinguf_tmpluf_srcuf_is_work_free uf_is_value uf_is_top uf_is_conlike uf_guidance uf_expandabledf_condf_bndrsdf_argsOtherCon NoUnfolding DFunUnfolding BootUnfolding CoreUnfolding TaggedExpr TaggedBndrTB TaggedBind TaggedArg TaggedAltRuleOpts roPlatformroNumConstantFoldingroExcessRationalPrecision roBignumRulesRuleFunRuleEnvre_visible_orphsre_baseRuleBaseOutTypeOutKindOutExpr OutCoercionOutBndrOutBindOutArgOutAlt MOutCoercionIsOrphan NotOrphanInType InScopeEnvInKindInExpr InCoercionInBndrInBindInArgInAltIdUnfoldingFunExprLetLamCastCaseVarAppCoercionLitCoreRuleru_tryru_roughru_rhs ru_orphan ru_originru_nargsru_nameru_localru_fnru_bndrsru_autoru_argsru_act BuiltinRuleRule CoreProgramCoreExprCoreBndrCoreBindCoreArgCoreAltBindNonRecRecArgAnnExpr'AnnVarAnnTickAnnLit AnnCoercionAnnAppAnnCastAnnExprAnnBind AnnNonRecAnnAltAltConLitAltDEFAULTDataAltAltvarsToCoreExprs varToCoreExpr valBndrCount valArgCountunfoldingTemplate unSaturatedOk stripNArgs setRuleIdNameruleName ruleModule ruleIdName ruleArityruleActivation rhssOfBind rhssOfAlts otherCons notOrphan noUnfoldingneverUnfoldGuidance needSaturated mkWordLitWrap mkWordLit mkWord8LitmkWord64LitWord64 mkVarAppsmkTyBindmkTyArgmkTyApps mkStringLit mkRuleEnv mkOtherConmkLetsmkLetRec mkLetNonRecmkLetmkLams mkIntLitWrapmkIntLitmkInt64LitInt64mkFloatLitFloat mkFloatLitmkDoubleLitDouble mkDoubleLit mkConApp2mkConAppmkCoBindmkCoApps mkCharLitmkAppsmaybeUnfoldingTemplateltAltisValueUnfoldingisValArg isTypeArg isTyCoArgisStableUnfoldingisStableSource isRuntimeVar isRuntimeArgisOrphan isLocalRuleisExpandableUnfoldingisEvaldUnfoldingisConLikeUnfoldingisCompulsoryUnfoldingisCoArgisCheapUnfolding isBuiltinRuleisBootUnfolding isAutoRulehasSomeUnfoldinghasCoreUnfolding flattenBinds exprToTypeexprToCoercion_maybeexpandUnfolding_maybeevaldUnfolding emptyRuleEnv deTagExpr deAnnotate' deAnnotate deAnnBinddeAnnAltcollectTyBinderscollectTyAndValBinderscollectNBinderscollectNAnnBndrscollectBinderscollectArgsTicks collectArgscollectAnnBndrscollectAnnArgsTickscollectAnnArgs cmpAltConcmpAltchooseOrphanAnchor canUnfold boringCxtOkboringCxtNotOk bootUnfoldingbindersOfBinds bindersOfapplyTypeToArg SyntaxExpr MatchGroup mg_originmg_extmg_altsMG XMatchGroupLHsExprHsSpliceXSpliceHsUntypedSplice HsTypedSplice HsQuasiQuote HsSplicedHsExpr rupd_fldsrupd_ext rupd_expr rcon_fldsrcon_extrcon_con proj_fldsproj_extgf_fieldgf_extgf_exprXExprSectionRSectionL RecordUpd RecordConOpAppNegAppHsVar HsUnboundVarHsTickHsTcBracketOutHsStatic HsSpliceEHsRnBracketOutHsRecFld HsProjectionHsProcHsPar HsOverLabel HsMultiIfHsLet HsLamCaseHsLamHsIfHsIPVar HsGetFieldHsDo HsConLikeOutHsCase HsBinTick HsAppTypeHsApp ExprWithTySig ExplicitTuple ExplicitSum ExplicitListArithSeqGRHSsgrhssLocalBinds grhssGRHSsgrhssExtXGRHSs!Language.Haskell.Syntax.Extension XXWarnDecls XXWarnDecl XXValBindsLRXXType XXTyVarBndrXXTyFamInstDecl XXTyClGroup XXTyClDeclXXTupArgXXStmtLRXXStandaloneKindSig XXSpliceDeclXXSpliceXXSig XXRuleDecls XXRuleDecl XXRuleBndrXXRoleAnnotDeclXXPragE XXPatSynBindXXPatXXParStmtBlock XXOverLit XXMatchGroupXXMatchXXLit XXLHsQTyVars XXInstDeclXXInjectivityAnn XXImportDeclXXIPBindXXIEXXHsWildCardBndrs XXHsSigTypeXXHsPatSigTypeXXHsOuterTyVarBndrsXXHsLocalBindsLR XXHsIPBinds XXHsGroupXXHsForAllTelescopeXXHsFieldLabelXXHsDerivingClauseXXHsDecl XXHsDataDefn XXHsBindsLRXXGRHSsXXGRHSXXFunDep XXForeignDecl XXFixitySig XXFieldOccXXFamilyResultSig XXFamilyDeclXXFamEqnXXExpr XXDerivDeclXXDerivClauseTys XXDefaultDeclXXConDeclField XXConDeclXXCmdTopXXCmd XXClsInstDecl XXBracketXXApplicativeArg XXAnnDeclXXAmbiguousFieldOcc XXABExportXWildPat XWildCardTy XWarnings XWarningDXWarningXViewPat XViaStrategyXVarPatXVarBrXVarBindXVarXValD XValBinds XUserTyVarXUntypedSplice XUnboundVar XUnambiguous XTypedSpliceXTypeSigXTypBr XTyVarSigXTyVarXTyLit XTyFamInstDXTyClDXTupleTy XTuplePat XTransStmtXTick XTcBracketOutXTExpBrXSynDeclXSumTyXSumPatXStockStrategyXStaticXStarTyXSpliced XSpliceTy XSplicePatXSpliceEXSpliceDXSpecSig XSpecInstSigXSigPatXSigD XSectionR XSectionL XSCCFunSigXSCCXRuleD XRuleBndrSig XRoleAnnotD XRnBracketOut XRecordUpd XRecordConXRecTyXRecStmtXRecFldXRec XQuasiQuoteXQualTy XProjectionXProcXPresentXPragE XPatSynSigXPatBrXPatBindXParTyXParStmtXParPatXParXPSB XOverLitE XOverLabelXOpTyXOpAppXNoSigXNewtypeStrategyXNegApp XNPlusKPatXNPatXMultiIfXMissing XMinimalSigXMGXLitPatXLitEXListTyXListPatXLetStmtXLetXLazyPat XLastStmtXLamCaseXLam XKindedTyVar XKindSigDXKindSigXInstD XInlineSigXIfXIdSig XIParamTyXIPVarXIPBindsXIEVar XIEThingWith XIEThingAll XIEThingAbsXIEModuleContentsXIEGroup XIEDocNamedXIEDoc XHsWordPrim XHsWord64PrimXHsWC XHsValBinds XHsStringPrim XHsStringXHsSigXHsRule XHsRecFieldXHsRatXHsQTvsXHsPSXHsOuterImplicitXHsOuterExplicit XHsInteger XHsIntPrim XHsInt64PrimXHsInt XHsForAllVisXHsForAllInvis XHsFloatPrim XHsDoublePrim XHsCharPrimXHsChar XHsAnnotation XGetFieldXFunTyXFunBindXForeignImportXForeignExportXForD XForAllTyXFixSigXFamDeclXExprWithTySigXExplicitTupleTyXExplicitTuple XExplicitSumXExplicitListTy XExplicitListXExpBrXEmptyLocalBindsXDocTyXDocDXDoXDerivDXDefDXDecBrLXDecBrG XDctSingle XDctMulti XDataFamInstD XDataDeclXConPat XConLikeOut XConDeclH98 XConDeclGADTXCompleteMatchSigXCoPatXCmdWrapXCmdParXCmdLet XCmdLamCaseXCmdLamXCmdIfXCmdDoXCmdCase XCmdArrForm XCmdArrAppXCmdApp XClsInstD XClassOpSig XClassDeclXCaseXCTyFamInstDecl XCTyClGroup XCRuleDecls XCRuleBndrXCRoleAnnotDeclXCMatch XCKindSigXCInjectivityAnn XCImportDeclXCIPBind XCHsGroupXCHsFieldLabelXCHsDerivingClause XCHsDataDefnXCGRHSsXCGRHSXCFunDep XCFieldOcc XCFamilyDeclXCFamEqn XCDerivDecl XCDefaultDecl XCClsInstDecl XBodyStmt XBindStmtXBinTickXBangTyXBangPatXAsPat XArithSeqXApplicativeStmtXApplicativeArgOneXApplicativeArgMany XAppTypeEXAppTy XAppKindTyXAppXAnyClassStrategyXAnnD XAmbiguous XAbsBindsXABEWrapXRecwrapXRecUnXRecunXRecNoGhcTc NoExtFieldNoExtConMapXRecmapXRecLIdPIdPAnno noExtFieldnoExtConGHC.Unit.StateUnusableUnitReasonShadowedDependenciesIgnoredWithFlagIgnoredDependenciesBrokenDependenciesCyclicDependencies UnitInfoMapUnitErr TrustFlagErr CloseUnitErrPackageFlagErr ShHoleSubstPreloadUnitClosureModuleSuggestion SuggestHiddenSuggestVisible ModuleOriginfromPackageFlag fromOrigUnitfromHiddenReexportfromExposedReexport ModUnusable ModHidden ModOrigin LookupResultLookupUnusableLookupNotFoundLookupMultiple LookupFound LookupHiddenunsafeLookupUnitIdunsafeLookupUnitsearchPackageIdresolveUnitDatabaserequirementMergesrenameHoleUnit'renameHoleUnitrenameHoleModule'renameHoleModulereadUnitDatabasesreadUnitDatabasepprUnitsSimplepprUnitspprUnitInfoForUser pprReason pprModuleMappprFlagmayThrowUnitErr lookupUnitId' lookupUnitId lookupUnit' lookupUnit!lookupPluginModuleWithSuggestionslookupPackageNamelookupModuleWithSuggestionslookupModulePackagelookupModuleInAllUnitslistVisibleModuleNames listUnitInfoinstUnitToUnitinstModuleToModule initUnits improveUnit getUnitDbRefscloseUnitDeps' closeUnitDepsGHC.Driver.Session TurnOnFlag TrustFlagDistrustPackage TrustPackageRtsOptsEnabledRtsOptsSafeOnly RtsOptsNoneRtsOptsIgnoreAll RtsOptsAll RtsOptsIgnoreProfAuto ProfAutoTopProfAutoExports ProfAutoCalls NoProfAuto ProfAutoAllPkgDbRef UserPkgDb GlobalPkgDb PkgDbPath PackageFlag ExposePackage HidePackage PackageDBFlag PackageDBNoUserPackageDBClearPackageDBsNoGlobalPackageDB PackageArg UnitIdArg ModRenaming modRenamingsmodRenamingWithImplicit LlvmTarget lDataLayoutlCPU lAttributes LlvmConfig llvmTargets llvmPasses LinkerInfo UnknownLD SolarisLDLlvmLLDGnuLDGnuGoldAixLDDarwinLD IncludeSpecsincludePathsQuoteImplicitincludePathsQuoteincludePathsGlobalIgnorePackageFlag IgnorePackage HasDynFlags getDynFlagsGhcModeMkDependOneShot CompManagerGhcLinkNoLink LinkStaticLib LinkInMemory LinkBinary LinkDynLibFlushOutFlushErrFlagSpec flagSpecNameflagSpecGhcMode flagSpecFlagflagSpecAction FatalMessagerDynamicTooStateDT_OK DT_FailedDT_DontDT_Dyn DynLibLoader DeployableSystemDependentContainsDynFlagsextractDynFlags CompilerInfo UnknownCCGCCClang AppleClang AppleClang51 xopt_unsetxopt_set_unlessExplSpecxopt_setxopt_FieldSelectorsxopt_DuplicateRecordFieldsxoptxFlags wordAlignmentwopt_unset_fatal wopt_unsetwopt_set_fatalwopt_set wopt_fatalwoptwayswarningHierarchies warningGroups wWarningFlagswWarningFlagMapversionedFilePathversionedAppDiruseXLinkerRPathupdatePlatformConstants updOptLevelunsafeFlagsForInfer unsafeFlagsunSetGeneralFlag'turnOnturnOfftopDirtmpDir targetProfilesupportedLanguagesAndExtensionssmallestGroupssettingssetUnsafeGlobalDynFlags setUnitId setTmpDirsetGeneralFlag'setFlagsFromEnvFilesetDynamicTooFailed setDynamicNowsccProfilingEnabledsafeLanguageOn safeInferOn safeImportsOnsafeImplicitImpsReq safeHaskellOnsafeHaskellModeEnabledsafeDirectImpsReqprojectVersion programNamepprDynFlagsDiffpositionIndependentpicPOpts picCCOpts pgm_windres pgm_ranlib pgm_otoolpgm_lopgm_lm pgm_libtoolpgm_lccpgm_lcpgm_lpgm_install_name_toolpgm_ipgm_dllpgm_cpgm_arpgm_apgm_Tpgm_Ppgm_Lpgm_FparseDynamicFlagsFullparseDynamicFlagsCmdLineparseDynamicFilePragmapackageTrustOnpackageFlagsChanged outputFile opt_windresopt_loopt_lmopt_lccopt_lcopt_lopt_iopt_cxxopt_copt_aopt_P_signatureopt_Popt_Lopt_F objectSufneedSourceNotesmakeDynFlagsConsistentlanguageExtensionslang_set isSseEnabledisSse4_2Enabled isSse2Enabled isOneShotisNoLink isBmiEnabled isBmi2Enabled isAvxEnabledisAvx512pfEnabledisAvx512fEnabledisAvx512erEnabledisAvx512cdEnabled isAvx2Enabled initDynFlagsinitDefaultSDocContext impliedXFlagsimpliedOffGFlags impliedGFlagshiSufhasNoStateHackhasNoOptCoercion gopt_unsetgopt_setgoptglobalPackageDatabasePathglasgowExtsFlags ghciUsagePath ghcUsagePath getVerbFlagsgetOptsflattenIncludes flagsPackageflagsForCompletion flagsDynamicflagsAll flagSpecOf fLangFlagsfFlagsextraGccViaCFlagsdynamicTooStatedynamicOutputHidynamicOutputFiledynFlagDependencies dopt_unsetdopt_setdoptdefaultFlushOutdefaultFlushErrdefaultFatalMessagerdefaultDynFlags compilerInfoallNonDeprecatedFlagsaddQuoteIncludeaddPluginModuleNameaddImplicitQuoteIncludeaddGlobalIncludeGHC.Types.SourceError SourceError throwOneError throwErrorssrcErrorMessagesmkSrcErrhandleSourceErrorGHC.Types.ErrorSeveritySevError SevWarningGHC.StgToCmm.TypesLambdaFormInfo LFUnlifted LFUnknownLFThunk LFReEntrantLFCon LFLetNoEscapeGHC.Core.DataConStrictnessMark MarkedStrictNotMarkedStrictSrcUnpackedness SrcUnpack NoSrcUnpack SrcNoUnpack SrcStrictness SrcStrict NoSrcStrictSrcLazy HsSrcBang HsImplBangHsUnpackHsLazyHsStrict substEqSpecsplitDataProductType_maybespecialPromotedDcmkEqSpec mkDataConisVanillaDataConisUnboxedTupleDataConisTupleDataCon isSrcUnpacked isSrcStrictisNullarySrcDataConisNullaryRepDataCon isNewDataConisMarkedStrictisBoxedTupleDataConisBanged filterEqSpec eqSpecType eqSpecTyVar eqSpecPreds eqSpecPaireqHsBangdataConWrapperTypedataConWrapId_maybedataConUserTyVarsArePermuteddataConUnivTyVarsdataConUnivAndExTyCoVars dataConTheta dataConTagZ dataConTagdataConSrcBangsdataConRepTypedataConRepStrictnessdataConRepAritydataConRepArgTysdataConOtherThetadataConOrigTyCondataConOrigResTydataConOrigArgTysdataConNonlinearTypedataConIsInfixdataConInstSigdataConInstArgTysdataConImplicitTyThingsdataConImplBangsdataConIdentitydataConFieldType_maybedataConFieldType dataConEqSpecdataConDisplayTypedataConCannotMatch dataConBoxer classDataConGHC.Core.CoercionNormaliseStepperNormaliseStepResultNS_StepNS_AbortNS_Done LiftCoEnvHoleSetzapLiftingContextunwrapNewTypeStepper tyConRolesXtyConRolesRepresentationaltopNormaliseTypeXtopNormaliseNewType_maybetidyCoAxBndrsForUser swapLiftCoEnv substRightCo substLeftCosubstForAllCoBndrUsingLCsplitTyConAppCo_maybesplitFunCo_maybesplitForAllCo_ty_maybesplitForAllCo_maybesplitForAllCo_co_maybesplitAppCo_maybesimplifyArgsWorkersetNominalRole_maybesetCoVarUnique setCoVarNamepromoteCoercion pprCoAxiompprCoAxBranchUserpprCoAxBranchLHS pprCoAxBranchnthRole nthCoRolemultToComkUnbranchedAxInstRHSmkUnbranchedAxInstLHSmkUnbranchedAxInstCo mkTransMCoR mkTransMCoL mkTransMComkSymMComkSubstLiftingContextmkReprPrimEqPred mkRepReflComkPrimEqPredRole mkPrimEqPredmkPiMCosmkPiCosmkPiCo mkNthCoFunComkHomoForAllMComkHomoForAllCosmkHoleComkHeteroReprPrimEqPredmkHeteroPrimEqPredmkHeteroCoercionTypemkGReflRightMComkGReflRightComkGReflLeftMCo mkGReflLeftCo mkFunResMCo mkFunResCo mkForAllCosmkFamilyTyConAppComkCoherenceRightMComkCoherenceRightComkCoherenceLeftCo mkCoVarCosmkCoCast mkCastTyMCo mkAxInstRHS mkAxInstLHS mkAxInstComkAppCos mapStepResultltRoleliftEnvSubstRightliftEnvSubstLeftliftCoSubstWithExliftCoSubstWithliftCoSubstVarBndrUsingliftCoSubstTyVar lcTCvSubst lcSubstRight lcSubstLeft lcInScopeSetisReflexiveCo_maybe isReflMCoisReflCo_maybeisReflCoVar_maybe isMappedByLC isGReflMCoisGReflCo_maybe isCoVar_maybeinstNewTyCon_maybehasCoercionHoleTyhasCoercionHoleCogetCoVar_maybeextendLiftingContextAndInScopeextendLiftingContextetaExpandCoAxBranch eqCoercionX eqCoercionemptyLiftingContext downgradeRoledecomposeFunCo decomposeCocomposeSteppers coercionRole coercionKindscoercionKindRolecoercionHolesOfTypecoercionHolesOfCo coVarTypes coVarName coVarKindcoToMCocheckReflexiveMCocastCoercionKind2castCoercionKind1castCoercionKind buildCoercionmkFunctionTypeGHC.Core.TyCo.Ppr pprParendCoGHC.Types.LiteralLiteral LitString LitRubbish LitNumber LitNullAddrLitLabelLitFloatLitChar LitDouble LitNumType LitNumWord8 LitNumWord64 LitNumWord32 LitNumWord16 LitNumWord LitNumNatural LitNumInteger LitNumInt8 LitNumInt64 LitNumInt32 LitNumInt LitNumInt16 rubbishLit pprLiteral nullAddrLitnarrowWord8LitnarrowWord64LitnarrowWord32LitnarrowWord16Lit narrowInt8LitnarrowInt64LitnarrowInt32LitnarrowInt16LitmkLitWordWrapC mkLitWordWrapmkLitWord8Wrap mkLitWord8mkLitWord64Wrap mkLitWord64mkLitWord32Wrap mkLitWord32mkLitWord16Wrap mkLitWord16 mkLitWord mkLitStringmkLitNumberWrap mkLitNumber mkLitNatural mkLitInteger mkLitIntWrapC mkLitIntWrapmkLitIntUnchecked mkLitInt8Wrap mkLitInt8mkLitInt64Wrap mkLitInt64mkLitInt32Wrap mkLitInt32mkLitInt16Wrap mkLitInt16mkLitInt mkLitFloat mkLitDouble mkLitChar mapLitValue literalTypelitValue litNumWrap litNumNarrowlitNumIsSigned litNumCoercelitNumCheckRange litNumBitSize litIsTrivial litIsLifted litIsDupable litFitsInChar isZeroLit isRubbishLitisOneLit isMinBound isMaxBoundisLitValue_maybe intToFloatLitintToDoubleLit intToCharLit inCharRange floatToIntLitfloatToDoubleLitdoubleToIntLitdoubleToFloatLitconvertToWordLitconvertToIntLit charToIntLitabsentLiteralOf GHC.Core.Type TyCoMapper tcm_tyvar tcm_tycontcm_tycobindertcm_hole tcm_covaruserTypeError_maybe unrestrictedtypeKindtymult tyConsOfTypetyConBindersTyCoBinders tyConArgFlagstyConAppTyConPicky_maybe tyConAppTyContyConAppNeedsKindSigtyConAppArgs_maybe tyConAppArgs tyConAppArgNtyCoBinderVar_maybetyCoBinderType tyBinderType tcTypeKindtcSplitTyConApp_maybetcReturnsConstraintKindtcRepSplitTyConApp_maybetcRepSplitAppTy_maybetcIsRuntimeTypeKindtcIsLiftedTypeKindtcIsConstraintKindtcIsBoxedTypeKindstripCoercionTysplitVisVarsOfTypessplitVisVarsOfType splitTyConApp splitPiTyssplitPiTy_maybe splitPiTysplitListTyConApp_maybesplitInvisPiTysNsplitInvisPiTys splitFunTyssplitFunTy_maybe splitFunTysplitForAllTyVar_maybesplitForAllTyCoVarssplitForAllTyCoVar_maybesplitForAllTyCoVarBinderssplitForAllTyCoVarsplitForAllReqTVBinderssplitForAllInvisTVBinderssplitForAllCoVar_maybesplitCastTy_maybe splitAppTyssplitAppTy_maybe splitAppTyseqTypesseqType scaledSetresultIsLevPolyrepSplitTyConApp_mayberepSplitAppTysrepSplitAppTy_mayberepGetTyVar_maybepprUserTypeErrorTypickyIsLiftedTypeKind piResultTyspartitionInvisiblesoccCheckExpandnonDetCmpTypesXnonDetCmpTypesnonDetCmpTypeX nonDetCmpType nonDetCmpTcnewTyConInstRhsmkVisForAllTysmkTyConBindersPreferAnonmkTyCoInvForAllTysmkTyCoInvForAllTy mkStrLitTymkSpecForAllTysmkSpecForAllTymkScaled mkNumLitTymkInfForAllTys mkInfForAllTymkFamilyTyConApp mkCoercionTy mkCharLitTymkAppTys mkAnonBindermightBeUnliftedTypemapTyCoXmapTyColinear kindRep_maybekindRepisValidJoinPointTypeisUnliftedTypeKindisUnliftedTypeisUnliftedRuntimeRepisUnliftedLevityisUnboxedTupleTypeisUnboxedSumType isTypeLevPoly isTyVarTyisTauTy isStrictType isStrLitTyisRuntimeRepVarisRuntimeRepKindedTyisPrimitiveTypeisPiTyisOneDataConTy isNumLitTyisMultiplicityVarisManyDataConTyisLitTy isLinearTypeisLiftedType_maybeisLiftedRuntimeRepisLiftedLevity isLevityVar isLevityTy isKindLevPolyisFunTy isForAllTy_ty isForAllTy_co isForAllTy isFamFreeTyisDataFamilyAppTypeisCoercionTy_maybe isCoVarType isCharLitTyisBoxedTypeKind isBoxedTypeisBoxedRuntimeRep isAtomicTyisAnonTyCoBinder isAlgTypeirrelevantMultinvisibleTyBndrCountgetTyVar_maybegetTyVargetRuntimeRep_maybe getRuntimeRepgetCastedTyVar_maybe funResultTyfunArgTyfilterOutInvisibleTypesfilterOutInferredTypesexpandTypeSynonyms eqVarBndrseqTypeseqTypeXeqTypedropRuntimeRepArgs dropForAlls coAxNthLHSclassifiesTypeWithValues buildSynTyConbinderRelevantType_maybe applyTysX appTyArgFlagsOneManyGHC.Builtin.Types.PrimfunTyConGHC.Core.TyCo.Subst TvSubstEnvTCvSubst CvSubstEnvzipTyEnv zipTvSubst zipTCvSubstzipCoEnv zapTCvSubst unionTCvSubst substVarBndrs substVarBndr substTysWithsubstTysUncheckedsubstTyssubstTyWithUnchecked substTyWith substTyVarssubstTyVarBndrssubstTyVarBndr substTyVarsubstTyUnchecked substTyCoBndrsubstTyAddInScopesubstThetaUnchecked substThetasubstScaledTysUncheckedsubstScaledTyssubstScaledTyUnchecked substScaledTysubstCossubstCoWithUnchecked substCoWith substCoVarssubstCoVarBndr substCoVarsubstCoUnchecked setTvSubstEnvnotElemTCvSubst mkTvSubstPrs mkTCvSubstmkEmptyTCvSubst lookupTyVar lookupCoVarisEmptyTCvSubst getTvSubstEnvgetTCvSubstRangeFVs getTCvInScope getCvSubstEnvextendTvSubstWithCloneextendTvSubstBinderAndInScopeextendTvSubstAndInScopeextendTCvSubstWithCloneextendTCvSubstListextendTCvSubstextendTCvInScopeSetextendTCvInScopeListextendTCvInScope extendCvSubstemptyTvSubstEnv emptyTCvSubstemptyCvSubstEnvcomposeTCvSubstEnvcomposeTCvSubstcloneTyVarBndrscloneTyVarBndrGHC.Core.TyCo.Tidy tidyVarBndrs tidyVarBndr tidyTypestidyTypetidyTyCoVarOcctidyTyCoVarBinderstidyTyCoVarBinder tidyTopType tidyOpenTypes tidyOpenTypetidyOpenTyCoVarstidyOpenTyCoVar tidyOpenKindtidyKindtidyFreeTyCoVarstidyCostidyCoGHC.Core.TyCo.FVstyCoVarsOfTypesWellScopedtyCoVarsOfTypestyCoVarsOfTypeWellScopedtyCoVarsOfTypeDSettyCoVarsOfType tyCoVarsOfCostyCoVarsOfCoDSet tyCoVarsOfCotyCoFVsVarBndrstyCoFVsVarBndr tyCoFVsOfType tyCoFVsOfCos tyCoFVsOfCo tyCoFVsBndr scopedSortnoFreeVarsOfType coVarsOfTypes coVarsOfType coVarsOfCocloseOverKindsListcloseOverKindsDSetcloseOverKindsanyFreeVarsOfTypesanyFreeVarsOfTypeanyFreeVarsOfCoGHC.Core.TyCo.Rep TyCoFoldertcf_view tcf_tyvartcf_tycobindertcf_hole tcf_covar MCoercionRKnotTied KindOrType CoercionR CoercionP CoercionHolech_ref ch_co_vartypeSizesetCoHoleCoVarmkVisFunTysMany mkVisFunTysmkVisFunTyMany mkVisFunTy mkTyVarTys mkTyVarTymkPiTysmkPiTymkInvisFunTysManymkInvisFunTyMany mkInvisFunTymkInvisForAllTysmkFunTy mkForAllTysisVisibleBinder isNamedBinderisInvisibleBinderfoldTyCo coercionSize coHoleCoVarGHC.Core.TyConTyConTyCoBinder TyConFlavourTypeSynonymFlavour TupleFlavour SumFlavourPromotedDataConFlavourOpenTypeFamilyFlavourNewtypeFlavourDataTypeFlavourDataFamilyFlavourClosedTypeFamilyFlavour ClassFlavourAbstractTypeFlavourBuiltInTypeFlavour TyConBndrVisAnonTCBNamedTCB TyConBinderRuntimeRepInfo UnliftedInfoNoRRI LiftedInfoVecElem RuntimeRepVecCountPrimRepVoidRep LiftedRep UnliftedRep DoubleRepFloatRepAddrRep Word64Rep Word32Rep Word16RepWord8RepWordRepInt64RepInt32RepInt16RepInt8RepVecRepIntRep PrimElemRep DoubleElemRep FloatElemRep Word64ElemRep Word32ElemRep Word16ElemRep Word8ElemRep Int64ElemRep Int32ElemRep Int8ElemRep Int16ElemRep Injectivity Injective NotInjective FamTyConFlavOpenSynFamilyTyConDataFamilyTyConClosedSynFamilyTyConAbstractClosedSynFamilyTyConBuiltInSynFamTyCon AlgTyConRhstup_sortnt_rhs nt_lev_poly nt_etad_rhsnt_cois_enumdata_cons_size data_consdata_con TupleTyConSumTyConNewTyCon AbstractTyCon DataTyCon AlgTyConFlavVanillaAlgTyConUnboxedAlgTyCon ClassTyConDataFamInstTyConvisibleDataConsunwrapNewTyCon_maybeunwrapNewTyConEtad_maybetyConVisibleTyVarstyConTuple_maybetyConStupidTheta tyConSkolemtyConSingleDataCon_maybetyConSingleDataContyConSingleAlgDataCon_maybetyConRuntimeRepInfo tyConRolestyConRepModOcctyConInvisTVBinderstyConInjectivityInfotyConFlavourAssoc_maybe tyConFlavourtyConFieldLabelstyConFamilySizetyConFamilyResVar_maybetyConFamilyCoercion_maybetyConFamInst_maybetyConFamInstSig_maybetyConDataCons_maybe tyConDataConstyConClass_maybetyConCType_maybetyConBndrVisArgFlagtyConBinderArgFlagtyConAssoc_maybetyConAlgDataCons_maybetyConATstcFlavourIsOpensynTyConRhs_maybesynTyConDefn_maybesetTcTyConKindprimRepsCompatible primRepSizeBprimRepIsFloatprimRepCompatibleprimElemRepSizeBpprPromotionQuotenoTcTyConScopedTyVars newTyConRhsnewTyConEtadRhsnewTyConEtadAritynewTyConDataCon_maybenewTyConCo_maybe newTyConComustBeSaturated mkTyConTagMap mkTyConKind mkTupleTyCon mkTcTyConmkSynonymTyCon mkSumTyConmkRequiredTyConBindermkPromotedDataCon mkPrimTyConmkNamedTyConBindersmkNamedTyConBindermkLiftedPrimTyCon mkKindTyCon mkFunTyCon mkFamilyTyConmkDataTyConRhs mkClassTyConmkAnonTyConBindersmkAnonTyConBinder mkAlgTyConlookupTyConFieldLabel isVoidRepisVisibleTyConBinderisVanillaAlgTyConisUnliftedTyConisUnboxedSumTyConisTypeSynonymTyConisTypeFamilyTyConisTyConWithSrcDataCons isTyConAssoc isTcTyCon isTcLevPoly isTauTyConisPromotedTupleTyConisPromotedDataCon_maybeisPromotedDataCon isPrimTyConisOpenTypeFamilyTyConisOpenFamilyTyCon isNoParent isNewTyConisNamedTyConBinderisLiftedTypeKindTyConNameisLiftedAlgTyCon isKindTyConisInvisibleTyConBinderisInjectiveTyConisImplicitTyConisGenerativeTyConisGenInjAlgRhs isGcPtrRepisGadtSyntaxTyConisForgetfulSynTyCon isFamilyTyConisFamInstTyConisFamFreeTyConisEnumerationTyCon isDataTyConisDataFamilyTyConisConstraintKindCon%isClosedSynFamilyTyConWithAxiom_maybe isClassTyConisBuiltInSynFamTyCon_maybeisBoxedTupleTyCon isAlgTyConisAbstractTyConfamTyConFlav_maybeexpandSynTyCon_maybe algTyConRhsGHC.Builtin.Names nilDataConKey listTyConKeyLiftingContextLCseqComkUnivCo mkTyConAppCo mkTransComkSymComkSubComkReflComkProofIrrelCo mkPhantomComkNthCo mkNomReflComkLRComkKindComkInstCo mkGReflComkFunCo mkForAllComkCoercionType mkCoVarCo mkAxiomRuleCo mkAxiomInstComkAppCo liftCoSubst isReflexiveCoisReflCo isGReflCodecomposePiCos coercionType coercionRKind coercionLKind coercionKind coVarRolecoVarKindsTypesRoleGHC.Core.Coercion.AxiomRoleRepresentationalNominalPhantom GHC.Hs.Doc LHsDocString HsDocStringExtractedTHDocsethd_mod_headerethd_inst_docsethd_decl_docs ethd_arg_docs DeclDocMap ArgDocMap unpackHDS ppr_mbDocmkHsDocStringUtf8ByteString mkHsDocStringisEmptyDocStringhsDocStringToByteStringemptyDeclDocMapemptyArgDocMap concatDocs appendDocsGHC.Parser.Annotation TrailingAnn AddVbarAnn AddSemiAnn AddRarrowAnnU AddRarrowAnn AddCommaAnn AddLollyAnnU SrcSpanAnnP SrcSpanAnnN SrcSpanAnnL SrcSpanAnnC SrcSpanAnnA SrcSpanAnn'locA SrcSpanAnnannSrcAnn ParenTypeAnnParensSquare AnnParens AnnParensHashNoEpAnnsNameAnn nann_trailing nann_quoted nann_quote nann_open nann_name nann_commas nann_closenann_adornmentNameAnnTrailing NameAnnRArrow NameAnnQuote NameAnnOnly NameAnnCommas NameAdornment NameSquareNameParensHashNameBackquotes NameParensLocatedPLocatedNLocatedLLocatedC LocatedAnLocatedA LEpaCommentIsUnicodeSyntax NormalSyntax UnicodeSyntaxHasENoE EpaLocationEpaDeltaEpaSpan EpaCommentTokEpaLineComment EpaEofComment EpaDocSection EpaDocOptionsEpaDocCommentPrevEpaDocCommentNextEpaBlockCommentEpaDocCommentNamed EpaCommentac_tok ac_prior_tok EpAnnComments priorCommentsfollowingComments EpaCommentsEpaCommentsBalancedEpAnnCOEpAnnentrycommentsanns EpAnnNotUsedDeltaPos deltaLine deltaColumn DifferentLineSameLine AnnSortKey NoAnnSortKey AnnPragmaapr_restapr_open apr_closeAnnParenap_openap_close ap_adornment AnnListItem lann_trailingAnnList al_trailingal_restal_openal_close al_anchor AnnKeywordIdAnnrarrowtailUAnnlarrowtailUAnnVia AnnValStrAnnUnit AnnThTyQuoteAnnSimpleQuote AnnSignatureAnnSafeAnnRarrowtailU AnnRarrowU AnnQualified AnnPercentOne AnnPercentAnnPackageNameAnnOpenS AnnOpenPH AnnOpenEQUAnnOpenC AnnOpenBUAnnNameAnnMdo AnnLollyUAnnLarrowtailU AnnLarrowU AnnHiding AnnForallUAnnDollarDollar AnnDollar AnnDcolonU AnnDarrowU AnnCommaTuple AnnCloseS AnnCloseQU AnnClosePH AnnCloseC AnnCloseBUAnnClassAnnAs AnnAnyclassAnnInfix AnnLarrow AnnPatternAnnFunIdAnnRole AnnExport AnnImport AnnForeign AnnFamily AnnNewtypeAnnStock AnnDeriving AnnDefault AnnInstanceAnnData AnnForall AnnDarrow AnnModuleAnnBangAnnRecAnnUsingAnnGroupAnnByAnnColonAnnMinus AnnStatic AnnClosePAnnOpenPAnnProcAnnDot AnnCloseQ AnnOpenEQAnnOpenEAnnAt AnnDcolon AnnDotdotAnnInAnnLetAnnLamAnnElseAnnThenAnnIfAnnDoAnnOfAnnCase AnnCloseBAnnOpenB AnnRarrowtail AnnLarrowtail Annrarrowtail AnnlarrowtailAnnSemi AnnRarrowAnnWhereAnnEqualAnnVbarAnnTilde AnnBackquoteAnnTypeAnnCommaAnnCloseAnnValAnnOpen AnnHeader AnnContextac_open ac_darrowac_closeAnchorOperation MovedAnchorUnchangedAnchorAnchor anchor_opanchorAddEpAnn widenSpanwidenLocatedAn widenAnchorR widenAnchor unicodeAnn transferAnnsA spanAsAnchor sortLocatedAsetPriorCommentssetFollowingCommentssetCommentsSrcAnnsetCommentsEpAnnremoveCommentsA realSrcSpanrealSpanAsAnchorreLocNreLocLreLocCreLocAreLocreAnnLreAnnCreAnnplaceholderRealSpan parenTypeKws noSrcSpanAnoLocA noComments noAnnSrcSpannoAnnna2lan2lmapLocAla2rla2nala2lal2nl2l getLocAnngetLocAgetFollowingComments getDeltaLineextraToAnnListepaLocationRealSrcSpanepaLocationFromSrcAnn epAnnComments epAnnAnnsL epAnnAnns emptyCommentsdeltaPos commentsOnlyAcommentcombineSrcSpansA combineLocsAannParen2AddEpAnnaddTrailingCommaToNaddTrailingAnnToLaddTrailingAnnToAaddCommentsToSrcAnnaddCommentsToEpAnn addCLocAAaddCLocAaddAnnsAaddAnnsGHC.Types.Annotations CoreAnnTarget Annotation ann_value ann_target AnnTarget ModuleTarget NamedTarget AnnPayloadAnnEnv plusAnnEnvmkAnnEnvfindAnnsByTypeRepfindAnnsextendAnnEnvList emptyAnnEnvdeserializeAnnsGHC.Types.Name.ReaderRdrNameUnqualQualExactOrigParentpar_isNoParentParentIs LocalRdrEnv ImportSpecis_itemImpSpecis_decl ImpItemSpecis_iloc is_explicitImpAllImpSome ImpDeclSpecis_qualis_modis_dlocis_as GlobalRdrEnv GlobalRdrEltgre_pargre_namegre_lclGREgre_imp unQualSpecOKunQualOK transformGREsstarInfo shadowNames rdrNameSpace rdrNameOcc qualSpecOKpromoteRdrNamepprNameProvenancepprGlobalRdrEnvplusGlobalRdrEnvpickGREsModExppickGREsopIsAt nameRdrName mkVarUnqualmkUnqual mkRdrUnqual mkRdrQualmkQualmkOrigmkGlobalRdrEnvlookupLocalRdrOcclookupLocalRdrEnvlookupGlobalRdrEnvlookupGRE_RdrName'lookupGRE_RdrNamelookupGRE_Name_OccNamelookupGRE_NamelookupGRE_GreNamelookupGRE_FieldLabellocalRdrEnvEltslocalGREsFromAvailisUnqual isSrcRdrName isRecFldGRE isRdrTyVarisRdrTc isRdrDataCon isQual_maybeisQual isOrig_maybeisOrigisNoFieldSelectorGRE isLocalGREisFieldSelectorGREisExplicitItem isExact_maybeisExactisDuplicateRecFldGREinLocalRdrEnvScopeimportSpecModule importSpecLocgresToAvailInfogresFromAvails gresFromAvail greSrcSpan greRdrNamesgreQualModNamegrePrintableNamegreParent_maybe greOccNamegreMangledName greFieldLabelgreDefinitionSrcSpangreDefinitionModuleglobalRdrEnvElts getRdrNamegetGRE_NameQualifier_maybesextendLocalRdrEnvListextendLocalRdrEnvextendGlobalRdrEnvemptyLocalRdrEnvemptyGlobalRdrEnvelemLocalRdrEnv demoteRdrNamedelLocalRdrEnvList bestImport availFromGREGHC.Types.AvailGreName FieldGreName NormalGreNamegreNameSrcSpanGHC.Types.Name.EnvNameEnvDNameEnv unitNameEnvplusNameEnv_CD2plusNameEnv_CD plusNameEnv_C plusNameEnv nameEnvElts mkNameEnvWith mkNameEnv mapNameEnv mapDNameEnvlookupNameEnv_NF lookupNameEnvlookupDNameEnvisEmptyNameEnv filterNameEnvfilterDNameEnvextendNameEnv_CextendNameEnv_AccextendNameEnvList_CextendNameEnvList extendNameEnvextendDNameEnv emptyNameEnv emptyDNameEnv elemNameEnvdisjointNameEnvdepAnaldelListFromNameEnvdelFromNameEnvdelFromDNameEnv anyNameEnv alterNameEnv alterDNameEnvadjustDNameEnvGHC.Types.Name.SetUses NonCaffySetNameSetFreeVarsDefsDefUsesDefUseusesOnly unitNameSetunitFV unionNameSets unionNameSetplusFVsplusFVplusDUnameSetElemsStable nameSetAny nameSetAll mkNameSetmkFVsmkDUs minusNameSetisEmptyNameSet isEmptyFVsintersectsNameSetintersectNameSet intersectFVsfindUses filterNameSetextendNameSetList extendNameSet emptyNameSetemptyFVsemptyDUs elemNameSetduUsesduDefsdisjointNameSetdelListFromNameSetdelFromNameSetdelFVsdelFVallUsesaddOneFVGHC.Types.Var.EnvVarEnvTyVarEnv TyCoVarEnvTidyEnvRnEnv2 InScopeSetIdEnvDVarEnv DTyVarEnvDIdEnvCoVarEnv zipVarEnv varSetInScopeunsafeGetFreshLocalUnique unitVarEnv unitDVarEnvuniqAway unionInScopernSwap rnOccR_maybernOccR rnOccL_maybernOccL rnInScopeSet rnInScopernEtaRrnEtaLrnEnvRrnEnvLrnBndrs2rnBndrRrnBndrL rnBndr2_varrnBndr2restrictVarEnv plusVarEnv_CD plusVarEnv_CplusVarEnvList plusVarEnvplusMaybeVarEnv_C plusDVarEnv_C plusDVarEnvpartitionVarEnvpartitionDVarEnv nukeRnEnvR nukeRnEnvLnonDetStrictFoldDVarEnvmodifyVarEnv_Directly modifyVarEnv modifyDVarEnvmkVarEnv_DirectlymkVarEnvmkRnEnv2 mkInScopeSetmkEmptyTidyEnv mkDVarEnv minusVarEnv minusDVarEnv mapVarEnv mapDVarEnvlookupWithDefaultVarEnvlookupVarEnv_NF lookupVarEnvlookupRnInScopelookupInScope_Directly lookupInScope lookupDVarEnv isEmptyVarEnvisEmptyDVarEnvinRnEnvRinRnEnvLgetInScopeVars foldDVarEnv filterVarEnv filterDVarEnvextendVarEnv_CextendVarEnv_AccextendVarEnvList extendVarEnvextendRnInScopeSetListextendInScopeSetSetextendInScopeSetListextendInScopeSetextendDVarEnv_CextendDVarEnvList extendDVarEnv emptyVarEnv emptyTidyEnvemptyInScopeSet emptyDVarEnvelemVarEnvByKey elemVarEnvelemInScopeSet elemDVarEnvdisjointVarEnv delVarEnvList delVarEnvdelTidyEnvList delInScopeSetdelDVarEnvList delDVarEnv delBndrsR delBndrsLdelBndrRdelBndrL dVarEnvElts anyDVarEnv alterVarEnv alterDVarEnv GHC.Utils.FVInterestingVarFunGHC.Types.Var.SetVarSetTyVarSet TyCoVarSetIdSetDVarSet DTyVarSet DTyCoVarSetDIdSetCoVarSet unitVarSet unitDVarSet unionVarSets unionVarSet unionDVarSets unionDVarSettransCloVarSettransCloDVarSet subVarSet subDVarSet sizeVarSet sizeDVarSet seqVarSet seqDVarSet pprVarSet pluralVarSetpartitionVarSetpartitionDVarSetnonDetStrictFoldVarSetnonDetStrictFoldDVarSetmkVarSet mkDVarSet minusVarSet minusDVarSet mapVarSetmapUnionVarSetmapUnionDVarSet mapDVarSetlookupVarSet_DirectlylookupVarSetByName lookupVarSet isEmptyVarSetisEmptyDVarSetintersectsVarSetintersectsDVarSetintersectVarSetintersectDVarSet fixVarSet filterVarSet filterDVarSetextendVarSetList extendVarSetextendDVarSetList extendDVarSet emptyVarSet emptyDVarSetelemVarSetByKey elemVarSet elemDVarSetdisjointVarSetdisjointDVarSet delVarSetListdelVarSetByKey delVarSetdelDVarSetList delDVarSetdVarSetToVarSetdVarSetMinusVarSetdVarSetIntersectVarSet dVarSetElems anyVarSet anyDVarSet allVarSet allDVarSetGHC.Types.Name BuiltInSyntax UserSyntaxwiredInNameTyThing_maybe stableNameCmp setNameLoc pprPrefixNamepprNameUnqualifiedpprNameDefnLocpprModulePrefix pprInfixName pprDefinedAtnameStableString nameSrcSpan nameSrcLoc nameNameSpacenameModule_maybe nameModulenameIsLocalOrFromnameIsHomePackageImportnameIsHomePackagenameIsFromExternalPackage mkWiredInNamemkSystemVarNamemkSystemNameAt mkSystemName mkSysTvNamemkInternalName mkFCallNamemkExternalNamemkDerivedInternalNamemkClonedInternalName localiseName isWiredInName isWiredIn isVarName isValName isTyVarName isTyConName isSystemNameisInternalName isHoleNameisExternalName isDynLinkName isDataConNameisBuiltInSyntax getSrcSpan getSrcLoc getOccStringgetOccFSGHC.Types.Name.Occurrence TidyOccEnvOccSetOccEnv NameSpace unitOccSet unitOccEnv unionOccSetsunionManyOccSetstvName tidyOccNametcName tcClsNamestartsWithUnderscore srcDataNamesetOccNameSpacepromoteOccName pprOccName pprOccEnvpprNonVarNameSpacepprNameSpaceBrief pprNameSpace plusOccEnv_C plusOccEnv parenSymOcc occEnvEltsnameSpacesRelated mkWorkerOccmkVarOcc mkTyVarOccFS mkTyVarOcc mkTyConRepOcc mkTcOccFSmkTcOcc mkTag2ConOccmkSuperDictSelOccmkSuperDictAuxOcc mkSpecOcc mkRepEqOccmkOccSet mkOccNameFS mkOccName mkOccEnv_CmkOccEnv mkNewTyCoOcc mkMethodOcc mkMaxTagOcc mkMatcherOcc mkLocalOcc mkInstTyTcOcc mkInstTyCoOccmkIPOccmkGenRmkGen1RmkForeignExportOcc mkEqPredCoOcc mkDictOccmkDefaultMethodOcc mkDataTOcc mkDataOccFS mkDataOccmkDataConWrapperOccmkDataConWorkerOcc mkDataCOcc mkDFunOcc mkCon2TagOcc mkClsOccFSmkClsOccmkClassOpAuxOccmkClassDataConOcc mkBuilderOcc minusOccSet mapOccEnv lookupOccEnvisVarOccisVarNameSpaceisValOccisValNameSpaceisTypeableBindOccisTvOcc isTvNameSpaceisTcOccisTcClsNameSpaceisSymOcc isEmptyOccSetisDerivedOccNameisDefaultMethodOcc isDataSymOcc isDataOccisDataConNameSpaceintersectOccSetinitTidyOccEnv foldOccEnv filterOccSet filterOccEnvextendOccSetList extendOccSetextendOccEnv_CextendOccEnv_AccextendOccEnvList extendOccEnvemptyTidyOccEnv emptyOccSet emptyOccEnv elemOccSet elemOccEnv demoteOccNamedelTidyOccEnvListdelListFromOccEnv delFromOccEnvdataNameclsNameavoidClashesOccEnv alterOccEnv GHC.Types.VarTypeVar TyVarBinder TyCoVarBinderTKVar ReqTVBinderOutVarOutTyVarOutIdOutCoVarNcIdKindVarJoinIdIpIdInVarInTyVarInIdInCoVarEvVarEvIdEqVarDictIdDFunIdCoVar varUnique varMultMaybeupdateVarTypeM updateVarTypeupdateTyVarKindMupdateTyVarKindupdateIdTypeButNotMultupdateIdTypeAndMultMupdateIdTypeAndMulttyVarSpecToBinderstyVarSpecToBindertyVarReqToBinderstyVarReqToBinder tyVarName tyVarKindtcTyVarDetails setVarUnique setVarType setVarNamesetTyVarUnique setTyVarName setTyVarKindsetTcTyVarDetailssetIdNotExported setIdMult setIdExported setIdDetailssameVis nonDetCmpVarmustHaveLocalBindingmkTyVarBinders mkTyVarBindermkTyVarmkTyCoVarBindersmkTyCoVarBinder mkTcTyVar mkLocalVar mkGlobalVarmkExportedLocalVarmkCoVar mapVarBndrs mapVarBndr lookupVarBndr lazySetIdInfoisVisibleArgFlag isTyVarBinderisTyVar isTyCoVar isTcTyVar isNonCoVarId isLocalVar isLocalIdisInvisibleArgFlagisInferredArgFlagisId isGlobalId isExportedIdisCoVaridInfo idDetails globaliseId binderVars binderVar binderType binderArgFlagwordRepDataConTyword8RepDataConTyword8ElemRepDataConTyword64RepDataConTyword64ElemRepDataConTyword32RepDataConTyword32ElemRepDataConTyword16RepDataConTyword16ElemRepDataConTyvecRepDataConTyCon vecElemTyCon vecCountTyCon vec8DataConTyvec64DataConTy vec4DataConTyvec32DataConTy vec2DataConTyvec16DataConTyunrestrictedFunTyConunliftedTypeKindTyConunliftedTypeKindunliftedRepTyCon unliftedRepTyunliftedDataConTyunitTyunboxedTupleKindtypeSymbolKindtupleTyConName tupleTyContupleRepDataConTyCon tupleDataConsumTyCon sumDataConruntimeRepTyCon runtimeRepTypromotedTupleDataCononeDataConTyCon oneDataConTy naturalTymultiplicityTyConmultiplicityTy multMulTyConmkPromotedListTymkBoxedTupleTymanyDataConTyCon manyDataConTy listTyConliftedTypeKindTyConliftedTypeKindliftedRepTyCon liftedRepTyliftedDataConTyConliftedDataConTy levityTyCon integerTyintRepDataConTyint8RepDataConTyint8ElemRepDataConTyint64RepDataConTyint64ElemRepDataConTyint32RepDataConTyint32ElemRepDataConTyint16RepDataConTyint16ElemRepDataConTyheqTyConfloatRepDataConTyfloatElemRepDataConTydoubleRepDataConTydoubleElemRepDataConTyconstraintKindcoercibleTyConcharTycTupleTyConNamecTupleSelIdNamecTupleDataConName cTupleDataConboxedRepDataConTyCon anyTypeOfKindaddrRepDataConTyEqSpec DataConRep dcr_wrap_id dcr_stricts dcr_boxer dcr_bangs dcr_arg_tysDCR NoDataConRepDataConpromoteDataConisUnboxedSumDataCon dataConWrapId dataConWorkIddataConUserTyVarsdataConUserTyVarBinders dataConTyCondataConStupidThetadataConSourceArity dataConNamedataConInstOrigArgTysdataConFullSigdataConFieldLabelsdataConExTyCoVarspprCotyConAppTyCon_maybetcViewtYPEsplitTyConApp_maybe piResultTypartitionInvisibleTypes mkTyConTy mkTyConAppmkCastTymkAppTyisRuntimeRepTyisPredTyisMultiplicityTyisLiftedTypeKind isCoercionTycoreViewUnivCoProvenance TyCoBinder ThetaTypeScaledPredTypeMult MCoercionN MCoercionMCoMReflKind CoercionN mkForAllTy TyConRepNameTyCon tyConUnique tyConTyVars tyConResKindtyConNullaryTy tyConKind tyConCType tyConBinders tyConAritytcTyConScopedTyVars tcTyConIsPoly famTcResVar tyConName algTcFieldstyConRepName_maybemkPrelTyConRepNameisUnboxedTupleTyCon isTupleTyCon isFunTyCon GHC.Data.BagBag listToBagemptyBag GHC.Unit.Info UnitKeyInfoUnitInfo PackageName unPackageName PackageId GenUnitInfounitPackageNameStringunitPackageIdString unitHsLibs pprUnitInfo mkUnitPprInfo mkUnitKeyInfomkUnit mapUnitInfocollectLibraryDirscollectIncludeDirscollectFrameworksDirscollectFrameworkscollectExtraCcOptsGHC.Driver.Flags WarningFlagOpt_WarnWrongDoBindOpt_WarnWarningsDeprecationsOpt_WarnUnusedTypePatternsOpt_WarnUnusedTopBindsOpt_WarnUnusedRecordWildcardsOpt_WarnUnusedPatternBindsOpt_WarnUnusedPackagesOpt_WarnUnusedMatchesOpt_WarnUnusedLocalBindsOpt_WarnUnusedImportsOpt_WarnUnusedForallsOpt_WarnUnusedDoBind$Opt_WarnUntickedPromotedConstructorsOpt_WarnUnsupportedLlvmVersion%Opt_WarnUnsupportedCallingConventionsOpt_WarnUnsafe Opt_WarnUnrecognisedWarningFlagsOpt_WarnUnrecognisedPragmas,Opt_WarnUnicodeBidirectionalFormatCharactersOpt_WarnUnbangedStrictPatternsOpt_WarnTypedHolesOpt_WarnTypeDefaultsOpt_WarnTrustworthySafe Opt_WarnTabsOpt_WarnStarIsTypeOpt_WarnStarBinderOpt_WarnSpaceAfterBang$Opt_WarnSimplifiableClassConstraintsOpt_WarnSemigroup Opt_WarnSafe Opt_WarnRedundantRecordWildcardsOpt_WarnRedundantConstraintsOpt_WarnRedundantBangPatterns"Opt_WarnPrepositiveQualifiedModuleOpt_WarnPartialTypeSignaturesOpt_WarnPartialFieldsOpt_WarnOverlappingPatternsOpt_WarnOverflowedLiteralsOpt_WarnOrphans%Opt_WarnOperatorWhitespaceExtConflictOpt_WarnOperatorWhitespace#Opt_WarnNonCanonicalMonoidInstances"Opt_WarnNonCanonicalMonadInstances&Opt_WarnNonCanonicalMonadFailInstancesOpt_WarnNameShadowingOpt_WarnMonomorphismOpt_WarnMissingSignaturesOpt_WarnMissingSafeHaskellMode'Opt_WarnMissingPatternSynonymSignatures!Opt_WarnMissingMonadFailInstancesOpt_WarnMissingMethodsOpt_WarnMissingLocalSignaturesOpt_WarnMissingKindSignaturesOpt_WarnMissingImportListOpt_WarnMissingHomeModulesOpt_WarnMissingFields!Opt_WarnMissingExportedSignaturesOpt_WarnMissingExportList!Opt_WarnMissingDerivingStrategiesOpt_WarnMissedSpecsOpt_WarnMissedExtraSharedLibOpt_WarnInvalidHaddockOpt_WarnInlineRuleShadowingOpt_WarnInferredSafeImportsOpt_WarnIncompleteUniPatterns Opt_WarnIncompletePatternsRecUpdOpt_WarnIncompletePatternsOpt_WarnInaccessibleCodeOpt_WarnImplicitPreludeOpt_WarnImplicitLiftOpt_WarnImplicitKindVarsOpt_WarnIdentitiesOpt_WarnHiShadowsOpt_WarnEmptyEnumerationsOpt_WarnDuplicateExportsOpt_WarnDuplicateConstraintsOpt_WarnDodgyImportsOpt_WarnDodgyForeignImportsOpt_WarnDodgyExportsOpt_WarnDerivingTypeableOpt_WarnDerivingDefaultsOpt_WarnDeprecatedFlagsOpt_WarnDeferredTypeErrors#Opt_WarnDeferredOutOfScopeVariables Opt_WarnCompatUnqualifiedImportsOpt_WarnCPPUndefOpt_WarnAutoOrphansOpt_WarnAmbiguousFieldsOpt_WarnAllMissedSpecs)Opt_WarnAlternativeLayoutRuleTransitional WarnReasonReason ErrReasonNoReasonLanguage Haskell98GHC2021 Haskell2010 GeneralFlagOpt_WriteInterface Opt_WriteHieOpt_WorkerWrapperOpt_WholeArchiveHsLibsOpt_WeightlessBlocklayoutOpt_WarnIsErrorOpt_VersionMacrosOpt_ValidateHieOpt_UnclutterValidHoleFitsOpt_UnboxStrictFieldsOpt_UnboxSmallStrictFields Opt_Ticky_LNEOpt_Ticky_Dyn_ThunkOpt_Ticky_Allocd Opt_TickyOpt_SuppressVarKindsOpt_SuppressUniquesOpt_SuppressUnfoldingsOpt_SuppressTypeSignaturesOpt_SuppressTypeApplicationsOpt_SuppressTimestampsOpt_SuppressTicksOpt_SuppressStgExtsOpt_SuppressModulePrefixesOpt_SuppressIdInfoOpt_SuppressCoercionsOpt_Strictness Opt_StgStatsOpt_StgLiftLams Opt_StgCSE Opt_StaticArgumentTransformationOpt_SplitSectionsOpt_SpecialiseAggressivelyOpt_SpecialiseOpt_SpecConstrKeenOpt_SpecConstrOpt_SortValidHoleFitsOpt_SortBySubsumHoleFitsOpt_SortBySizeHoleFitsOpt_SolveConstantDictsOpt_SingleLibFolderOpt_SimplPreInliningOpt_ShowWarnGroupsOpt_ShowValidHoleFitsOpt_ShowTypeOfHoleFitsOpt_ShowTypeAppVarsOfHoleFitsOpt_ShowTypeAppOfHoleFitsOpt_ShowProvOfHoleFitsOpt_ShowMatchesOfHoleFitsOpt_ShowLoadedModulesOpt_ShowHoleConstraintsOpt_ShowDocsOfHoleFitsOpt_SharedImplibOpt_RelativeDynlibPathsOpt_RegsIterative Opt_RegsGraph Opt_RPathOpt_ProfCountEntriesOpt_PrintUnicodeSyntaxOpt_PrintTypecheckerElaborationOpt_PrintPotentialInstancesOpt_PrintExplicitRuntimeRepsOpt_PrintExplicitKindsOpt_PrintExplicitForallsOpt_PrintExplicitCoercionsOpt_PrintExpandedSynonymsOpt_PrintEvldWithShowOpt_PrintEqualityRelationsOpt_PrintBindResultOpt_PrintBindContentsOpt_PrintAxiomIncompsOpt_PprShowTicksOpt_PprCaseAsLetOpt_PpOpt_PluginTrustworthyOpt_PedanticBottomsOpt_PackageTrustOpt_PIEOpt_PICExecutableOpt_PICOpt_OptimalApplicativeDoOpt_OmitYieldsOpt_OmitInterfacePragmasOpt_NumConstantFoldingOpt_NoTypeableBindsOpt_NoLlvmManglerOpt_NoIt Opt_NoHsMainOpt_LoopificationOpt_LocalGhciHistory Opt_LlvmTBAAOpt_LlvmFillUndefWithGarbage Opt_LinkRtsOpt_LiberateCaseOpt_LateSpecialiseOpt_LateDmdAnalOpt_KillOneShotOpt_KillAbsenceOpt_KeepTmpFilesOpt_KeepSFilesOpt_KeepRawTokenStreamOpt_KeepOFilesOpt_KeepLlvmFilesOpt_KeepHscppFilesOpt_KeepHiFilesOpt_KeepHiDiffsOpt_KeepHcFiles Opt_KeepGoing Opt_KeepCAFsOpt_IrrefutableTuplesOpt_InlineGenericsAggressivelyOpt_InlineGenericsOpt_InfoTableMapOpt_ImplicitImportQualifiedOpt_IgnoreOptimChangesOpt_IgnoreInterfacePragmasOpt_IgnoreHpcChangesOpt_IgnoreDotGhciOpt_IgnoreAssertsOpt_HpcOpt_HideSourcePathsOpt_HideAllPluginPackagesOpt_HideAllPackagesOpt_HexWordLiteralsOpt_HelpfulErrorsOpt_HaddockOptions Opt_HaddockOpt_GhciSandboxOpt_GhciLeakCheckOpt_GhciHistoryOpt_GenManifestOpt_G_NoStateHackOpt_G_NoOptCoercionOpt_FunToThunkOpt_FullLazinessOpt_ForceRecomp Opt_FloatIn Opt_FastLlvmOpt_FamAppCacheOpt_ExternalInterpreterOpt_ExternalDynamicRefsOpt_ExposeInternalSymbolsOpt_ExposeAllUnfoldingsOpt_ExitificationOpt_ExcessPrecisionOpt_ErrorSpansOpt_EnableThSpliceWarningsOpt_EnableRewriteRulesOpt_EmbedManifestOpt_EagerBlackHolingOpt_DumpToFileOpt_DoStgLintingOpt_DoLinearCoreLintingOpt_DoLambdaEtaExpansionOpt_DoEtaReductionOpt_DoCoreLintingOpt_DoCmmLintingOpt_DoBoundsCheckingOpt_DoAsmLintingOpt_DoAnnotationLintingOpt_DmdTxDictSelOpt_DistrustAllPackagesOpt_DistinctConstructorTablesOpt_DictsStrictOpt_DictsCheapOpt_DiagnosticsShowCaretOpt_DeferTypedHolesOpt_DeferTypeErrorsOpt_DeferOutOfScopeVariablesOpt_DeferDiagnosticsOpt_D_faststring_statsOpt_D_dump_minimal_importsOpt_CrossModuleSpecialise Opt_CprAnalOpt_CompactUnwindOpt_CmmStaticPred Opt_CmmSinkOpt_CmmElimCommonBlocksOpt_CfgBlocklayoutOpt_CatchBottoms Opt_CaseMergeOpt_CaseFolding Opt_CallArityOpt_CSE Opt_ByteCodeOpt_BuildingCabalPackageOpt_BuildDynamicTooOpt_BreakOnExceptionOpt_BreakOnErrorOpt_AutoSccsOnIndividualCafsOpt_AutoLinkPackagesOpt_AsmShortcuttingOpt_AbstractRefHoleFitsOpt_AlignmentSanitisationDumpFlagOpt_D_verbose_stg2stgOpt_D_verbose_core2coreOpt_D_th_dec_fileOpt_D_source_statsOpt_D_ppr_debugOpt_D_no_debug_outputOpt_D_dump_worker_wrapperOpt_D_dump_vt_trace!Opt_D_dump_view_pattern_commoningOpt_D_dump_typesOpt_D_dump_timingsOpt_D_dump_tickedOpt_D_dump_tc_traceOpt_D_dump_tc_ast Opt_D_dump_tcOpt_D_dump_stranalOpt_D_dump_str_signaturesOpt_D_dump_stg_unarisedOpt_D_dump_stg_from_coreOpt_D_dump_stg_finalOpt_D_dump_splicesOpt_D_dump_specOpt_D_dump_simpl_traceOpt_D_dump_simpl_statsOpt_D_dump_simpl_iterationsOpt_D_dump_simplOpt_D_dump_rulesOpt_D_dump_rule_rewritesOpt_D_dump_rule_firingsOpt_D_dump_rttiOpt_D_dump_rn_traceOpt_D_dump_rn_statsOpt_D_dump_rn_ast Opt_D_dump_rnOpt_D_dump_prepOpt_D_dump_parsed_astOpt_D_dump_parsedOpt_D_dump_opt_cmmOpt_D_dump_occur_analOpt_D_dump_mod_mapOpt_D_dump_mod_cyclesOpt_D_dump_llvmOpt_D_dump_jsonOpt_D_dump_inliningsOpt_D_dump_if_traceOpt_D_dump_hieOpt_D_dump_hi_diffs Opt_D_dump_hiOpt_D_dump_foreignOpt_D_dump_faststringsOpt_D_dump_exitifyOpt_D_dump_ec_traceOpt_D_dump_ds_preopt Opt_D_dump_dsOpt_D_dump_derivOpt_D_dump_debugOpt_D_dump_cseOpt_D_dump_cs_traceOpt_D_dump_cpranalOpt_D_dump_cpr_signaturesOpt_D_dump_core_statsOpt_D_dump_cmm_verbose_by_procOpt_D_dump_cmm_verboseOpt_D_dump_cmm_switchOpt_D_dump_cmm_splitOpt_D_dump_cmm_spOpt_D_dump_cmm_sinkOpt_D_dump_cmm_rawOpt_D_dump_cmm_procmapOpt_D_dump_cmm_procOpt_D_dump_cmm_infoOpt_D_dump_cmm_from_stgOpt_D_dump_cmm_cpsOpt_D_dump_cmm_cfgOpt_D_dump_cmm_cbeOpt_D_dump_cmm_cafOpt_D_dump_cmmOpt_D_dump_cfg_weightsOpt_D_dump_call_arityOpt_D_dump_c_backendOpt_D_dump_asm_statsOpt_D_dump_asm_regalloc_stagesOpt_D_dump_asm_regallocOpt_D_dump_asm_nativeOpt_D_dump_asm_livenessOpt_D_dump_asm_expandedOpt_D_dump_asm_conflictsOpt_D_dump_BCOsOpt_D_dump_asmoptimisationFlagsGHC.Driver.Ppr warnPprTraceshowSDocForUser showSDocDump showSDocDebugshowSDocshowPpr printForUser printForCpprTraceWithFlags pprTraceM pprTraceItpprTraceException pprTraceDebugpprTrace pprSTracepprDebugAndThenGHC.Types.Basic TypeOrKind KindLevel TypeLevel TupleSort UnboxedTuple BoxedTupleConstraintTuple TopLevelFlag NotTopLevelTopLevel TailCallInfoAlwaysTailCalledNoTailCallInfoSwapFlag IsSwapped NotSwapped SuccessFlagFailed SucceededSpliceExplicitFlagExplicitSpliceImplicitSpliceRuleName RuleMatchInfoFunLikeConLikeRepArityRecFlag NonRecursive Recursive PromotionFlag IsPromoted NotPromotedPprPrecPhaseNum OverlapMode NoOverlap Overlappable Overlapping IncoherentOverlaps OverlapFlag overlapMode isSafeOverlapOrigin FromSource Generated OneShotInfo NoOneShotInfo OneShotLamOccInfoocc_tailocc_rules_onlyocc_n_br occ_int_cxt occ_in_lamOneOccManyOccsIAmALoopBreakerIAmDead LeftOrRightCLeftCRight JoinArityInterestingCxt IsInterestingNotInteresting IntWithInf InsideLam IsInsideLam NotInsideLam InlineSpecNoUserInlinePragNoInline InlinableInline InlinePragmainl_srcinl_satinl_rule inl_inlineinl_actFunctionOrDataIsData IsFunction FullArgCountEPtoEPfromEP DefMethSpec GenericDM VanillaDMConTagZConTag CompilerPhasePhase FinalPhase InitialPhase BranchCountBoxityBoxedUnboxedArity AlignmentalignmentBytes Activation NeverActive FinalActive AlwaysActive ActiveAfter ActiveBeforezapOccTailCallInfo zapFragileOcc worstOneShotweakLoopBreakerunSwaptupleSortBoxity tupleParenstreatZeroAsInftopPrec tailCallInfo sumParens successIf succeededstrongLoopBreakerstarPrecsigPrecsetOverlapModeMaybesetInlinePragmaRuleMatchInfosetInlinePragmaActivation seqOccInfo pprRuleNamepprInlineDebug pprInlinepprAlternativepickLRopPrec oneBranchnoUserInlineSpec noOneShotInfo noOccInfoneverInlinePragma mkIntWithInf mkAlignment maybeParenisWeakLoopBreaker isTypeLevel isTopLevel isSwappedisStrongLoopBreakerisRec isPromoted isOneShotInfoisOneOcc isNotTopLevelisNonRec isNoOccInfo isNeverActive isManyOccs isKindLevelisInlinePragmaisInlinablePragma isGenerated isFunLikeisDefaultInlinePragma isDeadOcc isConLikeisBoxedisAnyInlinePragmaisAlwaysTailCalledisAlwaysActiveisActive intGtLimitinlinePragmaSpecinlinePragmaSatinlinePragmaRuleMatchInfoinlinePragmaActivationinfinityhasOverlappingFlaghasOverlappableFlaghasNoOneShotInfohasIncoherentFlagfunPrecflipSwapfailed fIRST_TAGdfunInlinePragmadefaultInlinePragma competesWithboxityTupleSort boolToRecFlag bestOneShotappPrecalwaysInlinePragma alignmentOfactiveInFinalPhaseactivateDuringFinalactivateAfterInitialGHC.Types.FieldLabelFieldLabelString FieldLabel flSelectorflLabelflHasFieldSelectorflHasDuplicateRecordFieldsGHC.Types.Fixity LexicalFixityInfixPrefixFixityDirectionInfixRInfixLInfixNFixity negateFixity minPrecedence maxPrecedence funTyFixity defaultFixity compareFixityIdInfo unfoldingInfostrictnessInforuleInfooccInfolfInfoinlinePragInfocprInfo demandInfo IdDetails sel_tycon sel_naughty VanillaId TickBoxOpIdRecSelIdPrimOpIdFCallId DataConWrapId DataConWorkIdCoVarId ClassOpId vanillaIdInfo pprIdDetailsisCoVarDetails coVarDetailsidNameVarBndrBndrvarTypevarMultvarNameTyVarTyCoVarTcTyVar Specificity InferredSpec SpecifiedSpec InvisTVBinderIdArgFlag SpecifiedRequiredInferred Invisible AnonArgFlagInvisArgVisArgGHC.Types.SourceText SourceText NoSourceText mkIntegralLitGHC.Unit.Module HasModule getModuleContainsModule extractModuleuninstantiateInstantiatedUnituninstantiateInstantiatedModulestableModuleCmpmoduleStableStringmoduleIsDefinite mkHoleModule isHoleModuleinstalledModuleEqgetUnitInstantiationsgetModuleInstantiationGHC.Unit.Module.Env ModuleSet ModuleNameEnv ModuleEnvInstalledModuleEnvDModuleNameEnv unitModuleSet unitModuleEnvunionModuleSetplusModuleEnv_C plusModuleEnv moduleSetEltsmoduleEnvToList moduleEnvKeys moduleEnvElts mkModuleSet mkModuleEnvminusModuleSet mapModuleEnvlookupWithDefaultModuleEnvlookupModuleEnvlookupInstalledModuleEnvisEmptyModuleEnvintersectModuleSetfilterModuleEnvfilterInstalledModuleEnvextendModuleSetListextendModuleSetextendModuleEnvWithextendModuleEnvList_CextendModuleEnvListextendModuleEnvextendInstalledModuleEnvemptyModuleSetemptyModuleEnvemptyInstalledModuleEnv elemModuleSet elemModuleEnv delModuleSetdelModuleEnvList delModuleEnvdelInstalledModuleEnvGHC.Unit.Module.Location ModLocation ml_obj_file ml_hs_file ml_hie_file ml_hi_fileremoveBootSuffixaddBootSuffix_maybeaddBootSuffixLocnOutaddBootSuffixLocn addBootSuffixGHC.Unit.TypesUnitKeyModuleWithIsBootModuleNameWithIsBootIsUnitIdunitFSIsBootInterfaceIsBootNotBootInstantiationsInstantiatedUnitInstantiatedModuleInstalledModule GenWithIsBootgwib_modGWIB gwib_isBootGenInstantiationsGenInstantiatedUnit instUnitKey instUnitInstsinstUnitInstanceOf instUnitHoles instUnitFSDefinite unDefinite DefUnitIdwiredInUnitIds virtualUnitId unitStringunitIsDefinite unitIdStringunitFreeModuleHolestoUnitId thisGhcUnitId thisGhcUnitthUnitIdthUnitstringToUnitId stringToUnit stableUnitCmp rtsUnitIdrtsUnit primUnitIdprimUnitpprInstantiatedModulemoduleFreeHoles mkVirtUnitmkModulemkInstantiatedUnitHashmkInstantiatedUnitmapInstantiations mapGenUnit mainUnitIdmainUnitisInteractiveModule isHoleUnitinteractiveUnitIdinteractiveUnitfsToUnit bignumUnitId bignumUnit baseUnitIdbaseUnitGHC.Unit.Module.NamestableModuleNameCmp pprModuleNameparseModuleNamemoduleNameStringmoduleNameSlashes moduleNameFSmoduleNameColonsmkModuleNameFS mkModuleName NamedThinggetName getOccNameName tidyNameOcc setNameUnique nameUnique nameOccNameUnhelpfulSpanReasonUnhelpfulWiredInUnhelpfulOtherUnhelpfulNoLocationInfoUnhelpfulGeneratedUnhelpfulInteractive RealSrcSpan UnhelpfulSpanSrcLoc RealSrcLoc UnhelpfulLoc srcSpanFile RealLocatedPsSpan psRealSpan psBufSpan PsLocatedPsLoc psRealLocpsBufPosLocated LayoutInfo VirtualBracesExplicitBraces NoLayoutInfo GenLocatedLBufSpan bufSpanStart bufSpanEndBufPosbufPoswiredInSrcSpanunhelpfulSpanFS unRealSrcSpanunLocsrcSpanToRealSrcSpansrcSpanStartLinesrcSpanStartCol srcSpanStartsrcSpanFirstCharactersrcSpanFileName_maybesrcSpanEndLine srcSpanEndCol srcSpanEnd srcLocSpan srcLocLine srcLocFile srcLocColspanssortRealLocated sortLocatedrightmost_smallestrealSrcSpanStartrealSrcSpanEndrealSrcLocSpan psSpanStart psSpanEnd pprUserSpanpprUserRealSpanpprUnhelpfulSpanReason pprLocated noSrcSpannoSrcLoc mkSrcSpanPs mkSrcSpanmkSrcLoc mkRealSrcSpan mkRealSrcLocmkPsSpanmkGeneralSrcSpanmkGeneralSrcLocmkGeneralLocatedmapLoc lookupSrcSpan lookupSrcLocliftLleftmost_smallestleftmost_largestleftmostColumnisZeroWidthSpan isSubspanOfisRealSubspanOf isOneLineSpan isGoodSrcSpanisGeneratedSrcSpaninteractiveSrcSpaninteractiveSrcLocgetRealSrcSpangetLoc getBufSpan getBufPosgeneratedSrcSpangeneratedSrcLoc eqLocated containsSpancombineSrcSpanscombineRealSrcSpans combineLocs cmpLocated cmpBufSpan advanceSrcLoc advancePsLoc advanceBufPosaddCLocGHC.Data.FastString.Env FastStringEnvmkFsEnv lookupFsEnv extendFsEnv emptyFsEnvGHC.Types.Unique.SetUniqSetunsafeUFMToUniqSet unitUniqSetuniqSetMinusUFMuniqSetMinusUDFM uniqSetAny uniqSetAll unionUniqSetsunionManyUniqSets sizeUniqSetrestrictUniqSetToUFM pprUniqSetpartitionUniqSetnonDetStrictFoldUniqSetnonDetKeysUniqSetnonDetEltsUniqSet mkUniqSet minusUniqSet mapUniqSetlookupUniqSet_Directly lookupUniqSetisEmptyUniqSetintersectUniqSets getUniqSetfilterUniqSet_Directly filterUniqSet emptyUniqSetelementOfUniqSetelemUniqSet_DirectlydisjointUniqSetsdelOneFromUniqSet_DirectlydelOneFromUniqSetdelListFromUniqSet_DirectlydelListFromUniqSetaddOneToUniqSetaddListToUniqSetGHC.Types.Unique.FMUniqFM NonDetUniqFM getNonDetzipToUFMunsafeIntMapToUFMunsafeCastUFMKeyunitUFMunitDirectlyUFMufmToSet_Directly ufmToIntMapsizeUFM seqEltsUFM pprUniqFMpprUFMWithKeyspprUFM plusUFM_CD2 plusUFM_CD plusUFM_C plusUFMListplusUFMplusMaybeUFM_C pluralUFM partitionUFMnonDetUFMToListnonDetStrictFoldUFM_DirectlynonDetStrictFoldUFM nonDetKeysUFM nonDetEltsUFMminusUFMmergeUFMmapUFM_DirectlymapUFM mapMaybeUFMlookupWithDefaultUFM_DirectlylookupWithDefaultUFMlookupUFM_Directly lookupUFMlistToUFM_Directly listToUFM_C listToUFMlistToIdentityUFM isNullUFMintersectUFM_C intersectUFMfoldUFMfilterUFM_Directly filterUFM equalKeysUFMemptyUFMeltsUFMelemUFM_DirectlyelemUFM disjointUFMdelListFromUFM_DirectlydelListFromUFMdelFromUFM_Directly delFromUFManyUFMalterUFMallUFMadjustUFM_Directly adjustUFMaddToUFM_Directly addToUFM_C addToUFM_AccaddToUFMaddListToUFM_DirectlyaddListToUFM_C addListToUFMGHC.Types.Unique.Supply UniqSupplyUniqSM MonadUnique getUniquesM getUniqueMgetUniqueSupplyMuniqsFromSupplyuniqFromSupply uniqFromMasktakeUniqFromSupplysplitUniqSupplymkSplitUniqSupplylistSplitUniqSupplyinitUs_initUsinitUniqSupplyGHC.Types.UniqueUnique Uniquable getUniqueGHC.Utils.Panic GhcException UsageErrorSorry ProgramErrorPprSorryPprProgramErrorPprPanicPanicInstallationErrorSignal CmdLineErrorwithSignalHandlerstryMostthrowGhcExceptionIOthrowGhcExceptionsorryDocshowGhcExceptionUnsafeshowGhcException showExceptionsafeShowExceptionpprPanic pgmErrorDocpanicDochandleGhcException callStackDocassertPprPanicGHC.Utils.OutputableQueryQualifyPackageQueryQualifyNameQueryQualifyModule QualifyName NameUnqualNameQualNameNotInScope1NameNotInScope2PrintUnqualifiedqueryQualifyPackagequeryQualifyName QueryQualifyqueryQualifyModulePDoc OutputablePpdocOutputableBndr pprPrefixOcc pprInfixOccbndrIsJoin_maybepprBndr Outputableppr LabelStyleAsmStyleCStyleDepthPartWay AllTheWay DefaultDepth BindingSiteLetBind LambdaBindCaseBind CasePatBindztextword withUserStyle withPprStyle withErrStyle whenPprDebugvcatvbar userStyleupdSDocContext unicodeSyntax underscorespeakNthspeakNOfspeakNspaceshowSDocUnsafeshowSDocOneLine showPprUnsafesetStyleColouredsepsemisdocWithContext sdocOptionrunSDocrparenrenderWithContextreallyAlwaysQualifyNamesreallyAlwaysQualifyrbrackrbracerationalquotesquotedListWithOrquotedListWithNorquote queryQual qualPackagequalName qualModule punctuateptext printSDocLn printSDocprimWordSuffixprimWord8SuffixprimWord64SuffixprimWord32SuffixprimWord16Suffix primIntSuffixprimInt8SuffixprimInt64SuffixprimInt32SuffixprimInt16SuffixprimFloatSuffixprimDoubleSuffixprimCharSuffix pprWithCommas pprWithBars pprSetDepth pprQuotedList pprPrimWord8 pprPrimWord64 pprPrimWord32 pprPrimWord16 pprPrimWord pprPrimInt8 pprPrimInt64 pprPrimInt32 pprPrimInt16 pprPrimInt pprPrimChar pprPrefixVar pprInfixVar pprHsString pprHsChar pprHsBytespprFilePathStringpprFastFilePath pprDeeperList pprDeeperpprCode ppWhenOptionppWhenppUnlessOptionppUnlesspluralparensneverQualifyPackagesneverQualifyNamesneverQualifyModules neverQualifynestmulArrow mkUserStyle mkErrStyle mkDumpStylelparenlollipoplbracklbracelarrowttlarrowtlarrowlambdakeyword itsOrTheirisOrAreisEmpty interppSP interpp'SP' interpp'SPinteger intWithCommasint ifPprDebughsephcat hangNotEmptyhang getPprStyle getPprDebugftextfsep forAllLitfloatfcatequalsempty dumpStyle doubleQuotes doublePrecdoubledot docToSDocdoOrDoesdefaultUserStyledefaultSDocContextdefaultErrStyledefaultDumpStyledcolondarrowcparencommacolouredcolon codeStylecmdlineParserStylecharcatbulletbufLeftRenderSDocbracketsbraces blankLineasmStylearrowttarrowtarrow angleBracketsalwaysQualifyPackagesalwaysQualifyNamesalwaysQualifyModules alwaysQualify<+>$+$$$OccName occNameFS occNameSpace HasOccNameoccName occNameString mkVarOccFSmkRecFldSelOccGHC.Data.FastString PtrStringNonDetFastStringLexicalFastString FastZString FastStringuniqn_charsfs_zencfs_sbszString zEncodeFSunsafeMkByteStringunpackPtrStringunpackFS uniqueOfFS uniqCompareFSunconsFSsLitnullFSnilFS mkPtrString# mkPtrStringmkFastStringShortByteStringmkFastStringBytesmkFastStringByteStringmkFastStringByteList mkFastString# mkFastStringlexicalCompareFSlengthPS lengthFZSlengthFSisUnderscoreFSheadFShPutFZShPutFSgetFastStringZEncCountergetFastStringTablefsLitfastZStringToByteStringfastStringToShortByteStringfastStringToByteStringconsFSconcatFSbytesFSappendFSDynFlags warningFlagswarnUnsafeOnLoc warnSafeOnLoc verbosity useUnicodeuseColoruniqueIncrement unfoldingOptstrustworthyOnLoc trustFlags toolSettingsthOnLoc targetWays_stubDirstrictnessBefore sseVersion splitInfospecConstrThresholdspecConstrRecursivespecConstrCountsolverIterationssimplTickFactor simplPhases safeInferred safeInfer safeHaskell ruleCheckrtsOptsSuggestionsrtsOptsEnabledrtsOptsrtldInfortccInfo reverseErrorsrefLevelHoleFitsreductionDepth rawSettingsprofAuto pprUserLengthpprColspluginPackageFlagspluginModNamespluginModNameOpts platformMisc pkgTrustOnLoc parMakeCount packageFlags packageEnvpackageDBFlagsoverlapInstLocoutputHi outputFile_optLevel objectSuf_ objectDirnextWrapperNum newDerivOnLoc maxWorkerArgsmaxValidHoleFitsmaxUncoveredPatternsmaxSimplIterationsmaxRelevantBindsmaxRefHoleFitsmaxPmCheckModelsmaxInlineMemsetInsnsmaxInlineMemcpyInsnsmaxInlineAllocSize maxErrorsmainModuleNameIs mainFunIs llvmConfigliftLamsRecArgsliftLamsNonRecArgs liftLamsKnown libraryPathsliberateCaseThresholdldInputslanguageinteractivePrint inlineCheck initialUniqueincoherentOnLoc includePaths importPathsignorePackageFlagshpcDirhomeUnitInstantiations_homeUnitInstanceOf_ homeUnitId_ historySizehieSufhieDirhiSuf_hiDirhcSufhaddockOptions ghciScripts ghciHistSizeghcVersionFileghcNameVersionghcModeghcLink ghcHeapSize generalFlagsfrontendPluginOptsframeworkPathsflushOutflushErr floatLamArgs fileSettingsfatalWarningFlags extensionsextensionFlagsenableTimeStatsdynamicTooFailed dynamicNow dynOutputHidynOutputFile_ dynObjectSuf_ dynLibLoader dynHiSuf_dylibInstallNamedumpPrefixForce dumpPrefix dumpFlagsdumpDirderiveViaOnLoc depSuffixes depMakefiledepIncludePkgDepsdepIncludeCppDepsdepExcludeMods debugLevel colSchemecmmProcAlignmentcmdlineFrameworks cfgWeights canUseColorcallerCcFilters bmiVersionbinBlobThresholdavx512pfavx512favx512eravx512cdavx2avxtargetPlatformbackendinitSDocContext hasPprDebughasNoDebugOutput GHC.SettingsSettings sToolSettingssTargetPlatform sRawSettings sPlatformMiscsGhcNameVersion sFileSettingsGhcNameVersionghcNameVersion_projectVersionghcNameVersion_programName FileSettingsfileSettings_topDirfileSettings_toolDirfileSettings_tmpDir"fileSettings_globalPackageDatabasefileSettings_ghciUsagePathfileSettings_ghcUsagePathsTopDirsToolDirsTmpDirsTargetPlatformStringsProjectVersion sProgramName sPgm_windres sPgm_ranlibsPgm_losPgm_lm sPgm_libtoolsPgm_lccsPgm_lcsPgm_lsPgm_isPgm_dllsPgm_csPgm_arsPgm_asPgm_TsPgm_PsPgm_LsPgm_F sOpt_windressOpt_losOpt_lmsOpt_lccsOpt_lcsOpt_lsOpt_isOpt_cxxsOpt_csOpt_asOpt_P_fingerprintsOpt_PsOpt_LsOpt_FsLibFFIsLdSupportsFilelistsLdSupportsCompactUnwindsLdSupportsBuildId sLdIsGnuLdsGlobalPackageDatabasePathsGhciUsagePath sGhcWithSMPsGhcWithInterpreter sGhcUsagePathsGhcRtsWithLibdw sGhcRTSWayssGccSupportsNoPiesExtraGccViaCFlags GHC.Platform PlatformMisc!platformMisc_targetPlatformStringplatformMisc_llvmTargetplatformMisc_libFFIplatformMisc_ghcWithSMPplatformMisc_ghcWithInterpreterplatformMisc_ghcRtsWithLibdwplatformMisc_ghcRTSWaysGHC.Utils.MiscSuffixOverridingBoolNeverAlwaysAutoHasDebugCallStack Direction BackwardsForwards zipWithLazy zipWithEqualzipWithAndUnzip zipWith4Equal zipWith3Lazy zipWith3EqualzipLazyzipEqual zipAndUnzipwithAtomicRename whenNonEmpty unzipWithuncurry3transitiveClosure toCmdArgstoArgsthird3thenCmpthdOf3takeList strictZipWith strictMapstretchZipWithsplitLongestPrefix splitAtListsplitspanEndsnocViewsndOf3snd3 singletonseqListsecondMreslash removeSpacesreadSignificandExponentPair readRationalreadHexSignificandExponentPairreadHexRational partitionWithpartitionByList overrideWithordNubonlynubSortnotNullnTimesmodificationTimeIfExistsminWith mergeListsBymapSndmapLastMmapFst mapAndUnzip3 mapAndUnzipmakeRelativeToltLengthlooksLikePackageNamelooksLikeModuleName listLengthCmpliftSndliftFstlengthLessThan lengthIsNotlengthIs lengthExceeds lengthAtMost lengthAtLeastleLength lastMaybelast2isn'tIn isWindowsHost isSortedBy isSingletonisInisEqual isDarwinHost hashString ghciSupportedgetModificationUTCTimegetCmd fuzzyMatch fuzzyLookupfstOf3fst3foldl2firstMfirst3M filterOut filterByLists filterByList exactLog2 escapeSpaces equalLength eqMaybeByeqListBydropWhileEndLEdropTaildropListdoesDirNameExist debugIsOn countWhilecount compareLengthcmpList chunkList chkAppendcharToC changeLast capitaliseatLength applyWhenall2abstractDataTypeabstractConstr<||><&&>GHC.Utils.Panic.PlainsorryprogNamepgmErrorpaniccmdLineErrorIO cmdLineError assertPanic UnitStatewireMap unwireMap unitInfoMaprequirementContext preloadUnitspreloadClosurepluginModuleNameProvidersMappackageNameMapmoduleNameProvidersMap explicitUnitsallowVirtualUnits UnitDatabaseunitDatabaseUnitsunitDatabasePath unwireUnitpprWithUnitStatepprUnitIdForUseremptyUnitStateUnitIdunitIdFSUnitModule Indefinite indefUnit IndefUnitIdGenUnitVirtUnitHoleUnitRealUnit GenModule moduleUnit moduleName pprModule SDocContextsdocUnitIdForUsersdocSuppressVarKindssdocSuppressUniquessdocSuppressUnfoldingssdocSuppressTypeSignaturessdocSuppressTypeApplicationssdocSuppressTickssdocSuppressStgExtssdocSuppressModulePrefixessdocSuppressIdInfosdocSuppressCoercions sdocStylesdocStarIsTypesdocShouldUseColorsdocPrintUnicodeSyntaxsdocPrintTypecheckerElaborationsdocPrintTypeAbbreviationssdocPrintPotentialInstancessdocPrintExplicitRuntimeRepssdocPrintExplicitKindssdocPrintExplicitForallssdocPrintExplicitCoercionssdocPrintEqualityRelationssdocPrintCaseAsLetsdocPrintAxiomIncomps sdocPprDebugsdocLinearTypessdocLineLengthsdocLastColoursdocImpredicativeTypessdocHexWordLiteralssdocErrorSpanssdocDefaultDepth sdocColSchemeSDCsdocCanUseUnicodeSDocPprStylePprUserPprCodePprDumptextGHC.Utils.CliOptionOption FileOptionshowOpt ModuleName HoleFitPlugin fitPlugin candPluginGHC.Data.FiniteMapinsertListWith insertListfoldRightWithKey foldRight deleteList StaticPluginspPlugin LoadedPluginlpPluginlpModuleGHC.Platform.ConstantsPlatformConstants pc_WORD_SIZEpc_TICKY_BIN_COUNT pc_TAG_BITSpc_STD_HDR_SIZEpc_SIZEOF_StgUpdateFrame_NoHdr"pc_SIZEOF_StgSmallMutArrPtrs_NoHdrpc_SIZEOF_StgSMPThunkHeaderpc_SIZEOF_StgMutArrPtrs_NoHdrpc_SIZEOF_StgFunInfoExtraRevpc_SIZEOF_StgArrBytes_NoHdrpc_SIZEOF_CostCentreStackpc_RESERVED_STACK_WORDSpc_RESERVED_C_STACK_BYTESpc_REP_StgFunInfoExtraRev_aritypc_REP_StgFunInfoExtraFwd_aritypc_REP_StgEntCounter_allocspc_REP_StgEntCounter_allocd pc_REP_CostCentreStack_scc_count pc_REP_CostCentreStack_mem_allocpc_PROF_HDR_SIZEpc_OFFSET_stgGCFunpc_OFFSET_stgGCEnter1pc_OFFSET_stgEagerBlackholeInfopc_OFFSET_bdescr_startpc_OFFSET_bdescr_freepc_OFFSET_bdescr_flagspc_OFFSET_bdescr_blocks pc_OFFSET_StgUpdateFrame_updateepc_OFFSET_StgTSO_stackobjpc_OFFSET_StgTSO_cccspc_OFFSET_StgTSO_alloc_limitpc_OFFSET_StgStack_stackpc_OFFSET_StgStack_sp!pc_OFFSET_StgSmallMutArrPtrs_ptrspc_OFFSET_StgRegTable_rZMM6pc_OFFSET_StgRegTable_rZMM5pc_OFFSET_StgRegTable_rZMM4pc_OFFSET_StgRegTable_rZMM3pc_OFFSET_StgRegTable_rZMM2pc_OFFSET_StgRegTable_rZMM1pc_OFFSET_StgRegTable_rYMM6pc_OFFSET_StgRegTable_rYMM5pc_OFFSET_StgRegTable_rYMM4pc_OFFSET_StgRegTable_rYMM3pc_OFFSET_StgRegTable_rYMM2pc_OFFSET_StgRegTable_rYMM1pc_OFFSET_StgRegTable_rXMM6pc_OFFSET_StgRegTable_rXMM5pc_OFFSET_StgRegTable_rXMM4pc_OFFSET_StgRegTable_rXMM3pc_OFFSET_StgRegTable_rXMM2pc_OFFSET_StgRegTable_rXMM1pc_OFFSET_StgRegTable_rSpLimpc_OFFSET_StgRegTable_rSppc_OFFSET_StgRegTable_rR9pc_OFFSET_StgRegTable_rR8pc_OFFSET_StgRegTable_rR7pc_OFFSET_StgRegTable_rR6pc_OFFSET_StgRegTable_rR5pc_OFFSET_StgRegTable_rR4pc_OFFSET_StgRegTable_rR3pc_OFFSET_StgRegTable_rR2pc_OFFSET_StgRegTable_rR10pc_OFFSET_StgRegTable_rR1pc_OFFSET_StgRegTable_rL1pc_OFFSET_StgRegTable_rHpLimpc_OFFSET_StgRegTable_rHpAllocpc_OFFSET_StgRegTable_rHppc_OFFSET_StgRegTable_rF6pc_OFFSET_StgRegTable_rF5pc_OFFSET_StgRegTable_rF4pc_OFFSET_StgRegTable_rF3pc_OFFSET_StgRegTable_rF2pc_OFFSET_StgRegTable_rF1pc_OFFSET_StgRegTable_rD6pc_OFFSET_StgRegTable_rD5pc_OFFSET_StgRegTable_rD4pc_OFFSET_StgRegTable_rD3pc_OFFSET_StgRegTable_rD2pc_OFFSET_StgRegTable_rD1!pc_OFFSET_StgRegTable_rCurrentTSO%pc_OFFSET_StgRegTable_rCurrentNurserypc_OFFSET_StgRegTable_rCCCSpc_OFFSET_StgMutArrPtrs_sizepc_OFFSET_StgMutArrPtrs_ptrspc_OFFSET_StgHeader_ldvwpc_OFFSET_StgHeader_ccs"pc_OFFSET_StgFunInfoExtraRev_arity"pc_OFFSET_StgFunInfoExtraFwd_arity#pc_OFFSET_StgEntCounter_registeredppc_OFFSET_StgEntCounter_link#pc_OFFSET_StgEntCounter_entry_countpc_OFFSET_StgEntCounter_allocspc_OFFSET_StgEntCounter_allocdpc_OFFSET_StgArrBytes_bytes#pc_OFFSET_CostCentreStack_scc_count#pc_OFFSET_CostCentreStack_mem_allocpc_OFFSET_Capability_rpc_MUT_ARR_PTRS_CARD_BITSpc_MIN_PAYLOAD_SIZEpc_MIN_INTLIKEpc_MIN_CHARLIKEpc_MAX_XMM_REGpc_MAX_Vanilla_REGpc_MAX_SPEC_SELECTEE_SIZEpc_MAX_SPEC_AP_SIZEpc_MAX_Real_XMM_REGpc_MAX_Real_Vanilla_REGpc_MAX_Real_Long_REGpc_MAX_Real_Float_REGpc_MAX_Real_Double_REGpc_MAX_Long_REGpc_MAX_INTLIKEpc_MAX_Float_REGpc_MAX_Double_REGpc_MAX_CHARLIKE pc_LDV_SHIFTpc_ILDV_STATE_USEpc_ILDV_STATE_CREATEpc_ILDV_CREATE_MASKpc_CONTROL_GROUP_CONST_291 pc_CLONG_SIZEpc_CLONG_LONG_SIZE pc_CINT_SIZE pc_BLOCK_SIZEpc_BLOCKS_PER_MBLOCKpc_BITMAP_BITS_SHIFTpc_AP_STACK_SPLIMGHC.Unit.DatabaseGenericUnitInfounitAbiDepends unitAbiHash unitCcOptionsunitComponentName unitDependsunitExposedModulesunitExtDepFrameworkDirsunitExtDepFrameworksunitExtDepLibsGhcunitExtDepLibsSysunitHaddockHTMLsunitHaddockInterfacesunitHiddenModulesunitIdunitImportDirsunitIncludeDirs unitIncludesunitInstanceOfunitInstantiations unitIsExposedunitIsIndefinite unitIsTrusted unitLibrariesunitLibraryDirsunitLibraryDynDirsunitLinkerOptions unitPackageIdunitPackageNameunitPackageVersionghc-boot-th-9.2.4GHC.ForeignSrcLang.TypeForeignSrcLang RawObject LangObjcxxLangObjcLangCxxLangCLangAsm InheritLoc inheritLoc ToSrcSpan toSrcSpan LHsTyVarBndr HsTyVarBndr HasDefaultExtdefExt NameCacheIOLRdrName LHsModuleconPat mkFunBindtakeUniqFromNameCacheIOhscNameCacheIO withDefExthsFunTy userTyVar kindedTyVarsetDefaultSpecificity withoutLoc freshName MonadFresh freshName' runFreshHscmkExpVarmkTyCon viewExpVar viewTyVar viewTyConviewVarEviewConElamE1appTypeEintEviewVarTviewConTstringTappsTfunTtupTviewRecC forallRecC viewDataD derivClauseviewDerivClauseviewTypeAnnotation simpleBinding simpleGHRSsPragAnnDTypeAnnotation DerivClauseDataDRecCConTVarTRecUpdEConEVarEExpVar tyVarBndrName ExceptionUnsupportedStockDerivingUnsupportedStrategyInvalidDeclaration exceptionLocexceptionToSDocgetQualifiedNamesUnqualifiedNames unq_type_Eq unq_type_Int unq_type_Ord unq_type_Show unq_compareunq_eq unq_error unq_showsPrecQualifiedNameshasFieldtype_Constrainttype_GHC_Generic type_GHC_Rep type_Proxy type_Typeghc_fromghc_to type_AnyArraytype_LR_Generictype_LR_MetadataOftype_LR_Constraintslr_fromlr_tolr_dict lr_metadatatype_Rep type_Dicttype_ThroughLRGenerics type_HasFieldgetUnqualifiedNamesgetLargeRecordOptionsRecordDeriving StockDerivingRecord recordAnnLocDeriveAnyClass DeriveStockShowOrdEqField fieldNamefieldStrictness fieldType fieldIndex recordTyName recordTyVars recordConName recordFieldsrecordDerivings recordOptions viewRecordgenLargeRecord genDatatypegenVectorConversionsgenIndexedAccessorgenUnsafeSetIndexgenTogenHasFieldInstancegenConstraintsClassgenRequiredConstraintsgenDictgenConstraintsInstance genMetadatagenFromgenGenericInstancegenStockInstancesgenStockInstance genGHCGeneric recordTypeT mkDerivedproxyE*record-hasfield-1.0-E2C6vFF7RAK4MRP4MokC8CGHC.Records.CompatGHC.Base++ghc-primGHC.Primseqfilterzip System.IOprint Data.Tuplefstsnd otherwisemap$GHC.Real fromIntegral realToFracGHC.EnumBoundedminBoundmaxBoundEnumsuccpredtoEnumfromEnumenumFrom enumFromThen enumFromToenumFromThenTo GHC.Classes==/= GHC.FloatFloatingtanhtansqrtsinhsinpilogBaselogexpcoshcosatanhatanasinhasinacosh**acos Fractionalrecip fromRational/IntegralremquotRemquotmoddivMod toIntegerdivMonad>>=return>>Functorfmap<$GHC.NumNumsignumabs*+negate fromInteger-<<=>maxmin>=compareGHC.ReadReadreadList readsPrecReal toRational RealFloat significand scaleFloatisNegativeZeroisNaN isInfiniteisIEEEisDenormalized floatRange floatRadix floatDigitsexponent encodeFloatatan2 decodeFloatRealFractruncateroundproperFractionceilingfloorGHC.ShowshowListshow showsPrecControl.Monad.Fail MonadFailfail Applicative<*pure*><*> Data.FoldableFoldablefoldMapsumproductminimummaximumfoldr1foldl1elemlengthfoldlfoldrnullData.Traversable Traversablesequence sequenceAtraversemapM Semigroup<>Monoidmemptymconcatmappend GHC.TypesBoolFalseTrueStringCharDoubleFloatInt ghc-bignumGHC.Num.IntegerInteger GHC.MaybeMaybeNothingJustOrderingGTLTEQRationalIOWord Data.EitherEitherLeftRight Data.Functor<$>const.id Text.Readread writeFilereadLnreadIOreadFileputStrLnputStrputCharinteractgetLine getContentsgetChar appendFileGHC.IO.ExceptionioErrorGHC.IOFilePathIOError userError sequence_ornotElemmapM_ concatMapconcatanyandall Data.OldListwordsunwordsunlineslinesreadseither readParenlexText.ParserCombinators.ReadPReadSoddlcmgcdeven^^^ShowSshows showString showParenshowCharzipWith3zipWithzip3unzip3unzip takeWhiletaketailsplitAtspanscanr1scanrscanl1scanlreverse replicaterepeatlookuplastiterateinithead dropWhiledropcyclebreak!! Data.MaybemaybeuncurrycurrysubtractuntilflipasTypeOf=<<$!GHC.Err undefinederrorWithoutStackTraceerror&&not||RequiredExtension